One question that people ask me all the time is, “How do I become a programmer?” Or, “How do I learn to program?” There are a lot of possible answers to this, depending on the person and how you want to go about it. I figured that since people ask me this so often, I had better finally write an article about it.
Find the Best Way
One rule that has served me well when I’ve been learning to program, no matter the method I was using, was to always ask, “What’s the best way to accomplish this?” or “What’s the right way to accomplish this?” That is, in programming there are many different routes you can take to accomplish your task. But usually, only one of those is the recommended way, either in terms of the most modern way to do it in your programming language, or the best practices that the community of programmers have agreed on based on experience. Usually, you can find out this information by reading the documentation of the programming language you’re learning, or searching online for a best practice via Google or Stack Overflow. If you can’t find the answers, ask the question on a forum, mailing list, or Stack Overflow. I still do all of this, to this day, when I’m given a task where I have to learn something that I don’t know about.
The advantage here is that you don’t just learn to program, but you learn to be a good programmer. Also, it forces you to really dive deep and understand the tools and languages that you’re using. If you do this continuously as you go, you eventually develop a good, deep understanding of the systems you’re working with, while maintaining enough practicality to keep yourself interested. (That is, you are only diving this deep on the things you’re actually doing something with—not random theoretical stuff that you’re never going to use. That can be interesting too, but it’s not an educational system that you can use forever to really learn to program.)
Of course, you have to make sure that you really understand everything you are reading when you do this. That might mean diving down into more documentation, and then even more documentation, until you understand all the words and symbols being used. That’s okay! That’s a big part of what makes this system work—that you gain a true, deep understanding of the symbols and concepts you’re working with.
Now look, to be clear, when you’re first learning to program and you’re given a challenging task, it’s okay to just try to get it done any old way you can. You’re learning the basics, not the best practices. This piece of advice is for once you get over the hump of learning the basics of how to get anything done at all. For a project that you’re doing purely to learn something, the most important part is that you learn the thing you’re setting out to learn. But once you’ve got that in hand, delve deeper into it and try to see if you’ve done things the best possible way.
Okay, now that said, let’s talk about the different methods that people actually go through to learn to program. Continue reading