A 6th grade boy fascinated by technology gets a link in his email. This link leads to a website he has never heard or seen before, but he still clicks on it. He ends up on a Udacity course titled Web Crawler — CS101.
That boy was me back in 2010 and that email was from my mother, who has a background in engineering and computers. She wanted me to start exploring the world of computer science by using this online video tutorial. Taking my mother’s advice, I started learning how to code Python from this website. Initially, I was very exited to do this course. Everyday after school, I’d quickly finish my homework so I move on to this “fun” stuff.
Now you may be surprised how eager a 12 year old was to program while his friends were outside playing. You see, I didn’t want to learn how to make this web crawler, I just wanted to make one or “download” one in a way. That was the reason I gave up on it 3 weeks into the course when things started getting more complex. I grew this fear of programming that it was not for me.
2 years later I had a spark that interested me to make an iOS application and I gave programming another shot. I looked into it and Xcode seemed pretty straightforward. Drag & drop storyboarding, minimal programming, simple interface, all the things needed for an easy app development experience. There was just one problem; I didn't own a Mac. So I did what any sensible person would do, research ways to develop iOS apps on Windows. I downloaded something which was decent, but the trial only lasted me so long.
I eventually got a Mac Mini for my birthday and started learning Xcode and Objective-C (probably one of the worst languages to start learning programming with, I know) with yet again, a video tutorial. But I made the same mistake I made when I tried making the web crawler. I wanted to rush to the end and finish the app, without ever learning to code. My goal was to design the app in storyboard, copy the code from online, and voila, the app is done. This, as you may have predicted, also ended up as a failure as I quit after a couple of months.
Months passed by but I never thought about programming again. But it all changed when my cousin visited me during the holidays. He was a 12th grade high school student who had developed a popular game with over 300,000 downloads on the Google Play Store. This was my inspiration to start learning Android development, so he set up Android Studio on my computer and taught me some XML. There I was again, having an app idea but no motivation to learn how to code. As you may have guessed, I found a video tutorial online by XDA Developers and I started on my journey but failed once again. I didn't learn how to code, I just copy and pasted others code which can only get you so far.
At that point, I had absolutely given up on the idea of programming and completely ruled that out as a career path. Many months later, I received my schedule for the following year in the mail and I remembered that I had chosen computer science as an elective, before I gave up on Android. Knowing that marks are critical, I wanted to do well in the class so I decided to get a head start. I wanted to do something different to learn Python this time, so I learned programming concepts first, then the language. 2 weeks later, I thought I was pretty comfortable with programming and made my first “app”. It was a basic tool that allowed you to enter a text phone number (ex. 1–800-ABC-DEFG) and outputted the actual phone number (ex. 1–800–222–3334).
Here I am, 5 years after I attempted to learn programming for the first time. After failing at learning to code 3 times because I pushed myself to make something, not learn something, I have finally gotten on my feet. I have learned a lot because I wanted to learn it, not because I wanted to make something. This was a valuable experience for me as I had completely ruled out computer science and programming as an option for me but now, I have narrowed my career focus to programming and programming only. This was something that was bound to happen, I just had to wait for the right time. If something isn't working out for you, just remember, you just have to wait for your time.