Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Please don’t learn to code (techcrunch.com)
95 points by drubio on May 11, 2016 | hide | past | favorite | 156 comments


I never interpreted "everyone should learn to code" to mean "everyone should get a job as a software developer". Coding is a highly useful skill that can be applied in many professions. It doesn't mean everyone has to write professional quality software in the hottest language du jour.

"Learning to code" just means recognizing when a problem can be solved by applying a discrete series of repeatable steps and then learning how to tell the computer to do those steps rather than doing it yourself. The productivity boost we could get just by eliminating people manually copying and pasting (or, dear god, re-typing) things from one spreadsheet to another would be enormous, let alone other applications.


I was about to make the exact same comment. People should automate their most boring and mindless tasks, that's the only way to achieve large further productivity gains. It's never going to be economical to pay a developer salary full time to analyse and automate everyone's little tasks. But for that coding needs to be simpler, easier to do occasionally. VBA-style (but VBA was a 90s language that was never updated since). In that spirit, teaching C++ in school is counter-productive.

Exactly like everyone shouldn't need to be a professional carpenter, but have a basic DIY tools and know how to assemble some ikea furniture. Or basic physics understanding to know what to do and not to do with an electrical socket!


>>I was about to make the exact same comment. People should automate their most boring and mindless tasks, that's the only way to achieve large further productivity gains.

Productivity gains that will be captured by their employers in the form of higher profits and bonuses for executives and most likely won't be passed down to the employee.

Not saying learning coding is a bad idea, but some perspective is useful I think.


> Productivity gains that will be captured by their employers in the form of higher profits and bonuses for executives and most likely won't be passed down to the employee.

Assuring that aggregate economic gains are justly distributed is a social (politico-economic) problem that clearly (in light particularly of the last ~40 years of history, where there has been clear and damaging regress in that area) needs to be address, but that doesn't mean that we should stop seeking aggregate gains.


Not necessarily. Productivity gains can come back to the employee. I used to work at a place where my boss wanted a status report printed out and on his desk by 7:00. Before I figured out how to automate the status report, I had to come in at 6:00 every day to prepare the report. I was on salary, so I didn't get paid for the extra time. After, I came in at 6:45. I guarantee I captured my own productivity gains there.

Edit: I was working as an engineer at a manufacturing plant, for context.


Bold statement without a proof. Can you point to a poor nation with highly productive employers?


It's well-documented that, in the United States, productivity has increased massively since the 70s but wages have remained stagnant.

http://www.theatlantic.com/business/archive/2015/02/why-the-...


Exactly this. I think the article misunderstands, and/or misinterprets, the Learn To Code "movement". It's not a call to enlist more people as software engineers, it's a desire to teach powerful problem solving techniques and tools to everyone.


> it's a desire to teach powerful problem solving techniques and tools to everyone

And like any teaching, that job should be properly paid. What I find irritating is that it almost seems to be a given in the tech industry that people would do this job for free. And the fact that it will create more software engineers on an average leads me to think that all the "Learn to Code" movements are not as altruistic as they may seem.

I agree that everyone should learn to code, but similarly why shouldn't everyone learn basic science, economics, or civics? I know a lot of people the US anyway seem to be really behind the curve on these matters, but because it doesn't really benefit large corporate entities, they aren't lining up to teach kids these skills.


> similarly why shouldn't everyone learn basic science, economics, or civics

We already teach those things to every child in the US. Whether or not they pay attention is something we have less control over. The vast majority of students do not have any opportunity to learn to program.


> We already teach those things to every child in the US.

Exactly, and the teachers are paid for it. You rarely find companies promoting movements offering to teach economics or civics for free.

> The vast majority of students do not have any opportunity to learn to program.

Then it should be put into the school curriculum, and a qualified person should be paid to teach them, instead of the current expectation which seems to be "programmers will teach these kids coding in their spare time because...everyone should learn to code!".


I have often seen it pitched as "Software engineers make a lot of money! Everyone should learn to code!". It's not quite an explicit link, but it's often strongly implied.


And all the studies showing software developers or "IT people" make the most money.

Individuals can understand nuance, people don't.

I'm reminded of that exchange from Men In Black. J (Will Smith) insists that people will understand about aliens, K (Tommy Lee Jones) disagrees:

J: "Why the big secret? People are smart. They can handle it."

K: "A person is smart. People are dumb, panicky dangerous animals and you know it. Fifteen hundred years ago everybody knew the Earth was the center of the universe. Five hundred years ago, everybody knew the Earth was flat, and fifteen minutes ago, you knew that humans were alone on this planet. Imagine what you'll know tomorrow."


I don't see why, it would just look silly if it was framed that way for anything else.

"Mathematicians make a lot of money! Everyone should learn to count!"

"Authors make a lot of money! Everyone should learn to write!"

"Cartographers make a lot of money! Everyone should learn to read a map!"

"Micheal Phelps got a lot of Olympic gold medals! Everyone should learn to swim!"


To be fair, while the push from some corners of academia and some other places for everyone learning programming/program design is not motivated that way, the push from tech industry capitalist for widening the base of skilled developers is exactly that (and not so that more people can make lots of money, but so that software development labor, due to increased supply, is cheaper). And its pretty much that tech industry capitalist push that has driven the language of "learn to code" rather than "learn to program".


It's like you can gain a lot from just the first basic knowledge how to do things outside your main profession. In the same way as everyone should know how to sew a button or replace a fuse or power plug and save themselves a lot of money, knowing how to script your excel might save you countless hours. That doesn't mean that everyone should be professional tailors or electrical engineers, or developers.


"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." — Robert Heinlein on "The competent Man"


Very big difference between

>>Specialization is for insects

and

You can know the name of that bird in all the languages of the world, but when you're finished, you'll know absolutely nothing whatever about the bird. You'll only know about humans in different places, and what they call the bird. … I learned very early the difference between knowing the name of something and knowing something. - Richard Feynman


>>Coding is a highly useful skill that can be applied in many professions.

Every set of X elementary skills is a highly useful skill set that can be applied many set of Y professions.

Ask any doctor and they will explain to you the importance of first aid, and basic knowledge of a healthy human body. Ask a driver and they will explain to you why driving skills are so important. Plumbers are likely to tell you the importance of learning some basic tap-changing, flush-knob changing skills. Teachers may emphasize on learning and teaching skills as the most important skills on earth. Basically every skill has the same importance as every other skill.

>>"Learning to code" just means recognizing when a problem can be solved by applying a discrete series of repeatable steps

This in the old days was called 'Math', and trust me has been a part of school curriculum for more than a century and half now and things seemed to have barely changed anything.

You assume that by learning to code a person begins to start thinking about automating any process he/she comes along. While that skill is a rarity even among programmers.


