I have been on the fringes of computer programming for a long time. My dad is a programmer and has been since before I was born. I work providing customer support for his program.
As a math major in college, I studied algorithms for programs to solve math problems. The classes were focused on the math side rather than on learning any particular programming language.
A few times, I’ve decided to learn Java or Fortran or Android Programming and made it as far as installing the needed software and making a few simple programs. For one reason or another, I never stuck with it long enough to make real progress.
Then in November 2017 I found out about the Grow with Google scholarship offered by Google in collaboration with Udacity. They offered an option for web development or Android programming and I applied for the Android programming path.
Thinking about this made me realize how much I wanted to really dive in and learn to program. (I wrote a post in December about why I want to learn to program.)
It would take a couple of months before I heard back about the scholarship, but in the meantime, I started to explore Udacity’s offerings. They have a bunch of free classes on all sorts of different technical fields – Android programming, iOS programming, self-driving cars, web development and other cool sounding topics.
I dove in! I took the classes on Git/Github, beginning java, object oriented programming in java, and the first part of the beginning Android series.
(Git is a version control system designed for programmers. It makes it easy to restore previous versions of code and to collaborate by independently working on different features and then merging them. Github is a website that hosts Git repositories so people can collaborate on them. )
In January I was exploring Github and I found the source code for an open-source habit app that I use (https://github.com/iSoron/uhabits). I felt so accomplished to be able to find it, fork it (copy it), and open it in Android Studio.
Once I opened it, I had no idea what any of the stuff in the project meant. I felt intimidated and lost. My newfound excitement for seeing how this app worked turned into discouragement at how confusing it all looked.
I thought, “I took that Java class. I should be able to understand this.” I didn’t understand it. Not even a little bit. I closed the window and didn’t look back.
OK, I lied. I did look back. A few days later I found out I was accepted for the scholarship. A month and a half later I was half way through the scholarship class and I thought, “I wonder if any of that would make sense now. I’ll open it up and just take a look around.”
When I looked at it again, so much more of it made sense! There were still some parts I didn’t understand. OK, a lot of parts I didn’t understand.
Something had changed. The parts I didn’t understand had pieces that seemed familiar. Sort of like reading a scientific paper in a field I’m not familiar with. There were words and whole concepts that didn’t make sense, but at least I felt like it was in my language!
Wow. It feels good. It is amazing how much we can learn and develop even in a few short months.