Should I Learn to Code? A Balanced Perspective on Programming


On Thursdays I like discuss items in the news and specially how they apply to the development community and today I’m going to talk about the question of: Should I Learn to Code? This question was sparked by the controversial post on TechCrunch by Basel Fareg where he urges people to not learn coding. 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?

Should I Learn to Code


  1. Once again, Jordan..You hit the nail right on the head! I’m no where near close to becoming a professional developer. But the main thing I learned from coding was how to break any problem down into smaller chunks. I’m a digital marketing manager for mid size dental group. With my coding knowledge I’ve been able to look at marketing strategies in a whole another way and better explain technology goals to our development team. Thanks, for the post. Keep them coming.

  2. Hi Jordan,

    You mentioned “…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”
    . I am very interested in leaning more about this. Can you elaborate some!

    • Sure! Essentially I would organize my notes in a way that matched code processes. Examples would be:

      • If a professor discussed a group of items, I’d put them into an array.
      • For conditional topics, such as a professor saying if “x” happens, then “y” is the result, I’d write out the data flow in an if/else or case statement
      • I’d place rules or definitions in contstants

      Let me know if those examples help. The key isn’t really the approach, there was no formality or right/wrong to the notes. Instead it simply helped me to continually have code processes on my mind.


Please enter your comment!
Please enter your name here