> Ask any doctor and they will explain to you the importance of first aid, and basic knowledge of a healthy human body.

Yes, and, guess what, teaching first aid and basic human health in schools is (outside of debates over content relating to sexuality and reproduction) relatively uncontroversial and widely accepted.

> Basically every skill has the same importance as every other skill.

This conclusion does not follow from the idea that some people will argue generality for any given skill, nor have you supported it otherwise.


The assumption here is programming in some way is special.

What's actually special is building things. While in school, my school principal had our school host science and art exhibitions every year. We would routinely attend other science and art contests at other schools. The common pattern there? You will see the same 10% population in every school participating everywhere else.

To break this pattern, our principal bought in a concept of team work, basically to pair up 90% people with the participating 10%. It was a colossal failure, apart from the fact they were teams on paper, it was essentially those 10% people doing all the work while everybody else in just for the participant tag.

The issue here is human behavior and psychology. The assumption that merely teaching programming will likely build master makers, automation identifiers out of every school. In reality a bare regular 10% of the kids are likely to have the motivation and discipline to see things through.


"The productivity boost we could get just by eliminating people manually copying and pasting (or, dear god, re-typing) things from one spreadsheet to another would be enormous, let alone other applications."

You do realise that:

a) Historically working hours have not decreased with an increase in productivity, and

b) The notion of a basic income, and the concept that not everyone needs to work is regarded with extreme suspicion (in the US anyway)?

All those people who are copying and pasting things are doing a certain job. You can eliminate those jobs with a single script, but I'm not so sure doing this en masse would be a positive thing without making a parallel effort to reduce work hours for everyone and making a push for basic income.


Historically, working hours are decreased with increase of productivity. 10-16 hours working days 6 days a week was common just few centuries ago.

https://en.wikipedia.org/wiki/Eight-hour_day


> Historically, working hours are decreased with increase of productivity. 10-16 hours working days 6 days a week was common just few centuries ago.

Those long days arose in consequence of the industrial revolution (both because the things which enabled them were products of the industrial revolution, and because they were adopted to maximize the return of the capital investments in factories in industrialization), working hours were shorter previously.

Its true that they later came down as a result of social movements spurred by the conditions those long hours produced, but its not clear that those were net shorter hours from productivity or just a reversion of the increase.

(In some areas of the developed world, there've been further reductions since, which may be a continuation of the same social movement adapting to changes in the production capacity, which would perhaps illustrate a socially-mediated course for the trend you suggest, but that hasn't been universal.)


Before IR, nobody had watches to count hours. Working days were irregular, i.e. worker must work as long, as sun is in the sky, from child age till death. I myself helping my father from 10am till 10pm when harvesting wheat, and I am not surprised when my parents are saying that they worked much more than me when then were young, for much less.


> I never interpreted "everyone should learn to code" to mean "everyone should get a job as a software developer".

"Everyone should learn to code" has the same relationship to "everyone should get a job as a software developer" as "everyone should be literate" has to "everyone should get a job as a writer" or "everyone should learn some math" has to "everyone should get a job as a mathematician". Though, really, I prefer "everyone should learn to design programs", or "everyone should learn to analyze and structure systems to perform defined tasks".

To quote from the preface of the excellent How to Design Programs, 2e:

--

Programming differs from good programming like crayon sketches in a diner from oil paintings in a museum. To emphasize this difference, we refer to the latter as program design. Don’t let the words “painting” and “museum” scare you. We wouldn’t have spent fifteen years writing this book, if we didn’t believe that everyone can design programs and everyone can experience the satisfaction that comes with it. Indeed, we go as far as saying that program design—not programming—deserves the same role in a liberal-arts education as mathematics and English: everyone should learn how to design programs.


Exactly. If you work in an office with a computer at any job, learning basic coding can save you a week of work every year.


I take no issue with people that are passionate about education trying to make a programming curriculum and promote it. Far from it. But when you have politicians and high ranking business officers beating the drum it does become suspicious. Visas are already abused to manipulate the labor market. And now they want to create even more cheap labor domestically.

Also, it is not as if there are huge barriers to learning to program. Anybody that can type a google query can get started. All the tools and knowledge needed are at your fingertips for a sufficiently interested person. As many in this thread have pointed out, they started from nothing, learned on their own for a year or two, and landed a gig.

To me I can't escape the feeling that well monied interests are working their hardest to ruin one of the last good, well paying careers.


Yes they are trying to create more cheap labor and yes they are trying to eliminate well paying programming jobs. This has been the goal of business from the start not just for programming. I would love to see more cheap labor domestically. I'm tired of work being shipped offshore to come back broken and barely functional simply because it is cheaper. At least maybe we could ship it around the country. Business will continue to try and assembly line all processes including programming. I've had to learn to live with that and I think we all will have to as well.


"learn to code" as a movement, has an unfortunate name.

You're right that it has never meant the everyone literally needs to be able to write software in the programming languages du-jour.

I think the author understands this but is responding to those around him who have taken the words "learn to code" literally.

The "learn to code" movement came about around the time that Doug Rushkoff wrote "Program or be programmed". I don't blame Rushkoff as he clearly made the case for individuals taking control of their digital lives lest it be taken from them. He never meant that everybody literally needs to start programming.


Yep. My kids are encouraged to learn to code whenever they get the chance. Coding is problem solving, applied logic, putting abstract math to use in everyday life. They also play with Legos, but it doesn't mean they're expected to grow up to be civil engineers.


"Everyone needs computer programming. It will be the way we speak to the servants." -John McCarthy in 1966 (Developed Lisp, coined the term A.I.)

(Later he said: "Alas, it didn't come to pass.")


Just as you interpret it a certain way, I'm willing to bet a lot of people are interpreting it as "learn software, make millions!" as well.


Can't same be said for other industries as well? "Get into oil business, you'll make millions!" "Get an MBA, start your own business and make millions!" "Become a real estate investor and make millions!"

Coding is just one of many things that has potential to make millions. But it's not something that will be done overnight. All these make millions statements forget to point out how the folks in these industries got to those millions.


I don't read it that way anywhere. You seem to be talking about problem solving and algorithms. These concepts run much deeper than coding. I suspect the emphasis is less on problem solving and more on recognising scripted languages.

I recently took on a hobby of building a very large shed and successfully completed it. I learnt more about problem solving using tools (saws, files, chisels, pincers, RHDs, etc) and physics than I have in years through coding. Dealing with stresses, gravity, plumbing, etc was amazing.

I learnt a lot about problem solving without coding a single line of code. The learn to code is emphasising the wrong lessons. I've use several of these sites with my kids to see this first hand.


This advice is as good as someone saying "please don't learn to play music".

Not only is is bad advice since there is obviously value in learning to play music even though you are never going to become a professional musician.

