While I certainly encourage getting a formal education in programming and computer science, it isn’t the only way to learn coding. In recent years, there has been a surge in resources for teaching yourself programming. Learning on your own is as easy as finding online tutorials (such as Codecademy) or going to the store and picking up a book. Here are some pros and cons of self-taught programming.
Pros
- It saves time and money. This is probably one of the biggest appeals of learning on your own. When learning on your own, you aren’t stuck taking additional classes that don’t relate to your interests. And while there are services out there that charge you to access their content, there are many more sources that don’t charge you. I recommend spending some money on a programming textbook for quick reference, but it is by no means required.
- You aren’t really learning alone. Formal programming classes fail to mention that there are entire communities of people online whom you can rely on to find answers to problems and receive additional advice. If you run into a problem with your code, chances are that someone else has had the same problem and has posted it within a forum (such as stackoverflow) for help. If the problem is one that has never been encountered before, there are people who love a new challenge.
- You learn at your own pace. This can be a bit of a double-edged sword but it’s more of a pro than a con. The only schedule you are required to stick to is your own. No one is rushing you to finish all of the tutorials by a certain date and there isn’t a final you have to study for. However, don’t put it off just because you don’t have a deadline. Learning on your own is a test of commitment.
- You get access to new developments faster. Most new techniques and developments can be found on the internet long before they can be found in the classroom. Unlike other sciences where all of the research and development is confined to labs and universities due to the need for specialized equipment, programming can be done by anyone with a computer. You can master a dozen languages before even one appears in a textbook.
Cons
- It’s harder to find a good job. The hard truth is that degrees get people jobs. If two job applicants are completely identical except that one has a degree, that person will get the job nine times out of ten. You can be the most qualified person there and still lose out only because someone can back up the claim with a degree. The bright side is that there are some companies out there that test people themselves instead just relying on what their degree says.
- The internet isn’t always reliable. Since a large part of learning how to program on your own involves the internet, it is best to check everything you find with another source. Check the comments on forum posts and read reviews to verify legitimacy. A hundred negative reviews is a lot more reliable than one positive review. Use your best judgement and take everything with a grain of salt.
- It can be hard to find what you’re looking for. When you run into a problem, sometimes the only way to find the solution on the internet is to try phrasing what you’re looking for in different ways. A search engine isn’t as good at interpreting what you mean as well as a professor is.
If time and money are against you, learning how to program on your own is just as viable of an option as going to school to learn. However, you should keep the drawback of this method in mind. Also, these two methods are by no means mutually exclusive. You can go to school to learn programming and computer science with using online tutorials to reinforce what you learn in the classroom. There are countless ways you can combine these two methods for your own benefit.