Learning to Program:
Studying Like a Pro
Evan Cole, Director of Elewa Academy
27 January, 2018
learning to code is something that should be done right the first time around. Fixing bad habits is time consuming and challenging, learning them in the first place just takes some practice. The easiest way to learn the important skills early on – skills like writing clean code, reading source code, using common design patterns, and reading documentation – is to have one-on-one guidance from an experienced programmer. This can be from a friend, a code school, or an open community like The Odin Project. But what if there was a way to get the benefits of individual guidance while studying independently?
We humans get better at things the more we do them, whether they are good or bad. This simple fact explains the danger of learning to program by just building projects – problem-based learning. When you learn simply by doing, by solving harder and harder problems, you are getting better at whatever strategies you can figure out yourself while cementing any bad coding habits you have. This can hurt you down the road with a diminished ability to transfer your knowledge to novel situations, and by the construction of incorrect mental models that can take enormous effort to unlearn.
Individual guidance works against the risks of problem-based learning by pointing you away from your bad habits, and sending you towards good ones. The goal of self-study should be to do this for yourself. That might mean you spend more energy on writing good code and less time hacking together cool apps, which isn’t as much fun but does pay off. These foundations will get you started out on the right track to a successful career. The code you see in your editor is in many ways more important than the app you see in your browser. The sooner you can appreciate this beauty the better.
Fortunately there is an easy and free way to get many of the benefits of individual guidance while studying independently thanks to the enormous number of high-quality open source projects. You can learn directly from the developers of popular libraries like Lodash, Async.js, React, and Express. The trick is knowing how to use detailed code specifications to study source code. We teach this technique in our fullstack course. Above anything else, alumni have told me that this study technique prepared them for their first developer jobs.
Share your thoughts
Become part of our open community, and get coding!
“Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live.”
Easy advice, but how do you do it?
“Any sufficiently advanced technology is indistinguishable from magic.” Why can some people learn to program over night, while others can’t seem to learn no matter what?
The most important skill of a true developer has nothing to do with writing code. Then what truly differentiates an excellent developer? Read how weeks of work could have been avoided by thorough analysis, spiced with a bit of laziness.