But saying don't learn to code it's like saying "please don't learn this category of language which will make you able to communicate with the very ecosystem that is increasingly dominating your life.

It's like saying. "Please be illiterate in the most important language you can learn besides your native one for the future"

In Denmark there is an expression "fagidiot" meaning idiot of their trade. I.e. people who are so puritan about what they do that any mistake is considered almost fatal.

It's like going to the movies with your friends from the army who can't enjoy a war movie because a gun doesn't really sound like that or you can't fire that many rounds of your M-16.

The probper advice is of course' "Please learn everything you consider interesting, and keep learning even if you suck at it and will never become a professional. Learning something means growing as a person."


This advice is as good as someone saying "please don't learn to play music".

The analogy is quite strong, here - perhaps more than the author realizes. I get the basic point about not expecting just pick up a book or two and crash the gates, overnight. But there's something fundamentally disheartening about a statement whose core message boils down to: "Don't try".


Exactly. Coding is one of the first really really important industries which have as much foundation outside academia as it does inside to allow for people to become masters beyond any comparable education the might take.

It's so important that even learning to pseudo code is going to take you a very very long way.

Code is IMO language. It's the language if you'd like of the future, how cliché that might sound.

Understanding even the basics of code (as of music) is almost of value way beyond becoming an expert in the field.


This article clearly states that it does not support total aversion to programming. It simply says that programming isn't for everyone.

Music is actually a good example to discuss because, while you're playing piano, you could've been playing tennis. While you're playing tennis, you could've been in art class. While you were in art class, you could've been hiking with friends. While you were hiking with friends, you could've been doing more math. While you were doing math, you could've been reading literature. These things are not for everyone, and that an activity has value is absolutely inadequate in proposing a global prescription for children.

I can see a place for civics, economics, exercise, biology, history, math, science, and English as global prescriptions for young people, but programming is far less obvious.


Programming is the most obvious one because it the one thing thats going to allow the individual to interface with civics, economics, excercise, biology, history, math, science and english in a structure manner. That doesn't mean you are not going to play tennis. It doesn't mean you only have to do code. But to understand just the basics is many many many times more useful for the individual than you seem to be suggesting.

You literally can't find a more versatile tool for that. So the whole idea that people shouldn't learn to code is rooted in either some deeply misguided understanding of how humans grow intellectually or som deeply juvenile idea that if you aren't ready to put in the work to be a real coder you shouldn't get started to begin with.

It doesn't matter if it's not for everyone, people will find that out when they try it out. Some of them will become professional developers many wont, but most will develop an understanding and insight into the very thing that is disrupting their lives in an increasing maner and perhaps use it to further develop other fields.


You are speaking only for value of something, when I was talking about weighing value when burdened by constraints. I gave a list of valuable interests, but I noted the problem of opportunity cost.

So the question is not "should we have dance" in schools, but, "What do we cut? What do we downsize? How about exercise or history?". Alternative, "instead of programming, how about statistics and personal finance?" These are far more interesting questions, because these questions acknowledge constraints and weighing. If we didn't have to exercise constrained thinking, we mind as well say, "let's have it all".

Saying that programming is at the intersection of so many subjects is unrealistic, and the same could be said about math, physics, or statistics, and I'd say that statistics and personal finance are far better candidates if you had to somehow squeeze one more thing into school at the cost of something else.

The reason why software exists at some intersection with another discipline is almost always statistics. Statistics, then, is the most flexible gateway to numerous disciplines, and software is the tangential detail to statistics. The scientist exercises experimental modelling, collects the data, and inputs it into an excel sheet, and imports it into the university software suite. And this is the right level of involvement between a scientist and software. The scientist is rightly not interested in the details of software. Nor the physicist, or the student of history, literature, or the exercise enthusiast or the musician. These people are all very justified in throwing money at the problem for a prepared solution, because software is the detail.


That's because I don't buy the premise of the burdened constraints. Especially not when it comes to programming.

You are trying to build up a false contradiction. Different choices brings people forward in different ways but it can never be a bad thing to learn something even if you don't end up becoming a professional. The cost you are talking about is simply not there with programming. Your ability to access almost any field greatly increases with the ability to program, especially in a world where the collective information accumulated to almost double every second year.

You can use programming to explore all those other fields. Whether music, personal finance and so on.

Saying that it's unrealistic that programming is at the interection of many subjects makes absolutely no sense.

Programming embeds statistics not the other way around.

It's the one thing that can be used to simulate almost all other phenomena expect the experience itself. And so the cost would be NOT to understand at least the fundamentals of programming.

If you disagree with this then that's your right, but to claim that someone shouldn't be learning programming is just as absurd as claiming no one should learn music or football just because there is a cost.

That "cost" is perspective and perspective is always valuable.


I watched the HBO show "Vinyl". It struck me how analogous the music industry back then is to software today. Everyone was starting a band. Everyone was pitching to A&R guys. All kinds of characters were attracted by the money and the glamour.


I played music professionally for a couple of years. The value of music, the insights, the understanding of composition, harmony, structure, consistency, rhythm, patterns, melodies and so on have proven invaluable in most other fields I have dabbled with whether design, cooking or even my pathetic attempts at coding.


>The line between learning to code and getting paid to program as a profession is not an easy line to cross. Really. It took me more than a year of self-taught study before I got a freelance gig.

That actually makes it sound easy.


Yup.

"With no credentials I was able to work hard on my own for a year and then landed an entry level position with very good future prospects."

What other lucrative professional industry is this easy to break into?


> What other lucrative professional industry is this easy to break into?

It's only easy if you're an autodidact and have high-level English proficiency. In reality it's easy for the people it's easy for, but 95% of the population is still excluded.

Programming as a skill will be completely commoditized in the next ten years. But some developers will still make good salaries, because as the world gets more interconnected the value of being a winner in a winner-take-all market is only increasing.


Well, there are other skilled professions that pay well and are relatively easy to get into. Welding for example.


Welding looks pretty hard. I'd need a welder, and some welding stuff (IDK what it's called) and a bunch of stuff that people are OK with me welding to other stuff, and somewhere to keep all the stuff that won't go on fire from welding. Presumably some degree of hand eye coordination is required, should one wish to retain the use of said body parts. It's always seemed the sort of thing that someone like me should be kept well away from, preferably by s safety fence.


US avg. salary welder: $37,000

US avg salary software developer: $99,500


A simple mean doesn't fully illustrate what's going on there. Most welders are self-taught, and while their skills are more than adequate for what they're doing they likely don't have the skills necessary to (for instance) weld stainless steel or aluminum.

