This happened recently: https://techcrunch.com/2016/05/10/please-dont-learn-to-code/
Then this happened too: https://medium.freecodecamp.com/please-do-learn-to-code-233597dd141c#.ppljou5z1
It’s not new. Exactly the same debate happened in 2012: https://blog.codinghorror.com/please-dont-learn-to-code/
Here’s pretty much the conversation that’s going on.
“Not everyone needs to learn to code. It’s a fairly niche technical skill set, used in one kind of career. Insisting that everyone learn to code is like saying everyone needs to know plumbing.” (For some reason, both articles used this analogy; maybe the second one was just ripping off Jeff Atwood’s?)
“But computers are everywhere, they break often, they’re not well understood, and the world runs on them. Even if you don’t want to be a software developer, it might be smart to have a passing knowledge of code.”
“It’s just not necessary; people have other things that require their time and energy. Besides, there are all these newbies coming out of coding bootcamps, thinking they know everything and are entitled to a job. Then they’re either horribly let down, or they go out and write bad code the rest of us have to deal with.”
“Only some bootcamps are like that, and only some students. Often bootcamp students make good open-source contributors, too. Besides, many of these students intend to go into other fields anyway–they just want to kind of know what they’re doing around software.”
“The software field is way too romanticized. People want to be a software developer because they want to look smart and get a high-paying job. In reality you’re often overworked and the job is very stressful. Lots of students enter this field with an overly optimistic idea of what it’s like.”
“True, but we also have a massive lack of coders in America. There are lots of great jobs out there, and a big reason for the overwork is that we don’t have more people in those jobs.”
Yep, that’s about it: people who are already in the field, arguing whether newbies should be encouraged to join the club.
Personally, I think these people need to calm the #%#$ down, if you’ll excuse my cartoon language.
Here’s the question that determines whether you want to code.
It’s not “Are you dedicated?”
It’s not “Do you actually like computers?”
It’s not “You’re not just in this for money or prestige, right?”
Do you want to?
That’s it. That’s literally the only question you should be asking. This pretentious judgment of newcomers based on their “dedication” or “talent” or any other bull as judged by an outsider who has no clue who you even are? That shouldn’t matter to you. At all. If you want to code, code. If you want to learn, learn.
If you don’t, you don’t have to, and you shouldn’t. The people who are trying to pressure you into learning anyway–saying it’s “the new literacy” or whatever–aren’t you, any more than the people who are all like “stay out of our clubhouse.” The idea that either camp can or should tell you what to do is pretentious nonsense.
But if you still want in? Welcome to the clubhouse.
I don’t care if you have kids. I don’t care if you’re not a dev by trade. I don’t care if you start off thinking you know everything–you’ll learn soon enough, unless you’re generally a jerk with no empathy, in which case your interaction with computers doesn’t really matter as to whether I’ll like you.
None of that freaking matters.
If you’re not dedicated, you won’t put in the time to learn.
If you’re bad, someone will tell you and (hopefully) give you hints about how to get better.
If you don’t like computers, there are easier fields for you to get into for money and prestige.
The technology field has enough natural barriers to entry without people building more. In fact, the natural barriers hold too many people back who would otherwise be great coders; that’s why there are so many bootcamps, tutorials, intro-to-programming websites, and even blogs (ahem) to help newbies in this field.
Technology doesn’t need to be only in the hands of this “elite few” that “Please Don’t Learn To Code” article writers seem to be trying to protect. (Ironically? These people are going to be the same people who’ll complain that their manager has no clue about anything they do. At least if the managers knew some basics, the devs would have a language to use to talk to them. If the boss thinks their job is so simple, maybe s/he should look at the bug they’ve been fixing for the past four hours. It’d be more like onboarding a newbie coder, which is something they probably have experience doing. Or should, anyway.)
I do have this to say on the topic.
You know how in schools, we have music classes? Even though most people are not likely to become professional musicians, they’re given a class where they… probably learn to sing better, and take some lessons in music appreciation.
Because music is an art form, and studying it is its own reward.
Writing good code is making art. It’s not “like” making art. It is making art. You can write beautiful code, and it’s a joy to do so.
So if you agree with taking music lessons in seventh grade in order to better appreciate an art form, you should also agree with learning to code enough to recognize a beautiful piece of software–even if you yourself don’t do so, you shouldn’t condemn others for trying.
Not everyone who takes music ends up a very good singer, and definitely not everyone goes on to sing professionally. They only do if they love it and are good at it.
Isn’t that how it should be?
I’m not going to tell you that you should or shouldn’t learn to code. That’s for you to decide–based not on the opinion of some pompous person on the Internet who’s acting like a grumpy black hat and thinks they should decide if you belong in Technology-Claw or Liberal-Arts-Puff–but on one simple factor.
Whether you want to.