Please Don't Learn to Code

I don’t think Mayor Bloomberg is the best person to serve as your kind of stereotypical paradigm of the “clueless old man talking about technologies he doesn’t understand”: he made his fame/fortune initially with his Market Master/Bloomberg terminals. I’m not at all a fan of the man as Mayor of NYC–but though he’s a politician now, it’s rather presumptuous/naive/stupid to use a fantastically successful tech pioneer as a clueless old man. Many years ago, he earned his BS in Electrical Engineering - as a student now he’d likely have pursued a course of study requiring more than a little coding. And the same could be said of students in many other fields - not only engineering - who studied and then entered the workforce decades ago. What’s more - the need to code custom solutions rises in all sectors–though specialization piled on top of poor basic math/science education too often dulls people to the mere existence of those possible solutions.

You are arguing within very narrow professional boundaries (and even there making a false argument), while the Mayor and many others are arguing pedagogy. Parents and educators aren’t concerned with algorithmic thinking with a mind to getting students to knock out code. I’m surprised that anyone who isn’t a luddite or reactionary could seriously argue against innovations in math pedagogy…

What an idiotic, self-righteous post. Nothing more than link bait, Jeff. I guess we shouldn’t bother to learn French or Spanish either?

It’s discouragement like this, predominantly from crusty old programmers that make this field seem so elitist. Learn to code (if you want) because it’s the language of the future, it’s good for your brain, and it’s fun.

I 100% agree with this post.

Extrapolating further, it is not necessary to learn everything there is to learn. This ridiculous idea that a “well-rounded” person is the most successful person is crap.

When’s the last time I used math beyond basic algebra? Let’s see… math class! When was the last time I had to write a paper? Again, another class in college!

We waste so much time generalizing ourselves instead of streamlining the process (and information gathering) towards choosing a profession. Yes, you should be able to communicate and think logically, but beyond that it’s entirely up to you what you want/need to learn.

The top reason classmates of mine have been struggling to get a job out of college (aside from lack of openings, as cited by potential employers) is that they were too generalized. And that’s after they chose a major in college.

Other countries start offering courses to narrow your specialization in their equivalent of high school.

Bit of a ridiculous post here, Jeff. Arguing that someone shouldn’t learn ‘X’ because ‘X’ is hard and there are already plenty of people doing ‘X’ professionally is a complete dead-end for me. It smacks of arrogance and elitism.

Any kind of education enriches the human experience. The more humans become enriched, the more our culture is enriched. It really doesn’t matter how people use the knowledge they acquire - how else are we supposed to work out what we like doing and what we don’t?

If someone has a desire to learn to code then they should be encouraged to do so, if only so that they understand just what is involved in being a full-time developer, and so they stop wondering why they can’t get their business app developed in only a couple of weeks!

I’m certainly not concerned about the world becoming suddenly full of crap code, because, hey, it already is, in case you hadn’t noticed!

It seems there are lot’s of people here who think this post means that Jeff thinks that you shouldn’t go out and learn how to code. I don’t think that’s the point of this post.

The point to me is that if you choose to do that, you should also make sure you understand what you’re doing. I have more than once seen the havok of code written by people who didn’t understand and trust me, it can bring down entire companies.

Read more about it in this post: http://jvdveen.blogspot.com/2012/05/writing-code-developing-software.html

The misunderstanding we’re having stems from us thinking the skills we have are more important than they are and also, at the same time, selling ourselves short. It’s the analogy with plumbers that bears this out.

We are not like plumbers. What plumbers do is more like what the Geek Squad does (and both trades are very important):

  • Pulling a dropped ring out of a P-Trap is like restoring lost desktop icons.
  • Unclogging a drain is like removing a virus from a computer.
  • Fixing a leaky faucet is like setting up a VPN.
  • Even running copper pipes to a new bathroom is more like setting up a router and running CAT5 than it is to anything coders do.

What we do – trying to stick to plumbing – is more like the guys who build dishwashers or hot water tanks or come up with new piping systems. Coders are more like the engineers that create machines.

So, should everybody learn how to empty a P-Trap or unclog a drain? Yes, in the same way they should know how to remove a virus or setup a connection to their router. Those are skills that everybody should know.

Should a normal person learn how to create a garbage disposal, which is more like the kind of things coders do? If they are interested and want to, sure, but that’s not the point of Atwood’s blog post, which was saying that coding is not a skill that is as important as reading and writing.

Building a garbage disposal might give you insight on how plumbing works and would make you more of a well-rounded person, but it certainly doesn’t rank up there with a must-have skill, and neither does programming.

