Why Everyone Should Learn To Code
This post is a response to the great video released by PolyMatter called “Not Everyone Should Code”. Here’s the video but I’ve summarized the points below if you don’t want to watch it.
Summary of Not Everyone Should Code
- Programmers get paid really well
- Programming as a job is trending upwards
- There is a ton of hype (and alarm) of people finding new jobs/losing jobs due to programming
- Programming full-time is a trade, similar to surgery or plumbing
- A lot of code teaching websites over simplify the career
- A lot of people do it for the money, which will lead to unhappiness
- Demand (even though its high right now) won’t stay that way if everyone has the skill to program
There are a ton of good points
Before I jump into what I disagree with, I’d like to talk about what I do agree with. I’d like to say PolyMatter makes great points and I agree with him on multiple fronts, especially that being a programmer should be treated as a trade and not a necessary skill. If people have their education in finance or biology or architecture, etc. they shouldn’t be forced to learn program the same way that a Computer Science student isn’t forced to learn how to use a pipette.
I also agree that tech companies hold an enormous amount of power in the world, and show no sign of slowing down. Apple may become the first American company with a net worth of over $1 trillion dollars, which is ~1/20th of America’s entire national debt. Damn.
Bootcamps and Learn to Code Sites
Finally, I agree that a lot of free learn to code websites and boot camps can overall be a disservice to their students, overpromising and under delivering. These programs can lack the rigor of pursuing a full-time degree in Computer Science. Claims of wealth and fortune, promising that they too can make a six figure salary after 10 weeks of writing for-loops is a dangerous game.
But I don’t like all of ’em
Now on to what I don’t agree with. I think PolyMatter is greatly underestimating the overlap between programming and computer science. In the video, he mentions that computer science is all about efficient problem solving and that programming isn’t. Here’s the thing though: I barely ever use my CS degree in my day-to-day work. Most of the programming companies will pay you for is to solve problems, but since every company has a different model, the CS degree past Intro to Data Structures very rarely applies. I believe that programming as a skill forces you to become better at solving problems over time. There are only so many times that you can get burned by inefficient code before you or someone else has to “open up the hood” and dig deeper into the internals, and make your code more efficient.
Another thing I’d like to disagree with (tentatively) is the “going into a programming career for the money” aspect. It’s true that software engineers/developers/programmers get paid a lot (the average salary is ~$80k annually), but that they work pretty hard as well, with some days being crazy stressful. I don’t believe that shaming people for wanting to have a career that pays well, as if passion directly aligns against how much a field pays. Especially with programming, and here’s why:
- Programming: As a skill, coding is vast and can influence a ton of fields. I worked for a Political Science department back in college, and learned so much about the field by just being around it. You can find programmers in medical, entertainment, fashion, etc. It’s very versatile!
- College costs: College should really be thought of as an investment the same way that people will buy a house. Students should get a positive return on the money they spend for their education. I think it’s equally if not more dangerous to tell recent high school grads to study whatever they please. Especially if it will put them $100k in debt and leave them without opportunity.
Required Skillz, Part Deux
The last major point I want to make is that learning how to code is a spectrum. Just because a student can write, doesn’t make them a Pulitzer winning author. And just because I can cook a grilled cheese sandwich, doesn’t make me a five-star chef. Learning how to program is a valuable skill, and languages are easier to pick up now than ever. If it were 1985, and the only language to learn was Basic, I’d agree that programming should be left to hobbyists and professionals. But these days, programming can be easy, fun, rewarding, and give people technical literacy. I think we learned our lesson with the printing press, knowledge is meant to be shared, not be gated and hidden from people. Coding is no exception.