A welder who graduated from Tulsa Welding School with a year or so of training is likely going to start out somewhere around $50k. I have a friend who went there and specialized in underwater welding, and now he works for BP in the Gulf somewhere. His job consists of mostly inspecting the work of his juniors, and he makes about three times what I make as a software engineer.


> specialized in underwater welding...

> ...and he makes about three times what I make as a software engineer.

Hazard pay is coming into play here. For me, that's not worth it.


As I understand it, there is no shortage of divers. There is a shortage of divers with the specialized knowledge and abilities he possesses.

It's more dangerous than sitting at a desk, but realistically it's not as dangerous as it sounds.


I was scuba diving at age 12, it's not as hazardous as you'd think with proper training.


Yep, I'm open water certified so I understand the hazards. People still die doing it all the time.


I think my knowledge of welders might be biased. I'm from southern Louisiana, and most welders that I know work offshore making somewhere in the neighborhood of $50-60k without too much experience. Cost of living's low here, so that's a really comfortable salary. On top of that, oil companies do have good opportunities for advancement.


Programming is the profession with the least barriers to turn into a career. Most others has mandatory licensing, degrees, training, etc. How long does it take to be a doctor? A Lawyer? Most traditional engineering degrees? Heck working as a barber takes more effort in most states.


Hence a lot of people have problems with calling our field 'engineering,' when you compare the training and licensure of programmers with 'real' engineers. I personally like it, though I prefer programmer over engineer regardless.


This is also probably why there are so many just-plain-awful coders out there who don't belong in the same room as people who do things well.


There are "just-plain-awful" engineers in other fields of engineering also. I started my career doing mechanical and electrical design work before gradually switching to programming (and then getting a degree.) Engineers who don't understand gear ratios, tolerances, circuit design, etc.

Maybe a little more in the programming because that is where the money is at right now.


At the same time, disparities in practitioner quality are going to exist in every field, not just software development.


> Programming is the profession with the least barriers to turn into a career.

That's largely because its not a profession, by any of the usual definitions that separate a "profession" from a "job".


It's not.

You know how I got started in the restaurant industry?

A friend said, "Want to work at my restaurant?"

So I did.

Another friend, knowing I wanted to get into film, said "Wanna come work on sets with me?" Just like that. Foolishly, I blew 3 and a half years in school instead. But I didn't have to do any of that, I could've just gone to Cali and started working so long as I wasn't picky about what I did in the beginning.

I, like the author of the piece, have managed, with considerable cajoling, to get into an entry-level position at a software consultancy but even that took me 8 months of government-paid internship and another year of self-training before that, plus hours as a hobbyist programmer when I was a kid. It was basically luck, and persistence, that got me this job at all, most other software firms and recruiters took one look at my resume and passed.

Getting this job is one of the hardest things I have ever done. There's no easy route. As a self-trained programmer, I'm hampered heavily by the lack of degree, but a degree means 4 years minimum of schooling, and even some amount of study just to qualify to get into the university that I will do that schooling in.

I am, it's true, after all that, making more even with what is a pretty small salary for a coder, making more than I ever did cooking in the states. And I've got a very understanding employer, with a flexible schedule and benefits even as an entry-level grunt that are better than I ever dreamed of as a kid. But it's hardly been an easy or magic road to career success. I had to prove myself over and over, and still fight with anxiety over making sure I can do it again every day just to keep a hold on where I am, let alone move up from there.

Coding isn't for everyone, and while yes, I pulled it off so far, I still think the bootcamp/Codecademy/MOOC snake oil of "Buy our course for just €49.99 and become a rockstar coder!" shit is basically a pack of lies.


None of my friends have the whuffie to get anyone else a job like that. So I had to get the paid-for credentials just to get my foot in the door.

I could not now get anyone else a job, nor can any of my current or former technical-side co-workers. My career is owned and operated by the good ol'boy network of a completely foreign caste.

So you can't "just get a job" in this field. I don't know if you have noticed, but HN regularly features articles and blog posts about how incredibly broken tech hiring is these days.

All those people pushing young folks into learning how to code see it as the long-term solution to their perceived problem of not being able to find affordable skilled labor for their businesses. But the supply of skilled labor is not the problem. The problem is that the businesses are not only failing to look for it in the seemingly obvious places, but it is very likely they would not recognize it if they were literally handcuffed to a qualified applicant for a solid fortnight, in a survival challenge designed specifically to favor analytical personalities.

Rather than fixing the system to identify and match labor to business, they want to rearrange the entire world such that picking a random person off the street to do the job won't be a complete failure. They want everyone to learn how to code so they won't have to worry so much about their woeful inability to discern if someone is truly well suited for their open position or not.


1103: "Please don't learn to read."

1527: "Please don't learn to write."

1965: "Please don't learn to type."

2012: "Please don't learn to code."


Actually when I see that stream of events, it makes me really wonder what's the next step...


Please don't learn to train AIs


"Please don't feed the humans."


"Please don't learn."


Please don't learn to think critically.


Please don't leave the earth.


2024: "Please don't learn to bioreact."

I'm assuming that there will be some short-hand verb for messing about with genetic organisms, and/or for home-synthesis of biological compounds. "Please don't learn to modify genomes" or "Please don't learn to synthesize chemical compounds" didn't feel pithy enough.


"Biohack" is pretty common - although that term also means, e.g, implanting magnets in your fingers.


with VR and 3D printing, it will something like

"please don't learn to manufacture"


Please don't learn to procreate.

Edit: Actually no. "Please buy a smart phone" is the next step after "please don't learn to code".


I'm curious how you came up with these years.


A very brief google/wiki-dive for "literacy in Europe" and "personal computer", and then mostly guesswork.

It's a pretty Eurocentric approach, and probably rather inaccurate, but I suspect that you could find a dozen examples of bans on learning to read and write on any given continent in the past thousand years alone. (I was really more torn about what year to choose for typing; a case could be made for anywhere from the late 1800's after the invention of the typewriter, all the way to the 1990s, when I first had to deal with a mandatory typing class in high school.)


Please don't learn to think.


2035: "Please don't wake up."

