We are the New Blue Collar

Wed 10 April 2013

Over the past year, there's been an explosion of interest in terms of teaching children how to program in schools. This is a great movement; the world is becoming more digital by the day, and as we automate away jobs with technology we certainly need more people to help maintain that automation. While it's not a 1:1 replacement for the jobs that get lost in the process, it's an industry that's not going anywhere. Organizations such as Treehouse or Codecademy, and efforts such as code.org are helping educate others when it comes to the simple fact that these skills are useful in todays economy and cannot be ignored.

The thing is, as someone who's lived and worked "in the trenches" for the past seven to eight years, the rhetoric coming out of some of these movements is somewhat alarming. I think this is doing a major disservice to the future generations of programmers, and I wanted to take a minute to explain what learning to program really does for you, career-wise.

The Hidden Side of Programming

There's a few things these movements don't teach you about programming for a living.

If you're following along, this isn't really considered a long-term career path. As the world becomes more and more digital, being able to program becomes the same kind of skill as being good with your hands and being able to follow some directions. Yes, knowing how to control the devices and technology around you enables you to "build out your dreams" or "own your destiny", but it's not a given - it requires levels of drive and dedication that some people aren't willing to put out there.

The entire world cannot be artists, or it wouldn't function. If I talk to any programmer I know who actually enjoys doing this for work, they consider themselves an artist first and a data wrangler second; it's not a particularly enjoyable field to be in just for the money. These educational programs and efforts sell themselves as a way to realize your dreams, and while that's a lofty goal, it's just not a given because you can now write some code.

Dissecting some Lofty Quotes

I would hesitate to refer to "Coding" as the "American Dream". The role of a programmer is easily equated with any service-industry level job, albeit using more of your brain than your hands. You're still beholden to someone else at the end of the day, someone who controls when you get paid, someone who expects more and more with less and less. Programming is not a safe haven from the economic woes we face today.

I believe the point made at the end of this quote to be very accurate, though: the top 10 percent shouldn't have the only access to essential knowledge deemed 'critical'. The thing is that this statement could be used for just about any industry out there today - Law, Medicine, even Craftsmanship; our society doesn't enable easy access to this information any more than it does with programming. It's a larger problem that needs to be solved.

This is an incredibly bland quote that glazes over the fact that most programming jobs don't actually entail building new amazing things. It is very, very possible that you will wind up maintaining someone else's code or editing a trainwreck that the person before you created. It's not all innovation and aspirations.

Another bland quote that implies that being able to program helps you control your destiny. If you have a desire to learn, you're in control of your destiny. Subscribing to a single discipline doesn't guarantee you success or even (necessarily) the chance to obtain your goals. It's a tool, a utility.

I've worked with a ton of programmers in the past, at different companies of varying sizes (startups, bigger companies, freelancing/contracting), all over the world, and as a result I don't feel off the mark with this statement: you wind up not caring about this two weeks in. As long as you're creating for someone else and some company owns what you build, you begin to back off of the idea of going all in. You stop being wow'd by the idea that millions of people use what you wrote - you realize it's the network effect, and you could go work any number of other computer-related jobs and have the same thing. This isn't to say you're a passion-lacking worker-bee; you might have aspirations of helping people around the world, and that's a good thing

You'll see many deny this, though, as the tech industry has a problem with speaking out, and has what could arguably could be considered a very Japanese work ethic

Granted, we're not at the point of literally dying, but the hours and expected commitment have many sad comparisons. It's also not to say you have to fit that mould - it's just noting an environment you could easily wind up in. You're expected to care 110%, or they'll find someone else who can do what you won't.

Whether a computer cares about you or not is totally irrelevant in terms of whether you should learn how to program or not. We should be teaching it in more schools, but we should be teaching it for the right reasons - it's essential, and can be an art, but it is not some almighty savior.

The company that's going to get involved with schools and teach children how to program... is presenting themselves as a way to land a dream job or become your own boss. The former isn't always the case, and the latter is in actuality such a rare occurrence that most people never have it. I greatly admire them for reducing the costs surrounding teaching this material, but positioning this as a world changing proposition for the people who choose to give it a shot is ultimately misleading.

So Should I Learn to Code?

Yes. A million times yes. Just do it for yourself; don't do it for the money (because it won't always be there), and don't do it because people tell you it's job security - you can't possibly do it forever, and unless you plan your retirement correctly, good luck when you're 40. If you don't get into it as an art, then you're getting into nothing but new-age labor. You become a mechanic of the digital age.

I believe programming should be taught in schools, and I 100% agree it's an essential skill in the world today. I do not, however, agree with the people who seem to believe that it's the most life changing thing you could do for yourself (of course, I encourage you to determine this for yourself). If we're not careful, we're going to do to the next generation what earlier ones did to us. We have a country of college graduates who were brought up on the idea that there'd be jobs for them, because it's what they were led to believe from those who came before them.

They were wrong.

Teaching programming is an important goal as we move forward, but it is not a fix for a broken educational system. If we want kids to succeed, we need to continue to focus on fixing that - rooting out the bad teachers and paying teachers more. We need to fix the problem in this country that people are going hundreds of thousands of dollars in debt just to have a decent paying job.

The aforementioned programs don't fix these problems; they're simply training for the newest blue collar job.

Note: code.org is not full of bad quotes; I think it's a genuinely good idea as far as movements go. The quotes I pulled are indicative of the problem, a case of making the field out to be something it's not.