Nobody is dissuading people from programming or arguing that knowing how to program would be beneficial, but let’s not oversell the importance and say it’s as necessary as reading and writing.

A somewhat belated rebuttal:
You Should Absolutely Learn to Code

It’s not about becoming a developer. It’s about building a better mental model, automating your life, communicating with your teammates, and building better prototypes.

While not everyone can learn to program professionally, I would opine that everyone should at least be exposed to the basics of programming in school., just so they have SOME idea of how it works, and can appreciate the work that goes into a well-written program.

And using plain old regular basic. And BEFORE the “indoctrination to Microsoft word/excel” courses that seem to be the norm today. Or perhaps even instead of.

Well when I first read this post I did feel a bit like, “Hey new kid, don’t code, your wasting your time”, but I looked at it from a different perspective.

To me it seems that Jeff is just annoyed that the whole “everyone should learn programming” meme is kind of trendy right now. Yes, the whole ‘geek’ thing is played out in a way, but there will always be people that are really interested in programming and doing amazing things with languages like Processing, and SuperCollider.

I used to dj quite a bit when I was younger, and had a few friends that where dj’s too, but now everyone and there mom is a dj! At first it was a little irritating seeing people buy dj stuff just to be cool, but hey, who cares! It’s a trend, and trends eventually die out. The people that have enthusiasm for their craft will stick with it.

I think the reason for the coding meme right now is because of how the press/media portrays coders like David Karp, and movies like The Social Network. They make it seem that coding will bring you lots of money, fame, etc. So yes, the post is a just rant, and everyone does it all the time.

Learning of programming languages is not important for everyone. I do not see the need of a politician to be able to implement any particular software.

But I thing there is some misunderstanding in what a politician promote. You have to understand, that a political goal should not be taken too directly. By saying “I want to learn code” is more of a statement, a direction for more mathematical and scientific approach in your live. Its a motivation to many young people to make them understand that programming is not boring at all and is everywhere, from your smartphone to the electric city grid.

I am, as probably many here, a professional programmer. Yes, I agree that a few hours, days or even weeks of programming is not enough. But we think on a different level. The software we write is not the software a politician is talking about. Whether it is R for some financial calculation for a economy student or a programmable calculator - the spectrum is wide and the motivation to learn programming as a general statement remarkable.

Hi, first of all I’m a big fan and its a very nice post. so i decided to write a post on the same topic and i further “explore” this topic… you should check it out… i think it kinda complements yours… check it: http://techtrainedmonkey.com/2012/05/18/about-who-should-learn-programming/

This is one of the most ridiculous posts I’ve ever seen on the internet.

What an arrogant, egotistical, asinine opinion to have. You sound like this is some kind of elite club. “NO PLEEBS ALLOWED!”! In one part of your article you question why people would learn to code, and ask what it could possible have to do with their job. "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. Or at any job, for that matter. But understanding variables and functions, pointers and recursion? I can’t see it.

Seriously? How short sighted can you be? One might think a federal judge has no business knowing how to code, maybe you can tell that to Judge Alsup who was able to tell Oracle to get bent when they tried to baffle him with bullshit. He was able to do so because he sat down and said “Ok let’s see what they are talking about.”

Technologists complain every day because the people who are making the laws in this country have no technological background therefore no point of reference and they make bad decisions because of this problem. Sure we can hire experts to advice, but really how well has that worked out for us. I’d like to point to exhibit A, our patent system.

Learning to code teaches principles like problem solving, and abstract thinking. It allows the student to be master of a universe where their thoughts and creativity are the only limiting factors.

You then go on to say that coding for money is a bad idea. I’d argue that this movement SUPPORTS that line of thinking. The pandora box is open Mr. Atwood. And while, no everyone shouldn’t be plumbers, or mechanics, or farmers. Being able to fix a leak, or change the oil in your car, or grow a small garden are skills that are vital. How about we stop trying to be so elitist. Embrace the population as they start to embrace technology. It has empowered us for over 30 years. It’s time to share our toys.

Speaking from 20+ years in the software industry, I think this article (and its author) is absolutely on the money. Each of the 5 bullets highlighting the reasons why it is wrong for everybody to learn to code is absolutely true, in my opinion. Many people have commented that learning to code allows people to develop skills like critical thinking, problem analysis, etc. While I agree with that, I must also state that these are disjoint sets. Learning to code is not the only way to develop those skills. And, conversely, developing those skills doesn’t guarantee that you’ll code well. Every profession needs and allows the development of those skills, whether it is that of a civil engineer, a mechanical engineer, a surgeon or a pilot. To say that learning to code is the only way to develop those skills is extremely snobbish. In fact, even a habit of solving puzzles like Sudoku, etc. can help do develop those skills to a certain extent.

