How long does it take to learn to code, program computers, and build apps?

Before writing this blog post, I did a quick google search to see if this question had already been asked before somewhere out there on the…

How long does it take to learn to code, program computers, and build apps?

Before writing this blog post, I did a quick google search to see if this question had already been asked before somewhere out there on the interwebs. And as it turns out, the question had indeed already been asked. But not surprisingly, most of the answers I found were of the wimpy it-depends category. What a cop-out!

A screen-shot of my first app in the Google Play Store: EphemeralSMS — an open source SnapChat clone that I built to teach myself Android programming

So here’s a better answer: 1,281 days (~3.5 years). That’s the number of days between writing my very first lines of code to publishing my first Android app on the Google Play Store. Obviously the amount of time required to learn how to build apps will vary between individuals, but I think my experience is likely typical.

When I first started learning to program, I found that the introductory programming books, tutorials, and online courses all seemed to teach something called command-line programming. If you don’t know what command-line programming is, think MS-DOS. But when most people envision learning to program, this isn’t what they imagine. When people talk about learning to code images of mobile apps and desktop programs with graphical user-interfaces are what typically come to mind. However, you’ll quickly find that this is not the case should you decide to learn to code.

And that’s sort of the whole point of this blog post and the question: How long does it take to learn to code, program computers, and build apps? Learning the very basics of computer programming on the command-line using a high level language like Python can be learned in a relatively short period of time (days, weeks, months). But actually gaining enough knowledge and competence to build an iPhone or Android app from scratch takes much longer! Maybe if you’re a Harvard or MIT type you can go from zero to hero in a few weeks, but the average person is likely going to take a hell of a lot longer to get to that point. In my case, it took 1,281 days.

With that being said, I have a few tips if you’re an aspiring app developer:

  1. Learn PHP. Web development is a hell of a lot easier than native app development in my opinion, so start there after learning the basics of command-line programming. Nearly everything you learn when it comes to web development will help you later on when you make the leap to native development on Android or iOS. If you’re interested in web development and the PHP programming language in particular, I recommend you check out Eli the Computer Guy’s YouTube tutorials on PHP programming.
  2. Learn JavaScript. Here are two books I recommend: Eloquent JavaScript by Marijn Haverbeke, and JavaScript & jQuery by Jon Duckett.
  3. Learn Android. Should you decide to take the leap into Android development, I recommend you check out the Android Basics courses from Udacity. Please note these courses are free! There’s no need to enroll in the nanodegree program if you can’t afford it. This program in particular was developed in collaboration with Google because Google has a vested interest in educating programmers on how to develop applications for their mobile platform, the Android Operating System. The Android Basics program consists of five classes taken in the following order: User-Interface, User-Input, Multi-Screen Apps, Networking, and Data Storage.

Well that’s all I’ve got! I hope you’ve found my blog post helpful. There are a million little things that you’ll likely need to learn in addition to what I’ve mentioned here in this post, but don’t worry — you’ll discover what you need to learn as you go, even if it takes 1,000 days.