- Read Tutorial
- Watch Guide Video
As the founder of Rails bootcamp you may think that my reaction would be to spout off a full list of all the reasons why everyone should learn how to code, because that’s good for business, right? However I went through his post in detail and I also reviewed a slew of response posts that called for Basel’s head, denouncing him as a modern day heretic.
Should I Learn to Code? A Balanced Look at Both Sides
After going through all of the content I can say my belief is that both sides of the argument have valid points that should be considered. Starting with the belief that not everyone should learn to program. Basel proposes that coding is hard, which it is, and therefore the dream that you can take a few online tutorials and become a professional developer is a lie… and he’s 100% right about that. Development, especially for true production applications is very hard and takes years of study to become truly proficient. It’s not enough to simply learn how to build an application that lets users create records in a database from a form, a professional dev needs to have expertise in:
- Managing dependencies between code libraries
- Work with Object Oriented Programming best practices
- Have clean code
- Implement automated testing for continuous development
- Know how transition seamlessly between various frameworks
- And the list goes on and on
In fact, even though I’m a professional developer and have worked for clients as big as Eventbrite and Chevron, I spend several hours a day going through development books and online guides to simply keep up with all of the new coding techniques and systems that are continually emerging. So all of that to say that Farag is right, if you want to become a professional developer you have a challenging road ahead of you, but if you make it through you will have gained a tremendous skill and you will be an in demand resource by a number of industries.
Now on the opposite side of the argument that says that everyone should learn how to code, I really appreciated the VentureBeat article from Edward Chiu where he describes how he went through a coding bootcamp and he did not become a professional developer, however he did get a great job as a sales engineer that he never would have gotten if he wouldn’t have learned coding. This is the side of the argument that is ignored all too often, learning to code does not mean that you have to become a professional developer, but it will give you a new skill set that can be used across many different jobs.
Steve Jobs said it best when he said,
“I think everybody in this country should learn how to program a computer because it teaches you how to think.”
Jobs hits the nail on the head, learning how to code is not simply a prerequisite for becoming a professional developer, even though that can happen as well, it gives your mind a system for structured thinking that you can apply across all disciplines.
From a personal example, I used to have a hard time taking notes, I would randomly write down words all over a page without any really coherent flow and when I’d look back at them later they would be completely worthless to study from. However after I learned to code I started actually taking my notes in code form to give them structure, I’d set up loops for repeating items, classes to hold a topic’s attributes and processes, and return statements for the end results of whatever I was trying to learn. That may sound nerdy, and it probably is, however it gave me an organized system for taking notes and learning new topics.
In summary I hope that this balanced view has help you answer the question of: Should I Learn to Code?