Agree that we should be encouraging automation, so that time doesn’t have to be wasted on repetitive admin tasks. It’s a lot easier to deal with specifying IT stuff if you have some appreciation of what’s involved, and there are many improvements that would never be made without someone understanding existing solutions well enough to adapt them.

Knowing the basics of plumbing is also very handy.

Solutions vs code is a fair point, but it’s like maths/English/science/etc… some of the basics have to be learnt by rote. Make it as fun as possible, but give people that opportunity to learn something they can build on later.

“Don’t celebrate the creation of code, celebrate the creation of solutions.” I wish every developer in the world prints that in their desks, and takes a look everyday. Forever. Might just solve a lot of world problems! :slight_smile: Loved reading your thoughts.

I’m glad to see that I’m not the only person who strongly disagrees with you on this one.
Comparing programming to plumbing as a specific, special-purpose skill of little relevance to “the common man” seems quite frankly dishonest.

Somehow, you’ve produced a division between fundamental skills that everyone should have (basic maths, reading and writing) and very specific, non-transferable skills (plumbing, lawyering, programming).

Placing programming into the latter set is utterly bogus. To me, programming is a cousin of maths, engineering and writing. Not only can it help think in new ways and solve problems in a more structured way, but it can be used to help in practically any domain you like. Including plumbing.

You say: "It puts the method before the problem. Before you go rushing out to learn to code, figure out what your problem actually is. Do you even have a problem?"
What better way to learn how to do this than by learning programming? Isn’t that pretty much what it’s all about - think, figure out what the problem was, and what possible solutions you could create?
And if that’s too difficult up front, to explore the problem and solution through testing and thinking as you go?

If your program solves the problem, your tests demonstrate it, and if not, then you keep working. Isn’t that a fantastic way to learn how to understand and solve all sorts of problems?

I completely agree with you’r opinion, and i think those who argue that the initiative has some major benefits in the sense someone will get a grasp about what coding means…are confusing merely someone’s job with someone’s hobby. There is nothing wrong to get a sight and a minimal understanding about what’s behind the technology, or the gadget what it’s using, but to make some fancy and nowadays trendy statements about that everyone should start to code, is completely unreasonable. Every man has a scope in this life, be that to use their hands or use their mind, and i think it’s overrated the necessity to start learning programming. I like the plumber analogy a lot, and i think it just reflecting the reality very much.

Wow your really making an ass out of yourself sir, you may want to denounce yourself as an author to this one. Look, I grew up programming, from middleschool through most of college- (ended up changing careers- however i still utilized some coding in the movie/commercial industry) Look. your paranoid about the market being overflooded, we allll can see and understand that. If someone is intelligent, and has ideas for a better future, much of the time Yes I could recommend it as a hobby to someone interested- or as secondary information for their work- their ability to tell someone who does it professionally what they want and have realistic expectations (this is the keeeeey reason i would recommend people learning to code) However its also good for anyone else who has the critical thinking problem solving patient mind that doesnt mind staring at the computer screen all day… if you can get past that, and be persistent, and choose a path that matches up with marketing trends, you can reset your whole career- and it would probably be a good thing. Its even one of those you can have a 1 hit wonder with, and create it in your spare time… its not a guarantee, but hey its a hobby with potential- biz people like potential. Personally, at this point in my life I may never program again. HOWEVER, i wouldnt take back one day of the 15+ yrs of coding I have done- nor would i take back one persons knowledge that i have taught them. AND its not my career, by any means now. So seriously sir, get your panties out of a bunch, stop being scared and realize, now more people will be able to better communicate their needs to you. and Chillax, sir… you may wanna rethink learning some basic plumbing as well, maybe that should be YOUR hobby… because guess what- its pretty nifty to not need to call a plumber at 4 in the morning.

you obviously attempted to choose writing as a hobby, because you rushed this one through, and didnt think… maybe your just not a very good programmer? your missing some critical thinking, problem solving, application and communication here. you failed at trying to scare away people, go back to your dark cave.

your like one of those people that i would almost expect people to say “guns kill people because of the video games they play, because of the programmers who make them, programmers kill people” except of course, THAT even has more a more relevant transference of categories then you did. Maybe you just need some sleep. put the code down, and take a nap.

Can you please watch

this and go through your arguments against learning programming again? Are the arguments still valid or does Conrad Wolfram have a point? If programming can make math more relevant and at the same time make every child in the world able to make the most out of their (increasingly) digital environments, isn’t that something we should try to achieve? Doesn’t the mere idea make you ecstatic (like me)?