(not the sheeple, the burgeoning AI that is then arguably the primary intelligence on the planet. I feel bad explaining but think it is probably necessary. I'm also not super serious.)


2210: Please don't learn pyrokinesis


2020: "Please don't learn to drive"


This seems like a ripoff of the old Atwood article, down to the plumbing analogy.

http://blog.codinghorror.com/please-dont-learn-to-code/


Not sure if this applies to everyone - the home page loads, but that page does not. I can, however, read it via cache: http://webcache.googleusercontent.com/search?q=cache:m8BHxct...


Yes, I experienced serious deja vu from this article.


I think this what people really are looking to stop:

"Tim just got a new phone. Tim needs his IT friend/family member to help him add wifi to his phone. However, by help, Tim hands the friend/family member the phone and now it works!"

Like others have said, the layman wants "computer science", but really wants "computer literacy". Phones, software, technology changes so fast that current teaching methods become outdated in years (I'm looking at you Intro to Computers classes). As computer literate users, we get you go to "Settings" and poke around til you see something like "Network" and then something like "Wireless" or "WiFi" and are set. However, would I do this same behavior with a car? Pop the hood and poke around?

Computer Science seems like the route to people because of the side benefit of "figuring it out on your own" comes naturally after 3 weeks of programming. Don't understand something? You have to pool every resource you have (instructor notes, slides, books, websites, etc.) to 'get' it. And even then its not an 'AHA' moment. Its a pray and 'whew' when whatever you did works.

But somewhere along the way, most programmers pick up that 'it', that computer savvy-ness that people are looking for. They want to stop being dependent on IT people because all we do is huff and puff about how simple a task is (regardless of program, if someone asked you how to bold text, how would you get them to bold the text WITHOUT pointing at the screen?).

Personally, it doesn't have to be "learn computer science", but it needs to be a complete redesign to the "Intro to Computers" style class.


The fad when I was taking CS 101 in 1985 was "program verification", so the first thing they taught all the freshmen was "programming calculus" [1], to write code in a stripped down "CF Pascal" dialect, along with proofs of its correctness.

I suspect the real reason was to weed out as many people as possible from perusing a degree in CS, because at the time everybody was signing up for CS because they thought it was the ticket to make lots of money.

If you didn't already have practical programming experience, you were fucked, because you had no frame of reference for what the proofs they wanted you to write were about.

If you already knew how to program, it was frustrating and useless, because you already had an intuitive understanding of the concepts they were trying to teach, but you'd never actually use those "programming calculus" proof techniques in real life -- the scope of the proofs was microscopically small, and couldn't scale to real-world non-trivial problems.

https://www.cs.umd.edu/~basili/publications/proceedings/P39....


As a software engineer, I rarely use the algorithmic computer science stuff. It is useful to know (and it is a requirement for my job occasionally), but the only times I have ever had to implement a sort routine were for interview questions or exams.


> "with President Obama pushing for legislation to include computer science in every public-school curriculum."

Computer science or computer literacy? The latter would probably be quite useful.


Well whatever he pushes for, the Republicans will oppose it, so he should have been pushing for more computer surveillance in schools.


> "I would no more urge everyone to learn to program than I would urge everyone to learn to plumb."

Agreed, but I would expect everyone to know how to flush a toilet. I think computer literacy is essential, not for your kid's career, but for your kid's life.


Similarly, plumbing literacy is very broadly useful. Even if you never become a professional plumber, you will probably benefit if you can figure out why a toilet or sink is not working as expected.


Yeah, if you turn the pressure off and are careful, you can do a lot of poking around. Like with computers. Turn the power off, and you can poke around quite a bit. Not so much with phones and modern day laptops though :/


Being able to fix your own sink is actually a useful skill.


Duct tape.

With a large enough roll you could rule the universe.


The public school curriculum was designed to prepare students for employment, which many would consider mercenary but I find perfectly reasonable. It's entirely within the spirit of public education in the US to require computer literacy at the primary level and computer science at the secondary level.


I don't understand the aversion to teaching people things specifically because it will help them on a job. Education should prepare people to lead fulfilling lives as part of a peaceful, cohesive society. Knowing how to solve other people's problems is a huge part of that in a society where not all work is done by robots.


"Everyone should learn to code" makes at least as much sense as "everyone should learn trigonometry." To me, it makes much more sense, actually.

I'm a software engineer. I might not be if I wasn't exposed to it in high school. Exposing more people to software is a decidedly good thing because it gives people agency. Teaching coding in high school also can enhance math and science that's already being taught. It gives students another interface to the curriculum that's far more exploratory than pen and paper. Everyone should learn to code.

Everyone should not be a software engineer. Obviously. People should do what interests them. That doesn't mean bootcamps are bad. Actually, I work at one! I think we do a really good job. There are problems with the market that Basel correctly identified. Its hard for consumers to assess the quality of bootcamps. There are certainly are snakeoil salespeople out there. But, I've watched hundreds of my students go on to start fulfilling careers in tech because of their hard work and ours. The market will sort itself out. The bad actors will eventually go out of business.


Every high school should have a calculus teacher. That doesn't mean that all graduating students will know calculus when they leave.

And at least since 1990, every high school should now have a computer science teacher.

It's not so much that everyone should learn to code, but that everyone should be able to have enough of an introduction to it that they will then know whether they need to learn the rest of it or not. Even if they don't, they will still have a better idea about what it entails, and technology will be less arcane magic and more like something that anybody could learn if they had the time and motivation.


I agree. I'm not sure everyone should be forced to learn for loops, or whatever. I also don't think high schoolers should have to memorize the krebs cycle or the fact that pv=mrt for gas systems.

I don't know. I really think young people should be in an environment where they can explore and grow passion for things. I think coding is fuel for that fire. I think its not enough to have CS teachers around. I think people should be exposed. It should be in the ether. You should see it in chemistry. You should talk about genetic programming in biology.

I just think HS should be so different from what it is now.


Could it be that the future will value the ability to read code highly, where where writing it will be a specialisation?

Consider the discipline of western music. Many accomplished people learn to read music, but fewer to write it. Particularly to write at sophistication. Code is written to be read: when you compose choral music you need to be mindful of an individual chorister's ability to pitch intervals, and to find notes within the scale. (Handel and Haydn and Mozart are far easier to sightread than Bach and Beethoven.)

Strangely, our education system around computer code focuses on ability to write code first, and read code either as an afterthought, or not at all.

Our traditions come from programming languages which were very difficult to read. Unless you understood the tools for composition purposes, you probably couldn't read them. Even the early scripting languages were impenetrable.

Composition-focused languages like python and golang change that. Whitespace-orientation and named parameters/purpose-build-arg-structures help a lot. Also, you can write sophisticated python/go without understanding complex type systems. Compare to the mental checklist you run when you need to work out where a Java or C++ method call is being dispatched to.

Note that western musical system is far from general-purpose when it comes to the building blocks of sound waves. It has no mechanism for the rich world we call subtones, and it's not fantastic at rhythmic sophistication. Its strength is in the power you get within the tradeoffs between the notation and standardised instruments.


I'm a musician who performs for money maybe 2 times a week on average. And I don't make a lot of money, and I'm not all that great, etc.

I have a different perspective on your point.

When I was little, I learned to read and perform. And I could get around playing clarinet in my school band. But I never really read or even played all that well.

Years later, I had more or less stopped reading because none of the people I play with read anything... but I had been composing a lot of music and had learned to play several instruments including piano and guitars. You don't have to "write" to program a sequencer or tell the banjo player to play these 4 chords over and over.

In the last couple of years, however, I've gotten more interested in theory and had a lot more opportunities to play written music (cello and double bass with my wife's orchestra and later bass and piano with a 16-piece jazz band).

It really wasn't until I was able to play well that I got to where I could functionally read well enough to do it on sight.

I now know a whole lot more theory-- enough at least to look at some intervals and say "ah, that's the root to the three to the five in the bass" without worrying about the key, and then have my hands just play the stuff.

And the reason I have somewhat of a grasp on theory is that I've played for years in situations where I've had to improvise a bass line or guitar solo for a tune I've never heard, and so theory has been both very helpful and proven by practice.

My point is that I feel the same way about code: I have a hard time reading code at a useful level if I couldn't have written similar code.

So I feel that it can be more helpful to learn to 'create' in some fashion -- I don't know if I'd call it writing-- before learning to formally code things. I don't agree that learning to read before we learn to speak is all that helpful for most folks.


You make a good point. There's lots of accomplished musicians who never learn to read. And some "full-stack" musicians like yourself who start with tabs or similar, and who come to writing earlier than reading. I think several of the Beatles never bothered to learn western notation.

My analogy has some problems. Still, I think it's interesting to consider the real possibility of a future where code-reading is a mainstream skill, and where writing is considered a specialisation. And where code writing is done with the expectation of serving the reader.

I've started to mess with figured bass recently. I have an old ukulele and am seeing if I can fit some lute songs to it, and get used to taking my finger patterns from those marks. Kind of a step up from tabs.


" think it's interesting to consider the real possibility of a future where code-reading is a mainstream skill, and where writing is considered a specialisation. And where code writing is done with the expectation of serving the reader."

Yeah, I can understand that as a good point. Still, as a person who was teaching Lit at a university for 8 years of my life, the idea that writing is the mantle of a special class and that reading is enough for the masses seems

Writing (code / music / language) is easy enough that I'm not understanding why you wouldn't teach it to folks even if they can't do it at the same level as the texts they are capable of reading.

Anyhow, best of luck with your ukulele experiments :D


That's a great idea! And the way you explain it in terms of music makes it seem like that should be very obvious, but I never heard it stated that way before.

I've heard Harold Abelson say “Programs must be written for people to read, and only incidentally for machines to execute” [1], and Jeff Atwood say "Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live" [2], but how about: "Write code that you'd be proud for your mom to read".

[1] http://www.goodreads.com/quotes/9168-programs-must-be-writte...

[2] http://blog.codinghorror.com/coding-for-violent-psychopaths/


A lot of programs are single-use throwaway scripts customized for a specific use case, or at best have a lifetime measured in months or years. Whereas with music there are centuries-old pieces that are still perfectly usable and probably better than what a composer would produce as a replacement. So no wonder our attitudes towards reading and writing are different.

> Composition-focused languages like python and go change that. Whitespace-orientation and named parameters help a lot. Also, you can write sophisticated python/go without complex type ontology.

This is backwards. Languages without (or with limited) type systems are very hard to read, because you have a lot less reliable information about what's going on.


    > Whereas with music there are centuries-old pieces that
    > are still perfectly usable and probably better than
    > what a composer would produce as a replacement.
As I see it, reverence for traditional composers comes from the culture where more people read than write. Other factors too - humans bond through sharing of specific tunes, and copyright makes manuscript artificially expensive and sparse.

Good composition is engineering.

When you study grades for composition or improvisation or kodaly teaching, you are taught systems by which you can write music. And you are taught to look out for ways to find new systems for yourself.

This surprised me. Up until then my mental model was that all art was subjective. But in western music, if you're doing something weird you're in trouble. Particularly in an exam.

Once you're trained in the art, you can hammer out good pieces on demand. Sophisticated pieces take time, as with coding.

By way of example, Kodaly would write exercise problems for his students on-demand, just to demonstrate a point during a lesson. He'd sit down for two minutes and scratch out a new piece, which they'd them perform. Faster than having to find an example in something that's in your existing library. Some of these exercises have lived on. This isn't evidence of genius. Rather, he was an engineer of the John Carmack school. Someone focused on an outcome, dismissive of the "don't reinvent the wheel" crowd. He had a need, he followed a system, a neat minimal piece was born. He considered it throw-away code.

We'll never know, but Mozart Coronation Mass shows signs of aggressive corner-cutting to get a product out the door. He reuses a lot of ideas across movements, he reuses an idea from one of his operas for one of the features. And - because it's a mass - he got his structure and words for free. It's good music, but we shouldn't put it on a pedestal.

    > This is backwards. Languages without (or with limited)
    > type systems are very hard to read, because you have a
    > lot less reliable information about what's going on.
In the hypothetical I describe, it would be the author's responsibility to make it clear with the restricted tools they have available. Code would truly be written for the reader.


>A lot of programs are single-use throwaway scripts customized for a specific use case, or at best have a lifetime measured in months or years.

There are just as many musical compositions that are written as a jingle for a commercial, and then are promptly forgotten.


I think (and have often said) there are too many software developers.

However, I also believe that way too few people are technologically literate, and if anything that number seems to be going further down. To live effectively in an information society, people should not only be aware of what computers do, but they should also be able to write small programs that help them in daily life, as opposed to relying on the umpteenth horrible web service to accomplish trivial data processing.

So, more people who know how to code basic stuff can only be a net-positive as our society is moving away from manual labor. At the same time though we need less people becoming actual programmers. Our profession is absolutely flooded with people who are less than competent.


I agree with you - but I believe there are too many developers because there are, in general, not enough jobs.

There are millions of above-average to quite-high intelligence people on Earth, and computers are now so accessible, one used to be able to be bought for $5 (rpi zero), before supply ran out. In many other fields (especially ones requiring soft skills), "Who You Know" often is the only determining factor between you getting a job and being unemployed and (incorrectly) being deemed useless by society.

Humanity is unfortunately growing increasingly redundant, to the point where even specialized areas of medicine which take 7-13 years of additional schooling are facing automated extinction within the next 25 years. There are some industries, such as Accounting, which could have been automated years ago, but artificial barriers are put up between computers and clients of Accountants.

Unfortunately also, the people in power, seeing this, are just after a massive cash grab before it all falls down.


> but I believe there are too many developers because there are, in general, not enough jobs

True, but that is sort-of hidden under development methodologies and frameworks that enable untalented people to do less with more. It's also compounded by the fact that companies are horrible at hiring and making software decisions.

> the people in power, seeing this, are just after a massive cash grab

Well, people are always trying to do cash grabs, but in this context I can't help but wonder if the software development ecosystem is maybe exhibiting an unconscious immune reaction to our increasing obsolescence. I've seen different fields react differently to it.

In a typical office environment, there is maybe 1 hour of actual work going on per person per day, yet companies are not getting rid of those people. You already mentioned medicine, here the immune reaction is generally a quasi-religious aversion to change, even where that change saves lives or improves quality of life.

In software, it's on-site basketball courts and clueless people with meaningless university degrees spending their days tricking bloated frameworks into performing trivial tasks.


Regarding the cash grab, it seems like some industries have a large number of players after a cash grab which will destroy their reputation, but the cash is worth it to them. In other areas, most people seem to value their reputation and will act with integrity most of the time.


In my opinion there would be two benefits to widespread coding literacy. The first one is that a wider range of people get in touch with the concept of programming and can consider it as a career option. This would IMO also help diversity. This does not mean everybody has to make a career of it, just like with all other subjects. The second benefit would be that a lot things people do manually right now could be helped along by simple ruby or python scripts. If more people had that tool on their belt, they could use it when it's beneficial for them. They don't have to be a full-time dev for that.


This is attacking a strawman, as someone who will enthusiastically promote coding in schools and who try to teach my kids coding, my idea has never been that everybody needs to become a software developer.

To me learning coding is like learning math or history. It is an essential skill for modern society even if our primary job is not necessarily centered on those skills.

I believe done right, programming is a good way for many to understand many concepts in mathematics better. Many fields would benefit from just minuscule amounts of automation, yet they are not doing it because those working in the field have no understanding of the possibilities of automation. Having basic understanding of programming would let you understand better when and where tasks can be automated, even if you aren not necessarily the person doing the automation.

Almost everybody today use some form of software for their job. This software could offer better forms of automation of repetitive tasks if there was a basic general knowledge of the principles of programming.

Understanding how a task can be divided into multiple steps, which can be repeated by loops or conditionally performed by if statements does not require deeper understandings of singleton patterns, factory objects, strategy patterns, open closed principles, linked lists, binary search trees etc. Useful things can be done with simple programs.


Agreed on not just doing it for the money, but learning for the sake of learning can be very rewarding and valuable.

I'm a marketer, but I consider myself a technical one. I taught myself HTML and CSS years ago, picked up some JS, learned quite a bit of Ruby and RoR, some database stuff, and genuinely enjoy learning about computers and how they work.

I don't use the bulk of it in my day-to-day, but knowing how to break down a problem into individual components, and more importantly, knowing the scope of what is possible with technology, has been a huge benefit for me (particularly on the analytics side of things).

I'm learning guitar now after having been pretty decent at clarinet when I was younger. It is humbling, and a slog, but it is making me think about music in new ways, and now I'll never look at a talented guitar player again and think "yeah, that looks easy, anyone can do it" when I know I physically can't stretch my fingers to play half those chords yet.

Learning a new discipline, even just the basics, is often enough to expand your world view, give you newfound respect for those that are experts, and can help you grow as a person. Being a "Renaissance Man" is something a lot of people have given up on but an idea I still think has quite a bit of merit.


>an even greater number are run by modern snake-oil salespeople tapping into the average American’s desperation.

I need to see some data on this.

It is true that whenever code is being written, someone on the team needs to understand the problem well enough to ensure that the requirements are being met with an appropriate architecture and design. In many organizations, these roles are filled by experienced persons, and the project just needs programmers.

Boot camps should do two things: 1) Identify persons with a mind for programming and the will to learn it; 2) accelerate that learning far beyond what a person can self-teach, with a focused curriculum that will enable them to contribute to a team on completion.

