Programming jobs suck?
Apparently an article has been making the rounds lately called Why a career in programming sucks.
Basically, it explains what's wrong with programming as a career and why you shouldn't do it. It's well written, and kind of right, and kind of misguided. It's also annoyingly racist and protectionist, which misses the point completely. Don't you just love people who blame immigrants for all their problems? But nevertheless, he makes a few interesting points. I'll start by agreeing with him and then explain the part he missed.
Here's the bad news: most programming jobs do suck. And worse, if you're one of the programmers with the sucky jobs, those foreign workers will be taking it away from you, probably sooner than you think. Why? Because they're willing to do the same work, sufficiently well or equally well or better, for cheaper. Because foreigners are evil? No, just because there are lots of them, and they're just as smart as you (or smarter), and they really really need the job, and they'll do anything to get it. Welcome to the global economy. Watch your back.
More bad news: it's true! Programming really isn't prestigious! Doctors and lawyers do make more money than the average programmer! And yes, they're more popular and they do get all the girls! (*) Why? Because people who go into law and medicine just plain aren't as geeky as people who go into programming. If you're doing it for the prestige, then please, please, for your own good, take this guy's advice and avoid programming like the plague. In fact, the plague is a really good analogy for how popular and famous programming will make you.
And a direct hit: the "knowledge capital" thing. Yup, all that stuff you learned about programming languages and syntax and tools? Useless almost before you learned it. Programming technique never gets easier. You'll have to be learning new stuff your whole life. Ick! But that's the way it is. If you hate learning, go do something else. Like he says, accounting is a great choice.
Unless you're doing it right
And yet, here I am, a programmer, and I love it, and I also get paid pretty well, and while not exactly prestigious, at least I'm not a total social outcast. Also, I'm not an immigrant (insofar as any Canadian is "not an immigrant" in any realistic sense) yet I don't fear for my job. So while the above arguments are all logical enough, apparently they don't hold true in every case. What's the deal?
The deal is that Canada and the U.S. are positioned as (**) leaders in business and technology. If you're the leader, you get paid more, no matter what you do. But to be a leader, you have to do the work better than everyone else. If immigrants/foreign workers are doing the same work as you, just as well or sufficiently well or better, for cheaper, you're doomed; Larry Smith's laws of economics are against you. I don't have very good advice for you in that case, except to see above and find a "prestigious" or "lasting" profession that isn't so doomed. You're the reason I don't disagree with the article.
But chances are, if you've read this far, you're not actually in that category. Something makes you different from everyone else. Maybe you have a good idea, or you're faster, or you produce fewer bugs, or you think more flexibly than a mass-produced Windows administrator or Java programmer. Maybe you understand the fundamentals of programming and can apply it to other things. In that case, you're unique. Uniqueness is worth money and prestige. Lots of it. And there's not even a limit to uniqueness. The more knowledge there is in the world - and there's more every day - the more interesting problems there are to solve, and the more unique solutions we'll need to solve them.
So that's my advice. Don't just be a programmer. Be a unique programmer. Find your niche, and be the best at it. Then your job will stop sucking, you can stop worrying, and you can just get back to the programming that you were supposed to be doing for fun in the first place.
(*) In related news, doctors and lawyers who are women presumably get all
the guys. Or maybe not. Guys can be scared away by smart, successful
women. On the other hand, geek girls are immensely popular, in the rare
cases where they actually exist. Anyway, I forgot my point.
(**) "Are positioned as" is not the same as "actually are" or "are
agreed to be." Please don't shoot me.
ssh+2FA to all your machines, anywhere, without opening firewall ports.