a companion discussion area for blog.codinghorror.com

Please Don't Learn to Code


Programming is a good hobby. I don’t see anything wrong with everyone learning the basics of programming. I think it will help make people into creators rather than just consumers. It’s a completely different mentality.


Learning to code forces you to learn how to solve problems. If you take a coding class even if your intentions is just to acquire a skill to show off rather than becoming a programmer that class still forces you to think algorithmicly.


It is obvious to me how being a skilled reader, a skilled writer, and at least high school level math are fundamental to performing the job of a politician.

It is obvious to me you never heard of Italian politicians… or any other high-level, white-collar job, for that matter. Just part of the reason why my country is on its way to disaster, slowly but surely…


I work in the electrical business, and am a self taught hobbyist ‘programmer’. I have created a few websites, handy programs for my job, etc. Under qualified job candidates is a universal problem across all business. You would think someone attempting to work in the electrical business would know what Ohm’s Law is, or at least has heard about it. This is simply not true.

I would not discourage anybody from learning anything, especially programming. Programming has helped me think about my job in different ways, and more logically also.

People are not attempting to find programming jobs for the pay. Quite frankly the only reason I do not change my career to programming is the entry level pay is less than half what I make now. I simply cannot afford it!

And your suggestion that someone not learn coding is elitist in my opinion. This is the U.S., anybody can learn anything they want to learn if they only apply themselves. There are so many resources to learn programming on your own, I personally think it’s one of the easiest things to learn.


This is a collection of sophisms except on one point: you’re right that software is solving problems, but you can’t reduce it to that only. Before anything else the aim is to create a product to sell (very few companies live on only solving problems, most live by selling products). In the process of creating a feature for a product, problems arise that need to be solved and some code to be writen.

All the rest are more sophisms (a synonym for BS)… for example: Bloomberg woudn’t benetis from coding??? Apply this to other fields than coding, for example reading and you get: reading is not useful/beneficial to anyone because some great people didn’t know how to read but were damn successful!

You say that learning to code is synonym of two week bootcamp. You should compare apples with apples: learning to code mean spending years at university and doing at least one training. You’re generalizing on something marginal such as finding a job after having done a 2 week bootcamp.

You missed the obvious: what people learn is not how to code using a language, it is learning how computers work, from databases to Unix and object oriented paradigms to name a few. Newbies that have learnt all this
background necessary to software development will necessarily do better than ones who didn’t, all other things being equal.


^ learning how to fix plumbing issues, while anecdotal …is a valuable skill…

Inspiring a generation of independent, critical thinking, problem solvers to rise above the consumer-centric, button-pushing masses… Is one reason I encourage anyone interested to learn code.


Isn’t the ability to think logically a prerequisite to being able to successfully code/program. Actually, isn’t logic needed for any job? If there is a concern that youths aren’t learning how to think logically, how about modifying elementary, middle, and high school curriculum to include logic classes? I’m not so sure just learning to code is the answer.


Just saw this after being linked to a tweet. Good article. I think the main problem is that everyone thinks that learning to code is just learning how to write some isolated program in some high level programming language. But any professional knows that software is so much more than that.

You’re right to say that coding isn’t an essential skill like reading, writing, math, etc. Yet, I still believe that programming needs to be taught better and be more available. Music, art, biology, chemistry, physics are all required to be taught in school, but none of them are essential. Also, everything points to the world needing more skilled software developers (emphasis on skilled). Software engineering also holds a more special place in my mind than other engineering disciplines (not saying that other engineers are less important). Software has a major social impact. It affects the way we communicate and live our lives. There’s also unlimited potential to software. We are essentially building our own world with software. For the other engineering disciples, you can build a bridge but a bridge can only be built so well and it can only have so much of an impact. You can design a pair of headphones it’s only a convenient way of listening to things well without others hearing. You can create a cool computer, but it’s all the software above it that makes it useful.

I’m not sure how software should be taught better. But I’m pretty sure it could be. Maybe the basic high level concepts should be taught in high school/college. Like how programs are compiled to machine code which is ran on a processor. Or how TCP and IP protocols are used to send data across an internetwork in a standardized way. I don’t necessarily think that a student even needs to start learning software by learning how to code in a high level language.

Maybe the computer science disciple needs to be split up in colleges. In most cases, there’s just one degree: computer science. Computer science is becoming too all-encompassing in a world where software is becoming extremely complex and important. Maybe there could be one specific degree of computer science that’s focused on theory where math and algorithms and theoretical applications (machine learning) are important. Another specific degree could be focused on systems where compilers, kernels, networking, databases, distributed systems are important. And there might be other topics/degrees that I’m missing. I don’t think anyone can or should be responsible for having an in-depth knowledge of all areas.

In conclusion (TL;DR), I think the public’s belief that everyone should learn to code is naive and that you bring up good points to why not everyone should learn. But it brings up an interesting question of how software should be taught.


I think it’s a good idea for everyone to learn to code as it helps one in all aspects of life. Your basics in general becomes logical everywhere.
BUT…Do it with humility, gratitude, kindness & Respect!!! Know where you can help…know where you cannot & bow down of situation

I have seen people who tried to learn coding, but just moved on from language to language as it was apparently not for them , read lot of Wikipedia, they are in good post (as in programmers working under them, for them), think they know more than they actually do, poke their nose in matters they think they have understanding for, blaming open packets for bugs (??? I have know idea (-) ), and just make life hard for others…


LIES Coding is awesome


So this article is news again…


And already a response


I just discovered this post, but man is it ever needed, and such a good point, and well-articulated!

ACM represents itself as the foremost computing society, and promotes coding education in all school grades! Ack! It might expand the market for us, but note that most of the leaders and candidates for official positions are academics.

I’ve taught programming, I love teaching it, but some of those “kids” should not be coding. I’ve also met a bunch of people where I work, even in IT, that said they didn’t want to, could not do it. Few “gamers” code, one told me he didn’t have the patience. Gotta debug that guy!


Teachers themselves do not understand what they will be teaching kids in the future:

We should be teaching open minds and research skills. People of the future will pick things up as they need them.


Gamers don’t have the patience. Some programmers should NOT be.
That’s what I thought when I saw their push for this.
True that ACM is driven almost always by academics. Ouch! Good marketing ploy for academics!


Hi. I think that the point of learning to code is like the hype of “Design Thinking”. It is an archetype for very important skills like solving problems and the hability of self taught, research and to find the right solutions.
I am one of these persons who once thought that should learn to code, but in the essence I want to learn solve problems like a programmer.
Maybe by learning to code, we learn a little bit about this “Code Thinking”.