The point of the 'everyone learn to code' movement is to address the long term loss of better-paying manufacturing jobs with jobs that pay better than minimum wage. For sure, not everyone qualified for manufacturing is going to be a good programmer, but manufacturing automation is expanding, our competitiveness will depend on it, and the manufacturing robots and systems need to be programmed by someone.


>>Meanwhile, my friend wrote his code only after thoroughly understanding the problem. He used almost all the allotted time to think about the problem. He did not write code until minutes before the deadline.

I fully appreciate this. Indeed, coming up with good idea of exactly what the problem is and then getting an idea of a computational solution are the most crucial steps to programming. Once you get a fairly clear picture of a computational solution, you can very easily write the code.

But coding is what must be done ultimately. If you do not write code that can be executed on an electronic (till now) computer, you haven't actually solved the problem, period. No amount of hand waving can do away the coding. I think, a child who learns to code can get many cognitive benefits out of it.

Of course, jumping right into coding without giving a thought as to what the problem is is a sure-shot way to frustration and other ill-effects. It's like getting a soldering gun and trying to build a complex circuit without doing any analysis and design first.


This is like writing 'Please don't learn algebra', to me. Life revolves around computers; they are not merely appliances.


I hate to be so negative and come down hard here, but no, no it doesn't. Life does not revolve around computers any more than it revolves around movies, cars, or food. Life is about experiences and relationships, happiness...(and love too with a bunch of mushy other crap). The sooner we all realize this, the better.


