NOTE: There is a newer updated version of this article availble here - How To Learn Code In Half The Time

Original question from Quora:

How do people learn programming so quickly?

My Answer:

Well, it really depends on person. Some people do pick up various skills in life much faster than others. For example, some people are “natural athletes” as in, if a coach demonstrates a movement, they are able to copy it almost right away.

However, and this might disappoint you a bit…

The majority of people I’ve met in the software world don’t learn anything quickly. The skill of writing software takes time to develop, just like every other skill in the world.

The best developers make it look effortless because they’ve spent so much time writing code. They’ve made all the mistakes you make hundreds of times, so they spot them quicker and fix them quicker.

Again, I don’t mean to take the magic and wonder away from those who are superhero 10x programmers, but in reality even the best of the best programmers I’ve met spend hours and hours and hours at their craft.

Which reminds me of something I heard years ago.

Eddie Van Halen, one of the greatest guitar players of all time, wasn’t always a great guitar player… At some point in his life he sucked at guitar.

And his brother tells a story about how when they were in high school he would go out with friends after dinner or whatever and Eddie would be in his room playing guitar.

Hours later, his brother would return home and Eddie was still sitting on his bed playing guitar.

If you do the math on that sort of thing, if Eddie was practicing 2 or 3 hours a day, he was getting close to 1,000 of practice a year. Do that for five or ten years and you might become Eddie Van Halen.

I know the 10,000 hour rule is a bit of a misnomer and isn’t exactly what the research said, but I believe it is directionally correct.

The people who get really good at things end up putting in thousands of hours of practice when other people are watching Netflix, hanging out with friends, and otherwise goofing off.

There is nothing wrong with having fun and blowing off steam every now and then, but the people who are the best at what they do are more often honing their craft than they are obsessing over The Bachelor or whatever show is popular at the moment.

And to stick with the guitar as an example…

I recently came across an excellent guitar player I’ve never heard of on YouTube and he was talking about practice routines.

He said two things that I found completely fascinating:

  1. He enjoys practicing guitar because he practices things he enjoys or is deeply interested in.

  2. He has played guitar every day for 15 years (except for maybe a few days when he was sick or something)

In my experience, those who learn programming and find it “easy” are often very much in the same category where they do it every day and they are always building something that interests them.

Over time, showing up, doing the work, and being motivated to keep showing up makes a dramatic difference.

So, if I had to boil this all down for you, I’d say people who easily learn programming are the ones who write code every day and enjoy writing code every day.

More than anything, I would say enjoy the learning process and show up every day to learn and eventually you’ll get to wherever you want to be.


P.S. Have you subscribed to Code Career Genius yet?