39 comments

[ 3.5 ms ] story [ 97.6 ms ] thread
Anecdotally, that seems correct. Wages for competent software engineers have noticeably risen in the last year due largely to supply shortfalls. It is a really good time to be a software engineer if you have some skills.

A caveat is that part of the perceived average pay increase is that the minimum talent level required has also been increasing. Demand for generic, average skill has not been where the growth is. I think we are in the early stages of a bimodal job market.

What's creating this shortfall?

Too many openings?

Too many engineers working for themselves?

Too many engineers retiring?

Too many engineers going abroad?

Too many engineers interested in the same small number of niches that leaves everyone else with too few applicants?

...?

Exponential growth of the industry.
All except:

> Too many engineers going abroad?

I don't think this is a contributing factor. More software is getting made/integrated than ever and the talent pool is inelastic; programming is "hard" and "boring".

Also, after the dot-com crash and the first wave of offshoring, programming was sort of seen as a dead end. CS enrollment dropped considerably, and I'm not really sure that it has fully recovered.

I would argue that the talent pool isn't completely inelastic, but it does take a number of years for the talent pool to respond - especially because the most acute shortages appear to be in the market for senior-level developers.

At least at my school, I think CS enrollment has swelled in recent years. However, it is not the same as it was back in the bubble (well before my time): back then, the intro professors had various schemes for weeding out potential majors; now they are still trying to get most people stick with it.

With that in mind, I think "recovered" is the wrong word: since enrollment back there was inflated with people just interested in a good salary, nobody in CS really wants that to happen again. As one of my professors would say, that's what the business school is for. These days there is quite a demand on the major, but I think it's actually mostly from people genuinely interested in the subject.

So, purely anecdotally, my observations echo yours: CS enrollment has increased, but not to the levels of the dot-com bubble.

I started school around then. There was a large bloc of CS majors who just wanted a fat paycheck.

I expect after 2003 or so, that bloc nearly vanished.

Less and less people graduating with engineering degrees, and increasing demand.
Yep. Everybody wants a "rock star". I see the occasional job posting that indicates some willingness to train but most people claim they hire only the very best.

Of course this is not actually true of the vast majority of companies and most of them could bring a smart junior dev up to speed pretty quickly but that's not the prevailing mentality for some reason.

This data seems pretty useless for the most part. Median salary without taking into account the location is meaningless. On page three, they try to separate regions but "Pacific" is certainly way too wide a region to get anything from it.
Agreed. And in the "what matters most" question they didn't include anything about making something useful for the customer, users, world, society, etc. Doing something meaningful is the most important factor to me.
It's pretty useful if you're looking for an overview of the US; it's pretty useless if you're just looking for info about silicon valley.
No, this is wrong. Location is meaningless. A position is worth the value it creates, not "cost of living * N". Companies are capitalist entities and understand fully how value works in a capitalist system but trick workers into accepting some kind of Marxist "from him according to his ability, to him according to his need" idea of salary value. Go tell BMW you only want to pay 40% of the sticker price because you only plan on driving in Nowhere, AR.

The only reason salaries would be depressed in backwoods places would be if the cost of living was drawing in so many workers that it drove salaries down. So is that the case? If you live in some low cost of living midwest spot in the road, do you get a thousand CVs before you finish writing a job description? If not, if you have trouble hiring in these areas then the salaries are too low.

Nearly everyone in the US is a firm believer in capitalism but they don't generally practice it with their most valuable resource: their time.

When you set up a company in Toronto or New York there are clients at every corner, lots of industry meetings, and a large pool of developers to draw from as you grow.

When you set up a company in Timbucktoo you get none of those things. That means that a company at the margin is happier to pay for a developer out of NY, so there is increased demand in NY than there is in Timbucktoo. This drives up salaries in NY.

> The only reason salaries would be depressed in backwoods places would be if the cost of living was drawing in so many workers that it drove salaries down.

Remember there are two curves, supply AND demand, and they resolve simultaneously. Workers could be leaving the region and salaries could still be going down, provided demand was decreasing as well.

Well done, you spotted the only thing my post didn't address: immobile workers. If the workers are so desperate to stay in a given area that they're willing to work for those wages then that could cause salaries to drop in the area. This is why I have no fear of a future of mostly online work: because we all become instantly mobile. If Timbucktoo wants to pay low rates then they'll simply not fill the positions at all. We'll all be working for NY companies that pay better. At least that's how I want it to work out. :)
Location is NOT meaningless. It is common practice for companies who have offices in many locations to vary salary by location (I used to get a 25 percent boost because I was working in Silly Valley).

Go the "we pay everyone the same, regardless of location" and you'll end up with either (a) a bunch of workers who are artificially dispersed, and less effective as a team, or (b) fewer good people, because your competitors are paying much more in desirable areas.

[A dispersed team is not necessarily bad, but it's a /skill set/ and it doesn't work for all types of projects, for all types of people].

My point is; the employees in those other locations should be demanding that 25% boost as well and if they don't get it they should continue looking for positions. I'm assuming you're a capitalist, right? Do you think what you do is worth 25% more than what they do? Obviously you don't because you just admitted this was because of location (i.e. otherwise they're the same).

So what is the market justification for paying these other employees 25% less? Are there more people willing to work in those locations? Of course not. The companies are manipulating those people into thinking that paying them less for creating the same value because their cost of living is lower.

> Are there more people willing to work in those locations?

In this case (and others I am aware of), yes.

The article specifically excludes equity which makes it entirely worthless for buge swaths of the industry.
Anyone have a version that doesn't require 178 HTTP requests x 10 pages?
Not to mention a few redirects randomly thrown in for every page. I haven't seen a website outside of MySpace that is this pointlessly slow.

I wouldn't normally say anything, but Dr Dobbs is ostensibly targeted at developers.

What's the difference between a Software Engineer and a Software Developer?
(comment deleted)
Software Engineer uses C++ and Software Developer use Python. (joke)
(comment deleted)
I don't think there is a difference?
Engineers design. Developers build.
Tongue in cheek: how seriously they take themselves and negotiate.
only the title, which is why the breakdown is explicitly by "title" and not by "position"
What's the difference between an Electrical Engineer and an Electrical Engineering Technician?
The technician actually can remeber Ohms Law :-)

You may laugh but a few years ago my Father was then the technical director of a small Electrical Engineering company (spun off from Eaton) told me that a junior engineer could not correctly calulate the thinkness of cables for a particular load.

(comment deleted)
That doesn't surprise me.

Back when I was fresh out of uni and doing a junior EE position, I had a design engineer rate an electrolytic for the wrong voltage in a switch mode supply. When raised, the design engineer informed me that he didn't make mistakes and that I should go and build a prototype of the circuit without question. My condition was that only if he powered it up, which he did and promptly spend half an hour removing bits of capacitor fluff off everything...

The result was eventually that we just bought COTS switch mode supplies and the design engineer removed head from butthole.

Good question: I've been one or the other for 19 years and I dont know what the difference is. When I tell non-tech people I am a "software developer" they think I'm some kind of "designer" rather than programmer - when I tell them I am a software "engineer" they think I pull cables for a living... Mostly I just tell them I am a programmer.
It's a weird dichotomy. Some notable people (e.g. Bob Martin I believe) have pushed the usage of "Software Engineer" as an indication of professionalism.

It's also a way to tell if someone works at a BigCo. "Software Engineer" seems to be the standard HR-compliant title.

The first graph doesn't mention units (thousands of US dollars assumed).

No mention of the methodology used.

No analysis of the results.

The article is split into 10 different pages.

Tab closed.

Do people in the UK feel that these amounts (at current exchange rates) reflect the situation over here? The numbers seem a lot higher than what I've come across.