Computing explains the technological world around us. The same reason it's very beneficial for society to have a solid understanding of basic science (and that doesn't mean being scientists), today society should expand its horizons and have a basic understanding of computing (without being software engineers).

I don't need to be a mechanic in order to fix my car was used a few decades ago. Today, cars may very well be black boxes, but if society had a basic understanding of computing, perhaps they'd advocate for more open car technology. It's beneficial for everybody.


To quote Tertullian, what does data structures have to do with setting up a home wifi network? The latter most certainly doesn't need knowledge of the former.


You could make the same argument about algebra.


As someone with zero previous experience who attended an 8-month "Software Developer" program (not at a bootcamp but at a locally well-known public school in Vancouver) 2 years ago, for the hyped-up reasons the author mentions in the article (job availability, the "cool dynamic startup" factor, flexibility), I certainly agree with the premise that coding is simply not as easy as some people advertise it to be, and is not for everyone.

Now in a Junior Dev role working on complex ETL applications for the last year and half, I certainly feel like I am running on thin ice in my role due to my lack of knowledge about data structures, algorithms, and general computer science basics.

Certainly, the internet offers many resources for the right learner, but for those like myself who are not particularly gifted individuals, it would take another number of years to think about calling myself a "software developer" instead of a "coding technician".


Keep at it. What you can learn on-the-job from experience is much more valuable than anything you can learn in a dev bootcamp or through other avenues, IMO. I doubt you need many fancy "algorithms" to write complex ETL applications.


> Basel Farag is an iOS Engineer (he thinks). Besides GPU processors, robits and AI, Basel enjoys learning about computer science, astronomy and philosophy. He was once referred to as "the Daft Punk of people," a phrase whose meaning eludes him to this day, but which he's pretty sure is a compliment.

Please don't learn to humblebrag.


