Please Don't Learn to Code

Bloomberg might not have been the best example to prove your point. He has a degree in Electrical Engineering from Johns Hopkins and when he started his company he was spending weekends soldering together terminals to sell.

While I agree that Mr. Bloomberg shouldnā€™t be spending all his working hours coding, I strongly disagree that he shouldnā€™t learn to code a little. I donā€™t think the other benefits of coding (such as critical thinking) that others are mentioning are important in this case. Young learning might pickup critical thinking from learning to code but youā€™ve already established your thought process by the time youā€™ve becoming the mayor of one of the largest cities in the world.

All politicians should learn to basic coding (and computer) concepts (what is an API, what are different languages, compiled vs interpreted). If they donā€™t, how can they be expected to pass legislation that governs MY profession? Just look at the guys like Ted ā€œtubeā€ Stevens. Do you really want your activities as a programmer to be governed by people that think computers are magic boxes? Programming is just to intangible, you canā€™t expect someone to have a clue about it without direct experience. If someone canā€™t explain the difference between the Internet and Internet Explorer should they be ruling on Net Neutrality?

Iā€™m a strong believer that learning a new language makes you better at the others, but Iā€™m not a ā€œlearn to codeā€ advocate, a foreign language or even music are equally beneficial.

Jeff, I fully disagree with your post. It assumes that ā€˜learning to codeā€™ implies applying coding skills to a career. What if he wants to have a new hobby or broaden his thinking?

One should never broadly say ā€˜donā€™t learn to Xā€™ to some useful activity. This is the same kind of thinking that brings on fear, dark ages, and lack of innovation.

BOCā€™s cooking analogy nailed what Iā€™m saying.

Coding -inherently- creates more problems than it solves, and I think you end up acknowledging this on your own post. Computers were created because they are amazing, even though the world they make possible is messier (in an amazing way). This picture of the programmer as a ā€œprofessional problem-solverā€ is a facade you (we) need to hold on to, living in a world where people have no idea of what a computer really is, even after witnessing almost 70 years of programming, because they never had the chance to learn how to code.

Aside from the point thatā€™s been made here ad nauseum about learning to think or how to solve problems (all things Iā€™m sure the exceedingly successful Mayor has learned by now through other means) thereā€™s another fallacy in your argument:

That the man must spend every waking minute of his life devoted to his job with no room for entertainment or personal fulfillment. Perhaps he just thinks itā€™s cool.

I totally agree! It doesnā€™t make sense for EVERYONE to learn code. BUT it does make sense for professionals that work with programmers to know the more than just the basics. That way they donā€™t get lost in the conversation.

I wouldnā€™t want my mayor spending huge amounts of time trying to solve the n-queens problem in Java. Just like I wouldnā€™t want the mayor ignoring other duties to write a critique of the collected works of Frederick Douglas. But I would want the mayor to at least have heard of Frederick Douglas, to be able to have an informed conversation on the matter. Same with Java.

Actually I have encouraged others to learn programming, atleast a little bit. Iā€™ve found that knowing a bit of JS/jQuery can go a long way if you know how to use Chrome Inspectorā€“Iā€™ve managed to automate a lot of stuff. Ditto with Excel+VB.

While it doesnā€™t make sense to ā€œlearn it just since you canā€ or whatever, people who have the capability should certainly learn enough to make life easy.

That being said, I do agree with most of the points on this post, just not with the view that non-programmers learning to code is always bad.

learning to code != becoming a better analytical thinker

And, whatever the skills that coding conveys, there are probably far easier and more efficient ways to attain them. Itā€™s far more important if people spend their time learning general computer literacy.

Also, having people learn how to code just so they can deal with us professional coders better ā€“ while personally compelling ā€“ isnā€™t a good enough reason either and I question whether toying with some JavaScript really provides enough insight in what we do for a living.

In school I learned how to work with wood, metal, how to cook and sow.
Just because I was exposed to these skills does not mean that they would be a life defining talents.
later, in my first appartment I learned electrucity and plumbing. Does this help me in my job? heck no! Does it help me as a PERSON, HELL YES!

Should everyone be a programmer? Of coarse not! Should everyone get a glimpse of what it is? Perhaps a little fortran or pascal? For sure. If nothing else, just to aquire a sense of LOGIC which is very rare today.

Coding is plumbing, both make sure that all that is supposed to flowā€¦ flows.

So yes, woodshop, metal, cooking, sewing, coding, plumbingā€¦ should all be mandatory from grade 8 to 10.

So we complain about politicians passing stupid technology laws, and as soon as a politicians says he wants to learn something about the tech, a prominent programmer tells him ā€œdonā€™t bother?ā€

If you donā€™t know how to code, it probably seems perfectly reasonable to have a computer that you canā€™t program yourself, with everything locked down. If thatā€™s the future you want, then sure, tell politicians to leave the coding to the professionals.

If you can code, you start to see the computer as a machine that can do anything you want, instead of just the things some app store makes available to you. That freedom is addictive. You start demanding it.

Cory Doctorowā€™s fears about the end of general computing will come true unless lots of people get addicted to that freedom. http://boingboing.net/2012/01/10/lockdown.html

I agree with everything you said but I think you got worked up over nothing.

Bloomberg is a businessman not a coder. This was obvious twitter spam. I hear he makes $14.99 per tweet.

I have to agree with Kiddushguyā€¦ regardless of your belief of the old person/politician stereotype of being technically clueless, Mr. Bloomberg knows his stuff, not just heading a tech startup but being hands on with development.

Though I canā€™t disagree with you trying to thwart others trying to learn codeā€“that would just dilute our value as being knowledgeable developers, right? So I guess Iā€™ll get mad too. Rabble rabble rabble!

Comparing plumbing to programming is a terrible analogy. 10-20 years out from now, what job market will exponentially grow and have a lack of people to fill the positions? (My bet is on programmers.)

Itā€™s funny how quickly people point out the benefits of programming for kids. I wonder how many of these people even have kids?

I have kids, two of em. Yes, I believe math and science is incredibly important. But I also believe in art and music as well. I would rather my kids appreciate a good music and art before learning to code java. If my kids are interested in sitting in front of a computer screen on hours on end to make the next whatever - thatā€™s fantastic! But I donā€™t really see a logic in saying that itā€™s a great foundation for science/math.

Great post.

For the posters who say everyone should learn to code so they know how the technology works around them, Iā€™d say: there are many other ways, including a classical liberal arts education, to learn skills like problem solving, logic, and critical thinking. Well-designed software shouldnā€™t require a user to ā€œknow code a little bitā€ to understand it, it should help the user solve a problem. If a user had to know code to know whatā€™s going on, there is something wrong with the software.

Your worst article ever. Where did he say he wants to learn coding for his job - why canā€™t someone learn to code (or play guitar, or plumbing, or anything else) just because they want to learn?

My favorite part of this was the ad at the bottom:

[advertisement] How are you showing off your awesome? Create a Stack Overflow Careers profile and show off all of your hard work from Stack Overflow, Github, and virtually every other coding site. Who knows, you might even get recruited for a great new position!

I find it funny that everyone is up in arms about the plumbing analogy arguing that not everyone needs to learn about plumbing. I had the exact opposite reaction, EVERYONE should learn the basics of plumbing. Many of us own our own homes, borrowing hundreds of thousands of dollars to do so, yet we donā€™t know anything about the internals of the house we bought. Thatā€™s just nuts.