The truth is in the UK the only industry paying a decent wage for technical work (not just CS grads, but engineering, physics, maths, etc) is banking.

I am a Mech Eng graduate and my CV has been floating around in various databases for years, and I still get recruiters calling me and offering less than half of my current salary (and I'm no rockstar, just an ordinary worker) to go and work on something mechanical for a big engineering company. It really is a joke.

This is all tied up in the vestiges of the class system, technical people are still thought of as "blue collar" (despite being better educated than most white collar workers) and the management class will never pay us fairly - except in banking where they are quite clear about what is worth what. I gather in the US it's different, they don't have all that baggage holding them back.

I don't believe that's true in the US. Software works seems to be white collar.

But I still make a point of referring to my fellow software people as 'software engineers', since (1) it's how my company styles the titles[1], and (2), it reinforces the idea that we're not "code monkeys", grunting and beating on keyboards for bananas per day (not that I'd turn down fruit if offered :-) ).

[1] I work at a hardware/software company, we have an array of mechanical and electrical engineers as well.

There's two types of boredom: the boredom that comes from inactivity and the boredom that comes from constant frenetic activity of no deep interest or challenge. Coding up a new algorithm every day still fails to be interesting if the only purpose of the algorithm is to squeeze and extra 1e-5 percent out of some transaction to help someone who isn't me make marginally more money.

Not that I have anything against the banking industry, it's just not for me. In Brave New World terminology it's a career for beta-pluses, not alphas.

What is closer to the truth is that nowadays "average" technical people are way more abundant than ever, mainly because there are ever more and better learning sources (books, ebooks, conferences, video tutorials, chats, forums, certification courses, crappy 2-year colleges and good universities, fancy IDEs, super high level programming languages, frameworks and libraries for everything, etc.) The learning curve is not as hard as it used to be, if you want to be an "average" technical guy.

And it's just basic economics that people (and entities composed of people, such as companies) don't like to pay a lot for something which is extremely abundant and available in their area (logically). This is because when humans are in the process of valuing things they're affected by a mixture of need, personal preference, the scarcity of the things in question, and the moment in time when this process is taking place.

I've been a "pawn" "low life" "technical monkey" developer for a while, and I actually began working as a developer from the start with a secondary hidden purpose of studying the ways companies act (because I was already an economics nerd before becoming a developer), and this is the usual result of my observations (plus studying the history of other companies):

- Technical Monkeys with NO additional nontechnical skills:
They're like the average rock drummer who can keep a beat but other than that is not very useful. They will always earn a lower wage, because there's just too many of them out there: they're not especial. Wage is just another price, remember.

- REALLY GOOD Technical Monkeys with NO additional nontechnical skills:
They are exceptionally awesome and productive, and will get paid accordingly, unless they work for a really stupid boss. They're like the really good session drummer that records albums for all kinds of artists, and as a hobby breaks world records for faster drum fills, longest drum solo, etc. He has no other skills but he's a absolute beast at what he does.

- And then there are those Technical Monkeys who are good (though maybe not the best) at the technical stuff AND have really good business ideas i.e. better management ideas than their bosses do. So they can manage teams AND they can speak technical monkey. They're the Phil Collins. They will either earn a good wage or start their own company.

The key phrase is unless they work for a really stupid boss. Because it doesn't matter how smart and ambitious you are if you're working for the IT department of some megacorp and spend more time filling in Change Request forms than doing real work. All you can do is a) quit and go have fun working for a games company (notorious for terrible pay) or b) go and do the same thing for a bank for 2-3x the salary.

> This is all tied up in the vestiges of the class system, technical people are still thought of as "blue collar" (despite being better educated than most white collar workers) and the management class will never pay us fairly

That got me thinking. I am quite sure this kind of mindset is present in a lot of countries, including where I live (Brazil) :-/