I see it more as offering the opportunity to people to have an interest in it. I learned to code in my own time, by digging around and finding tutorials and snippets.

Part of my secondary school (high school) education was mandatory science classes where we covered biology, chemistry and physics. The majority of that stuff I haven't used since. With computers being more and more a part of our daily lives, why shouldn't coding be part of what we teach our kids? If they don't take an interest in it then that's fine, but there'll be a good chunk that will then use it later on in life.

Not to mention that it's actually great for teaching problem solving. Showing that breaking down a problem and solving it in a number of steps really helps grasp how to solve a problem.


I think the article title and body are a bit disconnected. The author doesn't _really_ want no one to learn to code. They do, however, want to make sure people understand it's not going to be their golden ticket to the Wonka factory.


I feel like I've read this article before somewhere. Regardless, it's about 2-3 years too late. This "learn to code" stuff was all the rage up until about a year ago but has since died down a bit.


Yes - I don't know if it's a trend, but it seems like plagiarism in internet journalism has been gaining steam lately. I think the internet is full now; we can stop creating new content.


The neat thing about the ease of searching news sites is you can see the incredible proliferation of news articles that are just rewriting someone else's scoop.


"Please don't learn to code" keeps echoing in my head as "Please don't learn to read and write music".

There's intrinsic value in understanding the technology on which our life now fundamentally depends, as well as value in the intellectual rigor and skill development that "learning to code" requires.

I worry that the ultimate end of the "don't learn to code" path looks likely something like Economics -- a sadly esoteric subject on which those ignorant of it are nonetheless dependent, to their detriment.


It is useful for people to understand what goes into developing software in the same way that it is useful for people to learn geometry in high school. Code is the most tangible form of algorithmic thinking that is accessible to most people. If a few hours of coding help people understand what it means to think that way, then it's a good thing for them to do. I took a drawing class, as an adult, to help me understand artistic perception. I'll never make a trade of it, however.


It would probably more beneficial for everyone to learn the logic used in coding rather than the less important syntax of coding. The logic is what is applicable to other fields.


>The line between learning to code and getting paid to program as a profession is not an easy line to cross.

I think if you are a women then going to bootcamps is still a good choice. I convinced my cousin to quit her job and get into a local bootcamp in chicago in 2014. Fast fwd 2016 she finally founds job as a junior dev at a local web dev consulting company. You also get scholarships for women/minorities.

Learning to code is still a good choice if you see yourself enjoying it as a profession.


I fully enjoy "knowing" how to code (hacky js/html/css/sql, mostly from stackoverflow). It helps me understand and communicate problems in my day to day job, it's fun to mess around with for creative projects outside of work. I don't think I'd enjoy it as a full time job. I do think the analytical aspects, along with the ability to create something from "nothing" makes it worthwhile to learn for most people.


I think adult can do whatever they want. But every kid should be given the chance and opportunity to learn coding, and it should not be mandatory.


You have hit the nail right on the head. Everybody + opportunity + non-mandatory. This concept of equal opportunity seems to have disappeared in the last 5 years and I'm heartened to see people still talk about equal opportunity (vs the fallacy of equality), even if the media doesn't discuss opportunity anymore.

I was a kid who was writing assembly at about 10 years old because I loved it. I saved up to buy my own computer by delivering newspapers for 2 years. I learned to program by trial and error. I introduced my kids to programming but never pushed it. They have not embraced programming like my wife and I did when we were kids. I would not want programming mandated for my kids, despite my own passion for programming.

A comfort using computers to do research, word processing, calculation and create basic posters/articles/projects/videos would be very beneficial and may be better a better mandate than programming.


Why not mandatory? Lots of other core, useful skills are.


Because I believe it is not an essential surviving skill for everyone (at least for now).


Neither is literature, nor languages, nor history, nor geography, nor mathematics over simple addition and subtraction.

But we teach these to kids so that they have a greater chance of understanding the world around them.


Fair point. But what subject should we replace from the current curriculum? Adding another subject seems like another burden for students.


Dream of the day everyone decides to "Learn to Hack" - since learning to code will only go so far.


> Software engineering is a lucrative field, but the transformation from “coder” to “engineer” is challenging.

And in other news, going from "I know how to read and write" to "I just wrote the next Harry Potter" is also lucrative yet challenging.


The learn to code movement created to get more H1B visas for Microsoft rather than fulfill an actual need:

http://www.slashdot.org/story/275175


"Learning to code" is a lifelong endeavor. You don't pick a laptop and set aside a few hours. You can't do that if you wanted to learn how to write poetry in French while only knowing English.


The author of this article is as much as admitting he was expecting strong reactions from the post title. I believe we should remove this click-bait headlined article from this (mostly) non-polarized place.


Learn to code. Coding is a horrible profession from many perspectives. Many people have tried and failed to do it as a full time job. Many people who do it don't do it well.


>Many people who do it don't do it well.

"Doing it well" is difficult to define because defining it depends too much on the context. Too many opinions on how you should use language feature/API/algorithm generally leads to never really knowing the right thing to do. Unless we're talking about a small percentage of the bell curve of skill, then of course many people don't do it well.


Many people on a lot of professions provably don't do it as well as the superstars in each field. Are University of Oregon law school grads as 'good' as Stanford law grads?


I know the bar is pretty high in terms of what is passable as a programmer that works actual gigs. It's higher than a lot of other professions, where credentials mean more than actual performance and you can fudge/bs your way out of many situations. So it's fine if someone wants to try more power to them. Anyone can potentially do it, but to do it at a commercial level you can't just pass yourself off you have to be relatively good at what you do... otherwise you won't get hired or get fired rather quickly.


Oh there are plenty of (usually large) companies that love to hire legions of mediocre (or worse) "programmers" to work on large projects.

How do I know this? I work in the defense industry. I've seen some things :'(


Yep. I've seen those things, too.

If I weren't politically libertarian already, they probably would have pushed me in that direction. Beware the military-industrial complex indeed.

Part of the reason why I support UBI is the number of people I already see receiving a basic+ income and benefits in exchange for doing a job that doesn't really have any rationally justifiable reason for existing.


Please DO learn to code - https://jobpigapp.com/blog.html#/4


this does not really fit my experience. If you've got a decently sized brain you can learn to code and get a job doing it. it wont be the best job and certainly to me, developer is not a dream job. its not even a very high paying job. but it pays the bills and can get you a mortgage and there is enough work. software development will be the working class of this century.


I'm sorry, but didn't this same article get posted two or three years ago? Looks incredibly familiar.


I've heard that in Japan programming is just another job. Are they ahead of the curve on this?


okay but should high school really have required classes for Calculus but NOT intro to programming? I don't understand why our kids _must_ learn math at a high level, but even basic programming is not required.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: