"I returned, and saw under the sun, that the race is not to the swift, nor the battle to the strong, neither yet bread to the wise, nor yet riches to men of understanding, nor yet favour to men of skill; but time and chance happeneth to them all."
So yes, I agree, there is a shortage of developers of all kinds. And nowadays, every company out there has some legacy system or another they need maintained or enhanced. Thus we're paid a lot. Some positions are very demanding, some aren't. A position that's demanding to one developer may not be to another (depending on experience etc).
At the end of the day, the big corporations are sitting on hoards of cash. The way a lot of companies are choosing to spend it are via "capex" captial expenditures on software projects. For these they need developers.
I've addressed this for myself by hopping jobs 3 times in 2 years, now my salary is 10% above the local market rate. I am intentionally extracting the most wealth from this situation that I can (within the bounds I have set for myself ie w2 fulltime, contracting I could be making quite a lot more).
How did you manage this? Did you end up switching technologies or fields? Was it just for a salary increase, or were you un-challenged?
The way it came about was partly accidental. When I started this, the company I was at was failing, I knew it was time to leave. Then I took a contract position at a Big Dumb corp, when that was ending, instead of converting to full time, I had 3 other offers on the table. One local company was desparate, that's where the > 10% came from.
Always be interviewing. from constantly interviewing, I knew what the local market was like for my expertise (java enterprise). And I knew a great offer when I saw it.
Talk the talk and walk the walk. Train for the technical interview, be able to talk about how you've rocked past positions, and how you're going to rock this new position.
Put in the time, don't hide from the hard stuff. Every job I'd had I was sticking my nose into everything; frontend, backend, deployments, appserver and cluster adminning, production support, everything. That's how you get to be expert level at everything. It gives confidence, there's no part of the process I haven't experienced and have firm opinions on how to do right.
Sorry that turned in to general "dev career advice".
I agree with the other comment, we are probably in a buble so far as dev salaries, on the other hand, this may be the new normal. I base this opinion on the way central banks are continuing to print money.
Having not interviewed much I'm always weary of looking at job postings, interview questions, and such (for no good reason really).
I've learned a lot in my current position, but I'm starting to feel un-challenged and slightly bored with the main initiatives we are working on.
Soon enough I'll be the only developer left at this place aside from contractors, so that will be strange too...
The other side of that token is that I know guys making upwards of 120k with little work, mainly through office politics and delegating work.
I graduated about 3 years ago. My first job was with a small company. All hands were on deck with little room to mess around. After that I worked for large companies on projects with little organization and poor communication.
If your 8 hours of bug fixing keeps a system generating 100k revenue an hour, suddenly 90k a year seems almost like a pittance.
Even for much less impressive amounts of revenue the math should checkout otherwise your job isn't really sustainable.
If your 5 man development team creates an application worth 100k in 6 months and you sell it to 10 clients, in half a year you've covered a year's worth of salary. Every additional sale related to further development for the next 6 months will be purely profit.
What worries me is jobs where you can't even come close to seeing how company revenue can (or will) exceed development costs, but I'd still keep in mind not guaranteed for a developer to know every factor involved.
People use terms like "get your hands dirty" to describe programming. Programmers are usually not encourage to wear button-down shirts, suits, etc.
You're basing this view on a very small subset of companies (startups). the vast majority of places where people work still expect professional dress above the level of t shirt + cargo shorts and flip flops.
Think that as you are possibly an american, your parents might be at ur age getting a house and perhaps even raising you.
We definitely make a lot of money, but everything nowadays if expensive and the "end-game" objectives are more expensive for us than it was for our parents.
In the end, it's just a number, and you are possibly worse off than the previous generation.
Even after rent, you still end up with more money than most people earn in other places.
Those who make such claims usually seem to be those who get coffees at Starbucks, eat out every day, travel multiple times a year, get Uber rides everywhere, drink at bars regularly, buy the latest gadgets, etc.
>Even after rent, you still end up with more money than most people earn in other places.
It's virtually certain that people in management, sales or any other important part (besides engineering) of any company aren't thinking like this. "How much can I get" is much more constructive way to approach this, compared to "how much do I need".
Remember, you don't have to spend a bunch of money on useless crap, but since most people are doing just that, you can negotiate as if you did too.
Developers can provide extremely good value for a company.
If you really feel so bad about what you get paid, tell HR you want to take a pay cut. Maybe they'll be happy to help.