Companies worry more about access to software developers than capital
cnbc.com
cnbc.com
Instead, this article for instance advises employers to "increase developer productivity" and "outsource":
> If developers are your company's most constraining resource, the key question is how to increase their productivity.
"Increasing productivity" typically puts pressure on developers. This is quite surprising: developers are seen as a scarce valuable resource, and in a free market that means they should be rewarded for their rare and hard-won skillset. Instead, the universal advice is to pressure them to be more productive, outsource them, etc.
> "Increasing productivity" typically puts pressure on developers.
I agree frequently -- perhaps typically -- when managers put pressure on developers, they often explain their behavior as, they are trying to increase productivity. And indeed, this is probably genuine.
I'd also agree to the converse: That applying pressure in one form or another may be the most common thing that managers try to do to increase developer productivity.
Finally, I agree that applying pressure to developers is not a good way to increase their productivity.
Nonetheless, I'd respectfully disagree that attempting to increase developers' productivity is a fool's errand. Indeed, we often talk about the giant variance in individual developer productivity. If we agree that it's naive and ultimately self-defeating to pressure developers into increasing their productivity, I'd hope we could also agree that it's naive and ultimately self-defeating for managers to make no serious attempt to increase developer productivity.
There are lots of things that can be done to this end that reduce pressure on individual developers. Establishing good processes and tools, both hardware and software. Having quiet workspaces. Ensuring that managers don't suck the souls out of their reports. Establishing protocols that allow developers to work on a maker's schedule. Establishing coaching processes. Building a respectful work environment, where people aren't constantly worried about backstabbing, harassment, or being called an idiot. You get the idea.
I never claimed that increasing developer productivity is a fool's errand.
Quite the contrary: earlier in my career, my supervisor improved my productivity by carefully observing my development strategies and finding areas where I could work more efficiently.
He managed to do that because he was a very senior engineer (over 20 years of experience at the time) and knew exactly what was going on in my development and the way I approached it back then.
The guy was incredibly expensive, but thankfully I worked in a place where paying engineers like him exceedingly well was the norm, so he and others stuck around.
This isn't the norm in the industry and as you yourself observed, the typical way to "increase productivity" is get some fresh-faced MBA to apply some banal "productivity improving" tips from the article he read on the latest "CIO Today", which typically boil down to "apply pressure" and "make them work longer hours".
It often just makes work more stressful and makes the engineers feel worse, but it's the easiest and cheapest way to try to "increase productivity", so that's what's being used.
Reality is that clueless managers who could never cut it as devs themselves are rampant in the industry. Remember the Pointy-Haired Boss? That guy wasn't some outlandish joke - he and his ilk used to rule this industry!
In fact they still do in many places. Somehow engineers got cowed into accepting that their direct supervisor is someone who never did what they do, probably never could, and doesn't really understand it.
I know of no other profession like this.
So yeah, improving engineer productivity is possible. But no, most engineering managers reading this article would not do what it takes to establish an engineering culture, pay for Tribe Elders to stick around, and do all the other complex and subtle and expensive things that actually improve productivity.
In fact, why pay the Tribe Elder at all when we can just fire him and hire 3 fresh-faced graduates instead?!
They'd tell their PHBs to whip engineers harder and get them to stay in the office longer, or worse: introduce bogus metrics like "LoC written" as a performance measure (I've seen this happen THIS IS NOT A JOKE).
Severely underestimated.
I for instance sometimes work from a shared space where most colleagues are not devs. It isn't apparent to them why a quiet environment with little to no interruption is necessary for my kind of work as a dev. Luckily, I can work from home so unless I have a client meeting or presentation, I don't bother going in.
* Company size
* Is it green-field or mostly legacy?
* Is it new tech / new platforms or more conventional (Java and C#)?
* Will the company allow you to work remotely, maybe even on your own terms?
* Benefits, time off, usual suspects apply. Are they crappy or really good?
It's safe to say that a lot of developers who might already have some of these things in place really don't care to move or change jobs for an extra $10K, $15K, or even $20K a year more. For most developers earning over $100K as it is, an extra 10% or even 20% isn't going to change where they eat, what car they drive, where they live, their house, their clothes, or even necessarily what kind of vacation(s) they go on every year. So ... shrug.Sure, and some of them count as "compensation" in the broad sense. For example, if the company is willing to give me more paid time off, then that's equivalent to higher pay.
Some of the other factors you mentioned (such as whether it's "green-field") aren't compensation and can't be adjusted to attract candidates.
Pay is relatively easy to adjust, so it's an easy and fairly general answer to the complex problem of recruiting and retaining engineers.
> For most developers earning over $100K as it is, an extra 10% or even 20% isn't going to change where they eat, what car they drive, where they live, their house, their clothes, or even necessarily what kind of vacation(s) they go on every year.
I've seen developers change their choice of an offer based on $15-20k. It may not seem like a lot to you, but it's important for many people, and I totally respect that.
My comment more broadly was not just about pay, but about the attitude that "developer shortage" is going to be solved by sticks (pressuring developers to be more productive, aggressive outsourcing), rather than carrots (better pay, benefits, work environment, etc.)
The industry's fondness of trying to beat down engineer comp with sticks for decades (how many times was the outsourcing boogeyman paraded?) is the reason for the current predicament.
People looked at all the "outsource all the things!!1" articles on "CIO Today" and decided programming ain't for them 10 years ago. That's why we lack senior engineers now.
Solution for the problem? According to the article, it's more sticks!
Who writes these things?!
It's simply not an issue, and in reality if you're a "bad programmer" you'd have trouble getting hired, let alone staying anywhere for more than a couple of months.
This is the US. You can fire them for no reason. The only reason to do it for "vague reasons" instead is to try and avoid the unemployment insurance hit.
Said otherwise, developers in China and Russia and Central Europe - often who speak very good English - are now increasingly competing with U.S. developers as the world embraces more remote work. I suspect that before salaries increase more in the U.S., we'll see it first increase in these developer-rich emerging markets.
Check out compensation for medical doctors, dentists, nurses, attorneys, sales people, and an endless list of others in the US compared to Russia, China, and Central Europe.
Hint: the median pay for any of these is often 5x or more here.
Compare cost of living too, while you're at it.
Practically any profession in the US makes more money than anywhere else. Certainly in big cities like SF and NYC.
> Said otherwise, developers in China and Russia and Central Europe - often who speak very good English - are now increasingly competing with U.S. developers as the world embraces more remote work.
There were articles about outsourcing 10 years ago too. In fact, the perceived rush to "outsource all the things!" that many companies embraced (to their detriment) is why a lot of good people saw software engineering as a hopeless field consigning them to compete with foreigners for pennies.
That's why we have the current shortage of senior engineers: sensible folks didn't want to have to race to the bottom on comp against foreigners living in locations where $50k buys you a palace.
> I suspect that before salaries increase more in the U.S., we'll see it first increase in these developer-rich emerging markets.
They already are. Check out what's going on in Bangalore right now.
The tech industry has been scaring developers into submission by waving the outsourcing stick for decades. Then they discovered good talent is rare everywhere. Now good engineers in Bangalore are making salaries that are in the same ballpark as American salaries.
Let pay rise there too, I say. Good for them.
Everyone else, well real wages have been flat or declining, with some recent shorter term gains. Real income has increased by a whopping 5.1% in 12 years. [1] If you shift the timeframe back to 1978, real wages are unchanged. [2]
Supply and demand has become fundamentally broken in the labor market. It doesn't work anymore.
[1] https://www.forbes.com/sites/eriksherman/2018/09/09/as-some-...
[2] http://www.pewresearch.org/fact-tank/2018/08/07/for-most-us-...
But on the other hand, no. Paying more just ensures that the scarce and valuable resource is allocated to the companies that can make the most profits from it. That's good, as far as it goes, because that loosely corresponds to providing the most value for society. But it doesn't make more engineers.
Maybe it will in the long run. Big salaries will cause lots of kids who are in high school now to choose to study computer science in a few years and 20-25 years after that we'll have a lot more experienced software developers than we do today. Great, I hope that happens.
In the meantime, there are not enough developers around to write all the software that we need. There is a lot of stuff that just doesn't get done because the software isn't there. Projects cancelled, startups failed, services not performed. Sometimes, you can't hire the developers you need regardless of what you're willing to pay. That's what the article is talking about.
In those places, wages often rose to compensate for commensurate rises in cost of living.
Where did wages rise the most? SF Bay. How much did they rise? 30-50%. How much did cost of living, especially rent, rise during that time? Roughly the same.
Can developers in SF Bay afford to buy a house?
No.
Yet somehow they are content with these modest raises...
> Paying more just ensures that the scarce and valuable resource is allocated to the companies that can make the most profits from it.
Even if that's the only advantage, speaking as engineers, that is a huge advantage. It means engineers are paid more. Even if all else remains equal, that's a good outcome for engineers.
> But it doesn't make more engineers.
This was already covered below.
Better pay convinces more and better people to enter the field, encourages existing senior developers (the exact sort that are most needed) to stick around and keep doing meaningful work, and reduces turnover, so years of engineering knowledge and training aren't wasted because the only way to get a decent raise is to job hop.
These are just 3 random examples of how better pay will "make more engineers".
I still don't get how getting paid more is bad for engineers or the field as a whole. In every other case, rise in demand/supply ratio will increase price. Why shouldn't it happen for engineers?
Even if that was the only effect, it would be good. But obviously, there are many more important positive effects to raising pay. In fact, a big reason for the current "shortage" is that pay was kept artificially low for a long time, now you suggest we keep doing that... why?
But I think it's important to recognized that the limitation is not just capital. I think we should absolutely be trying to improve productivity as well. You're right that simply pressuring engineers is useless at best. But that doesn't mean that productivity improvements are impossible.
Isn't that like saying, Hey there's an oil crisis, what are you taking about, just pay more for oil.
The SW development crisis is that companies have to pay more for high-octane developers and they don't want to, or can not afford to pay ludicrous prices.
Which is exactly what happens during an oil crisis... :)
Oil prices rise, and people who don't need oil so much stop purchasing it.
> The SW development crisis is that companies have to pay more for high-octane developers and they don't want to, or can not afford to pay ludicrous prices.
Right, with one small difference:
In the US, employers get to whine to the government about this eternal "crisis", then the government issues hundreds of thousands more work visas (in addition to the "minimal quota" of hundreds of thousands that is already issued every year like clockworks), and then the employers are happy: they get to fire older, well-paid employees, and hire fresh H1B holders who are tethered to their jobs and can be deported for poor performance, much like slaves.
They keep wages down this way, until next year, when they whine some more about how Americans don't want to become engineers. One wonders why.
Paying more happens; so does seeking to exploit currently-underutilized supplies (equivalent to outsourcing) or find ways to improve efficiency of systems that depend on oil (equivalent of increasing developer productivity), both a responses to the first effect of the supply constraint, high market price.
There's a whole bunch of smart people right now who won't go into tech because they can make more elsewhere.
Another example is senior engineers who retire because their investment portfolio is large enough, and they don't feel like working hard for another year just to make another $150k. If it was $400k, they might stay. These are the engineers who are the most scarce and at the greatest demand right now.
Another example is turnover. Engineers currently have to job hop every couple of years to get a decent raise. That leads to more waste of engineer time and effort than any single management improvement that can possibly be implemented.
These are just 3 examples off the top of my head.
In every other field, it is obvious that more pay == more and better candidates. Yet somehow engineers are the single exception?
Against any sensible market theory?
Personally, I started programming in HS (class of ‘02). I could have gone the programmer route after HS, after college, and even after grad. I’ve had opportunities during my professional life as well. The one serious negative doesn’t seem to go away - programmers are treated by companies in ways my health can’t tolerate. I need every day to start and end roughly around the same time and with good healthcare.
Let me just say that after at least 10 years of routine 10-12 hour days and occasional weekend work, I think maybe you made a better decision than I did.
I make less than industry rates working for a large corporation and you'd be shocked by how much pressure and technical responsibility I have as one person. And no matter what I do to try to get help, the burden stays on me because it's perceived that "I can handle it".
So again, maybe you made a better decision.
Out of curiosity, what do you do instead?
Why don't you find another job then? If you're making below market wages, you should be able to find another employer to pay you about the same for a much more relaxed work environment.
I think partially, the market where I am, employers are quite greedy and it can be difficult to find places that have good work/environments and the higher pay. It's a bit of a tradeoff, choose one or the other. It's been getting better as more cutting edge companies have moved to the area over the years, but still, the good stuff happens elsewhere.
I tried to get career counseling before to get some help, however, they recommended I start my own business rather than continue to look for a traditional job.
I know that would be a hard road (been through several startups already). I'm not afraid of the hard work, I just have some familial limitations that make it infeasible at the moment (trying to adopt).
That said, your point is well taken, and my friends and colleagues often recommend the same. I'm not sure if I'm an optimist and keep hoping the place I'm at will recognize and reward my contribution (unlikely), or I'm some kind of work sado-masochist. Not sure!
This is obviously where imposter syndrome comes into play. If you're confident in your ability, you aren't scared you will be fired or let go for standing up for yourself.
It was recommended to me before, to just let things fall as they may. That part is super difficult for me. I don't like to let things fail.
That said, your advice is an area I need to continue to work on for sure. Thank you for the suggestions.
Every single aspect of your life and work is hurt by you being overworked right now. You effectively say so in your comments.
Talk to management and bring the workload under control.
This is a must in my opinion.
After that, you'll have the energy to either find a new job, or get along in the current one.
You're not doing your employer or (especially) yourself any favors by burning out.
IT support and now sys admin/engineering stuff.
> make less than industry rates
> trying to adopt
Let me turn this around for you: if you want to take care of the kid, you need to take care of yourself. And that includes your finances and your mindset, both of which will be imposed on the child. Perpetuate the cycle or break free. I'm not saying start a business. I'm saying get to the other side of average compensation.
Thanks for the advice. Certainly, the kid will come first over work. The rest needs to support that!
Out of curiosity, is this based on first- or second-hand experience with the compensation structures at those companies, or is it an assumption based on how other companies work?
It’s hard to say with any precision, but easily $300k total annual compensation for a high performer.
Right. Imagine any other field where employers regularly complain about "severe talent shortage", yet a qualified candidate has to go through a highly specialized 3rd-party recruiter just to get their resume considered rather than tossed out reflexively.
Puts the whole "tech talent shortage" myth in perspective.
There is no "tech talent shortage".
There are a bunch of spoiled employers who are short on "22-26 year old programmers who got the exact education and skillset we are looking for and are willing to work for the wages we offer, which incidentally will never afford them a house anywhere within 50 miles of our offices (but they won't care, because by then they'll be back in their home country)".
I saw this idiocy in the injection molding industry, as well.
Companies were bitching about their better line workers getting poached. Okay, fair enough. Which companies in your field are poaching them?
Foxconn and Amazon.
Okay, when you are losing your line workers to possibly two of the WORST EMPLOYERS IN THE WORLD, you might want to think about the fact that you are doing something wrong.
Actually no! Software engineering is hard and takes years to build the skills of a senior engineer. For the vast majority, this is incredibly frustrating and thus they seek other professions despite having the aptitude for software
https://money.usnews.com/careers/best-jobs/rankings/the-100-...
Some examples:
The top paying market for software developers (the #1 job, apparently) is San Jose, at $133k a year median pay.
Here's the top pay/region for the next few jobs:
#2 Dentist, Peabody MA, $285k/year #3 Physician Asst, Yuba City, $149k/yr (and $138k a year in Santa Rosa CA) #4 Nurse Practitioner, $180k/Yr in Altoona PA ($158k/yr in San Francisco, CA).
A bit further down the list, a registered nurse (#18) earns a median of $138k/yr in San Francisco, CA. Lawyers (#33) make a median of $193k/yr in San Jose (top market)
I think national pay for software developers may be skewed by how many of them work in the valley. When you compare them to what other well educated and skilled professionals earn in those markets, you'll see that their compensation is ok, but nothing notable. There are lots and lots and lots of jobs that pay better, and may offer more fulfilling work.
My point isn't that software developers deserve to make more money. Maybe the deserve to be paid less because their work matters less, but that's hardly a selling point. It's never an apples-to-apples comparison.
But overall, I'd say the market is working just fine. There's no "shortage" of software developers, any more than there's a shortage of any other skilled professional in a high cost area. IN fact, there are probably considerably more software developers at the current price point, because of 1) government and industry PR programs designed to convince young people that they are desperately needed in software, and 2) work visa programs that put Silicon Valley companies in control of who is allowed to work in the US and the conditions under which they are allowed to remain.
In fact, I'd say as long as non-market mechanisms (such as visa programs that allow Facebook to decide that immigrants should be engineers but not florists) are used to suppress wages, we should expect an almost permanent "shortage", as people who have the freedom to be florists (or anything else they might wish to pursue as free people) go into fields where wages and working conditions don't reflect the negotiation power of people who can be deported if they lose their jobs.
But then it turns out that compensation doesn't scale with experience as quickly as in other fields, and that a lot of people have to switch to management to progress in their careers, so the overall median across all experience levels ends up seeming low.
In general, software development seems like a really good field to get into, but a mediocre one to be in for the long haul.
This same phenomenon underlies our perennial debate about interviewing: it's actually great that you can get an amazing job just by doing some artificial programming puzzles on a whiteboard, but it sucks that after ten years building expertise, with a long string of successful projects under your belt, you have to do artificial programming puzzles on a whiteboard to get a job.
The other fields you mention have the opposite setup. It's quite hard to become a nurse practitioner, but once you're certified, employers pay well and don't constantly question your basic level of competence.
DING DING DING!
It was a clever scheme, and it even worked for a while.
"We need a lot of people to study CS, but we don't really want to pay them so much and cut into our fat bonuses. Whatever shall we do?! Oh, let's offer eye-popping entry-level salaries, that will get them to choose the CS major and learn to program. Once they do, they're committed, so we can just freeze their wages indefinitely. What are they going to do, go to medical school at 35?!"
> it sucks that after ten years building expertise, with a long string of successful projects under your belt, you have to do artificial programming puzzles on a whiteboard to get a job.
That's an artifact of the unfortunate fact that references are worse than useless in the US.
There's no real way for a new employer to objectively tell how well you performed on a particular project in the past.
Casual references don't work and are typically misleading.
I'll give you an example.
One startup I worked with had two very different developers.
One guy was totally incompetent. Multiple years of "senior" experience on his resume, but couldn't complete a single feature.
However, he was great at socializing, so when he got kicked out, several developers were happy to get on the phone and tell prospective employers how great he was.
Another guy was quiet, socially awkward, and introverted. However, he was among the top 2-3 programmers on the team. Completed some of the most critical parts of the project.
I guarantee that he had a lot more difficulty getting any references. In fact, I guarantee the first guy had a much easier time getting his next job.
Most employers who just speak to both and check references would get the highly inaccurate picture that the first guy was far more crucial and competent than the 2nd.
I know that many companies are so concerned about false positives (hire a bad developer) that they are willing to tolerate a high incidence of false negatives (fail to hire a good developer). That's an odd position for an industry claiming a severe shortage of talent, but there's also a strong case that if you allow too high a rate of false negatives, you can make it so hard to hire a good developer that you end up hiring a bad one. In short, it's more likely that one bad developer will slip through the cracks than a good developer will make it through, if the good developers are a small percentage of the hiring pool and the false negative rate is very high.
I suppose getting a grad degree and becoming a software developer is giving yourself the worst of both worlds. As you point out, it's tough to get an MS in Nursing to become a NP, but once you're certified, you don't have to prove your basic competence by re-taking your organic chemistry midterm at the whiteboard 15 years into your career every time you interview.
But if you major in CS and get an MS degree from a reputable university... yeah, you're still doing take-home and whiteboard exams when you apply for a new job.
I would point out while programming has low formal barriers to entry, it actually isn't a trivially easy field to enter. Yes, you can say you're a programmer if you read the first half of a book on "PHP and MySQL" (or if you don't and say you did). But almost every interview I've been on has asked me to do data structures and algorithms questions at the whiteboard. It isn't just fizz buzz. It's "fine all matching subtrees in a binary tree", or "find all subsets within a set of integers that sum to a different subset of integers within the set". Others have asked me to do elaborate take-home tests, though I now refuse to do that (this has cost me some good opportunities, but I'm just not willing to do it anymore).
So software development does have a set of entry conditions - it's just that unlike a proper profession, they are applied informally, erratically, inconsistently, largely in secret, and administered and graded by people with widely varying levels of competence, and you have to go through them every time you apply.
Ok, got it. I'm interested in how viable a career path it is to try to go into software development without any degree, without a CS or related degree, or without a MS or PhD. The reason is that I've been on interviews for "data science-ish" positions (this was before it was a term), and I was whiteboard quizzed on:
Tree operations Markov chains Formulating linear programs Set permutations (you know, all permutations of a string, but hidden in a different question) Database normalization and queries.
I have an MS in industrial engineering, so I've studied this stuff, but I definitely have to hit the books and re-study for my midterms every time I go into an interview like this. I could look it up on the job, but to have it sharp and ready enough for a whiteboard quiz, I definitely would need to study.
So I guess I'd be interested in knowing the salary bands, job title, and degree. But here's the thing, that only tells you who got the job. To really analyze this, you'd need to know the percentage of people who apply and get interviews. I definitely think that having an MS from a top program does increase my odds getting some of these interviews. The difference is that it doesn't save me from having to re-take the exam every time I interview, unlike many other professions that have a more formal process for taking entry exams and keeping credentials up to date.
I'm extremely wary of formal ABA or AMA style licensure. It's not that I oppose it in theory, but requiring (for example) three years of formal law school (about 50k a year at UC Irvine, less at some publics, more at some privates) isn't something I'd want to see happen to software development. I also worry about who would control licensing. I've butted heads with the "no code in JSP" crowd that wanted to replace everything with tag libraries (until Rails, with ruby code in the page, more or less swept them aside), and I watched the test-driven development crowd start suggesting that people who even questioned the value of the methodology should be unemployable, likening this to a physician questioning whether washing hands is important. I imagine what software development would be like if these people got control over licensing, and I don't like it. I also really like the fact that a math major or similar can become a programmer, that you aren't compelled to do a very specific degree or path.
There is the actuarial approach - a series of exams that don't require a specific degree, but you will need to acquire substantial math (calculus, differential equations, linear algebra, vector calc, numerical analysis, and more, followed by more industry specific topics) to pass. I like this because you can major in whatever you like, or even self study. Senior actuaries with a decade aren't quizzed at the whiteboard on whether they can do a complex integration by parts, partly because it probably doesn't matter, and partly because they have already passed a proper exam. This one doesn't scare me the way the "law school" style licensing does.
Other ideas floated are unions along the style of Hollywood unions, which provide some worker protection but allow the flexibility for high variance in talent and compensation.
All said, though I'm not sure any of this is necessary. What I actually think we need to do is just let the market work. I think we need to accept (well, powerful Silicon Valley companies and investors need to accept) that if smart and talented people don't want to become software developers in SF/SV, that's the market's answer. People respond to a wide range of variables - working conditions, quality of work, nature of work, career stability, job flexibility, compensation, the risk of age discrimination, barriers to entry, and so forth. It appears that many of the people who are able to become software developers are choosing to do something else. That's not just ok, it's great. It's human freedom.
What we have, though, is a government that, at the behest of these powerful tech companies and investors, created a shadow immigration system run by and for the interests of these corporations. We actually set up a system that creates a large pool of workers who aren't free to engage in that decision making process I described above. And I want to be clear here as I have been in the past - I am perfectly happy to see talented people move to the US! I'm not happy to see Facebook empowered to decide who is - and isn't - allowed to come here. That prevents the market from working, and it's why we continue to have "shortages" that, well, aren't.
I enjoy talking about this on HN, but I'm actually at the point where I think there is no possibility of any of the above happening. Software Developers will not organize. Congress will continue to hand Silicon Valley control over the immigration system. Immigrants who come here under tech work visas will not have the right to become florists, dental hygienists, or drywall installers, they will have to do the job Facebook says the have to do as a condition of living and working in the US. The green card system is designed to take forever, so that by the time these immigrants have freedom, many career options are closed or come at a much higher cost. That's the intent of the system, it really is. Billionaires like it, which is why it will not change.
Really important comment. People tend to overlook how engineers aren't actually paid that well compared to many other professions.
Especially considering the amount of learning and training and skill-building it takes to earn anywhere near what that Nurse Practitioner in Altoona PA makes.
Also note that there are plenty of engineers who make low wages in SFBay. Sure, they make 6 figures, which sounds high to a lot of people working low-paying jobs outside the valley. These people aren't aware that $100k in SF means you probably have roommates.
If there was an upward career trajectory for individual contributor developers, I’d go back in a heartbeat, but apart from a very few selective companies there is not. Change this, and we senior folks will return to the industry in droves.
Is this true? I've only ever heard the opposite.
https://philip.greenspun.com/careers/women-in-science
It should be noted that the article doesn’t really talk about programming as a career. It’s mostly about how Science is a terrible career from the perspective of money or security and the professions are way better.
Is that really the case? Software developers are one of the most highly paid professions.
While the entry-level wages for engineers straight out of college were already high 10 years ago, wages after that tended to stagnate.
Typical course for a talented engineer was to start somewhere near $100k, which is great comp for a fresh graduate. However, after 6-7 years that talented engineer would be somewhere around $150k or so, while typically having a lot more responsibility, stress and workload (compared to a fresh graduate, who earns $50k less to basically learn the ropes).
After that, you completely stagnate. Very few engineers were making much above $150k, and practically nobody was making over $200k.
Meanwhile, your peers who went to medicine, finance, or business would be seeing a steady rise that routinely soared far above $200k, especially if they were successful.
Meanwhile, an engineer could launch multiple successful products and not make much more than $150-200k.
The situation is changing a bit nowadays, but the shortage of senior engineers in particular dates back to these times.
There's no guarantee that the current positive trend will continue. The entire industry seems obsessed with the question of how to pay engineers less. Even this specific article about engineer shortage focuses on whipping them to be "more productive" and getting rid of engineering positions through "outsourcing", that old reliable threat that's been used to keep engineer wages down for almost two decades now.
If we go back even further than 10 years, engineering was that low, dirty profession reserved for unwashed foreigners with thick accents and other smelly nerds. Companies were grabbing a fresh batch of them every year for $70-80k and they were expected to be thankful for getting that much, and were lucky if their pay peaked at $150k, while mid-level managers who couldn't write a line of code got much more than that.
If you were among the lucky ones to earn $150k you were definitely some sort of semi-manager yourself, "team lead" / "technical lead" etc who was expected to work 16 hour days when it was necessary (often) and take on a ton of stress and responsibility.
I've always considered my peers to be physical engineers (e.g. civil, mechanical, electrical), not finance or medicine people. I get paid a good amount more than my mechanical and electrical engineering friends, for a job that (for me) is easier and also took me 1 less year at university so I have a lower student loan and an extra year of earnings and experience (3 year B.Sc, vs 4 year B.Eng).
In terms of absolute numbers, I'd guess that there are actually a lot less people who got a B.Com in finance or business who are earning more than what software engineers earn. Most people who get a degree in finance don't end up working in finance, at least that's the case in Australia and New Zealand from the people I know.
The key question is what profession has a name that rings similar, but what are your other options as a fairly clever person with a quantitative streak.
In the US, finance is an obvious example.
> Most people who get a degree in finance don't end up working in finance, at least that's the case in Australia and New Zealand from the people I know.
I'm not an expert on OZ/NZ, but guessing that's because the financial sector in the US is several orders of magnitude larger.
The work that developers do is hidden inside the code and outside world does not see it. No matter how great code you write your manager does not understand it and external world does not see it. Therefore you get less of the profits from the thing you build, people who can say they "managed" to make it come about take the credit and the profits.
I think the whole idea behind the article is that because developers are getting more expensive the managers and sales-guys can no longer claim so much of the benefits from the software for themselves. Therefore it is a crisis for them. Developers are a resource for them just like oil is for the transportation industry.
A key difference is that managers of the original "working men" understood every aspect of their work. The work was not intellectually challenging. Typically the manager was promoted for being one of the best "working men".
The tech industry got into the habit of hiring managers with some degree (such as an MBA) but zero technical aptitude. An entire generation of engineers was managed by the infamous Pointy Haired Boss who didn't have a clue what his subordinates were doing or producing.
> I think the whole idea behind the article is that because developers are getting more expensive the managers and sales-guys can no longer claim so much of the benefits from the software for themselves.
Where does that article say that?
But almost everything is highly paid in the US as compared to east Asia. Even minimum wage is higher in the US as compared to east Asia. To me, it looks like the median is higher in the US and so is the cost of living.
Cost of living is also way lower in most of East Asia.
I don't see evidence to bank this claim.
I've spent 10yr+ doing hiring, for devs and other roles. Candidate quality and wage offered rarely coincide.
Currently I've got four high quality employee who are all under market wage wise.
But! My (small) company is fun! There is upward mobility (eg CSRs becoming SDET), new skills opportunity (eg: Senior devs doing customer interviews/site-visits). Folks can see their work being used and participate directly in the feedback loop.
IMO a "rewarding opportunity" attracts better candidates, money offered just gets me more candidates.
At some point folks can make the choice to not only chase money. Here we work 40h, some employees are 90%+ remote, come to the office if you want, actually USE the vacation they earn, 100% health, equity
Balance is the real offering. You think I'm selling passion-bullshit, I'm not. I'm selling: ill pay you less but treat you better. Many folks are happy to just not be a cog in a huge machine.
Maybe not suddenly.
Give it four years.
“access to” includes, and really is largely a way of saying, “cost of”. Paying more isn't the solution to their complaint, it is the problem they are complaining about.
> > If developers are your company's most constraining resource, the key question is how to increase their productivity.
> This is quite surprising: developers are seen as a scarce valuable resource, and in a free market that means they should be rewarded for their rare and hard-won skillset.
Yes, they are. That makes them expensive, leading naturally to people seeking efficiencies in their utilization.
> Instead, the universal advice is to pressure them to be more productive, outsource them, etc.
That's not instead of them being expensive in the market, that is a consequence of them being expensive in the market: if a company is constrained by a scarce resource—one which it is expensive to get more of—then either (a) finding ways to get more output per unit of the scarce resource or (b) finding substitutes fornor untapped supplies of the scarce resource are obvious ways of addressing the complaint. The cost of acquiring more of the scarce resource from existing (e.g., not untapped) supplies is the problem you are trying to mitigate.
A common misconception. Check out other comments in this thread. Folks in many other professions, such as nursing, can make about the same as "senior engineers".
> At some point businesses just can't afford to pay any more
I heard the same claim back when $150k was a top salary in SF. Then companies needed to pay more, and somehow they managed to do so.
Check out a tech company's balance sheet. The margins are typically more than enough to cover some raises.
If you can't operate at that scale, tough luck. You need to do exactly what the article suggests: outsource and buy services. In house dev teams are now so expensive that many companies just can't afford them.
What's wrong with that?
I can't afford to hire a butler, so I don't get one. The government doesn't owe me one. Nor does it issue a special visa so someone can come and be my butler for the $50/week I can afford...
I'm not demanding "the government" do anything about it, and I don't think that cheap foreign labor will help at all. I don't have any solutions.
But access to developers is an issue, and saying that companies should just pay more is naive and doesn't solve any problems.
The harder and more expensive it is to hire a specialist, the more important it is that the company utilize him fully. High salaries and long hours usually go together.
Until the specialist quits, and then your logic breaks completely.
Arguably, you're making him quit, since if you ever worked as a developer, you'd know there's only so many hours you can put in. Beyond that, you are burning out and generating more mistakes than valuable code.
My anecdotal observation is that both pay and work-life balance has been improving at FAANGs. I remember reading 10 years ago about how developers feel pressured to overwork in companies like Google. This doesn't seem to be the case anymore with my friends working for FAANGs.
Unless we're talking about executive-level pay (i.e. high seven figures), paying someone a few more thousands per year doesn't justify a destructive work-life balance. In fact, it's a self-defeating strategy that hasn't worked and seems to be largely abandoned by most savvy employers.
There's actually very little difference in the surveyed % saying https://stripe.com/files/reports/the-developer-coefficient.p... access to talent (55%), software engineers (53%), and capital (52%). Note immigration requirements (47%) is lowest of the constraints on company growth asked about. I'd say the headline is questionable at best.
- Go full remote
- Locate offices in reasonable COL US markets (my company has overwhelmingly rejected this one and skipped from NY/SF/Seattle to the developing world).
- Provide private offices, cubes, team rooms... any kind of workspace other than the in-vogue open floorplan barn.
Companies are not in their wildest dreams going to touch any of those things with a 10-foot pole at scale. Do they not know? Do they think we're lying? Or would they just rather complain than actually solve the problem?
Companies typically complain about "lack of talent" so the government will let them import more low-paid developers from abroad.
There is ample proof that the tech industry fails to tap into many existing talent pools.
For example, SV couldn't afford to be openly ageist if talent shortage was really its top concern.
You are right that if companies were really so desperate for talent, you'd see a lot more willingness to compensate developers in various ways.
Much of agism is actuulay moeny related too.
While allot comes from the belief that "young people are just smarter" (as opposed to whites or men as was the "common sense" in the past).
Much of the discrimination is because it is assumed that after a few years, technologists actually know how much they're worth while the fresh college graduate etc is awestruck by a wage that is barely over bay-area poverty line: There's an assumption you can't get a bargain hiring the over 35 set.
I think this was a key part of the racket:
Faced with the need for engineers, employers offered very high entry-level wages for engineering positions. For most of the past 20 years, entry-level SWE pay was among the best you could hope for as a fresh graduate.
However, once an engineer got into "the system", they became "captive audience", so wages could be frozen. Imagine a typical 35 year old engineer with 13 years of full-time programming experience. What's he going to do about his frozen wage? Go to medical school and become a physician instead?
So engineers started at or close to $100k, but then got stuck in the narrow $100-150k band for the rest of their career.
Like most unfair practices, this one worked... for a short time. Longer term, it was destructive and self-defeating: the smartest, most far-thinking college students did their research, saw that the entry level wages were appealing, but then they become stagnant. It's a bait-and-switch. Looks good from the outside, but after a few years, you start lagging far behind your peers who went to finance, medicine, business, etc.
So they went into those fields instead.
These are exactly the type of smart, capable, senior software engineer that all these clever employers wish they had right now.
Congrats, you played yourselves.
Most of the world’s developers aren’t doing anything that complicated. Yes I am a developer, and I command a slight market premium because of my architecture experience, but I am not the force multiplier that I was as a dev lead previously. I self demoted for a lot of reasons (for the same pay) but I know that my work isn’t as impactful.
So you recognize even a single simple project like a single SAAS CRUD app requires at least one smart, capable, senior engineer (your architect).
Also, I'd say you're overestimating my definition of "senior engineers". A senior engineer is someone who actually completed a project or two. Someone you can entrust with big chunks of development work and be reasonably sure they won't mess it up.
Your "mid level developers" are likely senior by this standard, especially since the alternative, "a junior", typically means someone fresh out of college (or boot camp) with about 0 real world experience.
In that case would I have been considered a “senior developer” straight out of college since I was entrusted to create a fairly large system by myself in the mid 90s? I had spent close to 10 years by then as a hobbyist.
If a person who has just completed a project or two and doesn’t know anything about designing large, scalable, maintainable, systems and doesn’t know anything about infrastructure is a “senior developer”, we really either have a horrible level of title inflation in the industry or we just call everyone senior but some are just more senior than others.
I’ve been a software developer officially for over 20 years, but I know I really only have the last 10 years of experience and the first 10 or so were only worth about 2.
That being said, I agree that any real experience as an individual contributor over 10 years, isn’t worth much for most corporations. On one hand, your salary does peak, but on the other hand, so does your value to the company. As an individual contributor, you only contribute X number of hours worth of semi-commoditized value to the company. As a team lead or technical manager, your knowledge can easily be multiplied across the organization.
Is it really stuck if you're making more than 70% of America? I'm sorry you can't afford a summer house in the Keys, but you have to accept different careers have maximum limits, and ours tops out a bit above rocket scientist.
> technologists actually know how much they're worth
If they can't find a job because they want more money than the market is willing to give them then they clearly don't know how much they're worth.
The truth is that there's no shortage of competent people who'd like to be airline pilots. There's arguably not even a shortage of competent people who already possess the training and credentials. There is a shortage of people who are willing to put their expensive training to use at the near-starvation wages offered for entry-level positions with US airlines. So people either don't bother learning to fly, or if they do, they go sign with Asian or middle-eastern airlines, which have been expanding and are willing to pay good salaries for US-trained pilots.
Would you argue that pilots who demand more money than a US airline is willing to pay "don't understand how much they're worth"?
It's not (fundamentally) about money and not (fundamentally) about skillset.
It's about tossing out any resume of a 40+ year old because tech is "a young man's game".
Why is it "a young man's game"? Because that's the current perception and that's it.
People become managers, generally, because they want to be managers. Why do they want to be managers? Well some are just assholes who like to boss people around but for most it's because their definition of career success is "becoming a manager".
Those people look at people who have similar years of experience but aren't managers as "losers", and don't care about or don't understand the reasons, i.e. many people actually prefer to remain ICs.
More broadly, I would not want to be the over-40 guy trying to interview for any team where hardly anyone is even close to 30.
Such teams are quite common, especially in startups everywhere, and not just in SV, unfortunately.
I'm not affected by ageism myself (yet), but even if it was only in SV, which is the biggest tech hub in the US, then it would be a huge problem.
But ageism is rampant outside of SV as well.
After staying at one company way too long and becoming an “expert beginner” in my mid 30s, I had to basically start over and work my way back up to an architect level position. By “Architect level” I mean either officially by title or by responsibility and respect over the last 10 years. I had no problem getting development jobs. The issue I found isn’t ageism with people over 40, it is that they haven’t kept their skills current, are stuck in thier ways, and/or don’t respect thier younger team leads.
I'm not affected by ageism myself (yet), but even if it was only in SV, which is the biggest tech hub in the US, then it would be a huge problem. But ageism is rampant outside of SV as well.
Despite the common perception on HN, there are plenty of places outside of SV where a software developer can make a high enough salary to live an upper middle class lifestyle in a lower cost of living part of the country. $135K-160K goes a long way in most of the country and there are literally millions of jobs out there for software developers at profitable companies not looking to be part of the “bro culture”.
I'm now wiser. Startup culture is toxic and I prefer to stay away ...
I do not claim they ask for more, I claim they are perceived as being savvy: They are perceived as costing too much whatever the price.
But either way, if there's a shortage of technologists it's because the market isn't paying enough not that the candidate is asking to much.
That would be my assumption as well. Young kids are willing to work hard and smart while all the credits from their work go to whoever hired them. They still believe that just by being (technically) good they can thrive and become successful. Whereas their opponents, not other developers but mid-level management are not trying to be "good" they are trying to profit from others' work.
An older more experienced person realizes that much of the value of the software is because of what they put into it. They can also easily explain why that is to the senior management and therefore they are a threat to the mid-level management who are getting older themselves and don't want to fall off the shelf.
It's a game, people hiring developers are not looking for smart developers, they are looking for developers they can profit from and who they don't perceive as a threat to themselves.
Because probably only larger companies (very difficult for startups to innovate here!) can actually afford individual offices, and it's not exactly trivial to re-arrange, I think it just takes a long time for the conventional wisdom to change.
I agree, I just don't think it's as much about cost as you might think (or as I used to think). Profitable companies can afford office space.
I feel like at some point (around the turn of the century ~2000) it was cool to be open office, if you weren't you were uncool, and the latest hipster generation didn't want to work for you.
I think things are changing though, and people are seeing past the latest fad of what people today call "open office." It just takes a while for the general-pop wisdom to change. Nobody's ever been fired for building open office, during this latest phase.
We were already open-floor, and they modified the plan to pack us tighter. Nobody ever thought that was "cool", in any way.
After just a month I was able to convince my manager to allow me working fully remotely and I only showed up in the office about once in a quarter while working 350km away. I could not have been happier but apparently once I reach tenure I would have to be hired and could no longer work remotely.
In the words of another: "Remote means you aren't interested in advancing inside the organization"
Do they really want the work done, or do they want to actively encourage inter-office politicking? Not everyone wants to advance, and even in places I've worked where I've wanted to advance, it was made pretty clear that nothing was going to be happening on my time schedule (too many other people who'd "paid their dues" ahead of me already). So... wow - I was interested in 'advancing' but they weren't interested in me advancing. Would have been easier if we'd just... focused on the work, no?
It turns out that being able to spend every moment in the office promoting yourself as a "10x rockstar" was more important than ever delivering a single impactful project.
Wouldn’t it be an upside to a mediocre manager to have underlings not trying to escape their team nor gunning for the manager’s position?
It's more like nobody believes he is needed if he is the only person in the office.
Most people really need the “structure” of an office to actually get work done... for some reason.
But... the savings won't be that much. I mean, for normal people it would be, but imagine you have a bonus tied to a % of cost savings. Do you propose something which might bring about a 20% cost savings? Or a 75% savings? Of course, I just pulled those numbers out of thin air, but the cost of, say, mid-level developers in SF isn't going to drop significantly, moving to a reasonably-high-tech hub. The base salary cost may go down < 20%, but any other attendant benefits (insurance, retirement, etc) don't go away, just might be shifted a few % - or might even go up(?)
I hear the complaint about not finding local engineers in those places. Thing is, we don't find any local engineers in SF either. Maybe 2-3 people out of 100. Everyone else is a <5 year transplant, relocated either by us or their previous employer. We have more people from the same random Chinese high school than from California.
You probably wouldn't, though. You're probably not going to relocate to Tulsa or St. Louis or wherever, because once you start looking at the decision seriously, you're going to realize that even if this one particular company has attractive jobs there, if you ever want to leave or get laid off or whatnot, the rest of the job market there ain't so great.
It's the kind of thing that sounds great initially, but starts to fall apart upon deeper analysis.
I live in Colorado and over the past couple of years have seen a lot of Bay area companies coming to Denver. Not sure if they are moving SF engineers over, but they are definitely building teams in these lower cost areas.
It's not just about number of tech jobs, but the quality thereof.
These days, programming is such a needed skill that coders are almost like accountants, practically every business above a certain size needs at least a few for internal tools. But that kind of work makes you a cost center, with the attendant technical and cultural problems.
What the major tech hubs offer is an abundance of even high quality programming jobs, in a wide variety of fields.
Only people I know who can make that work have either doctors or other software engineers for spouses.
So if you move, start a family because you can now afford it, and then lose your job 5 years later, you're going to be less mobile and also limited by job options.
At least that's my impression given how many of my senior coworkers have absurd commutes as they continue to live in the same house they had before joining.
I agree it’s weird to invoke the word senior so early in the job ladder... I would expect 3-4 more rungs where Eng II currently sits.
In another comment you suggest that you'd pay $350k, but at $700k you would suspect their loyalty. I'm in Portland and not interested in moving to SF, and if you're offering $350 - $700k comp I'd be happy to talk with you. :-)
Honestly, comp numbers are past the point on Maslow’s pyramid where they can get someone to care. If you’re not going to get a guy for $350k but you can get him for $700k, he’s not planning on sticking around and he can’t produce $1.5m of value in his one year that he’ll stay for the payout. Few people are like that. It doesn’t make sense to optimize for that.
Seriously, I’ve had people move from here to Texas or Washington, and they keep the straight bump in wages that comes from not paying state tax. But that’s a single digit number out of a 100+ team. It isn’t helping expand the team.
The high-cost markets have too much momentum/desirability (other than the expense). Harder to find and recruit in them, I'd imagine.
Office space is probably hard to get/expensive in those high cost markets, so harder to do stuff other than open. Still would love to see it though.
When everyone is onsite except for a few team members, that's a recipe for disaster. Everyone needs to go remote.
I am the hiring manager for my group, and it is very challenging to find people in the US market.
These are all amazing cities and for some reason tech companies choose to locate in San Francisco over these places... It honestly boggles my mind.
Southern US - Raleigh < Atlanta = Austin
Those of us who are very much not developers in that 'community' are not screaming and are actually finding the jobs that satisfy our needs. That's a lot more effective than screaming at companies who don't actually want to work the way you do; and they're fully entitled to shaping their own culture and prioritising their own values. Values that may include: working face to face, physical collaboration, etc.
So how about looking for companies who share values instead of screaming at those who don't?
B: Have you tried offering what they say they want?
A: How dare you? Stop whining and get back to work.
A: Now, as I was saying about that developer shortage...
Yes, people who are satisfied with what’s currently on offer are satisfied. What exactly are you saying?
Face to face conversations work just as well wherever you are, and research indicates they are actually more prevalent when both private and collaborative spaces are available vs. one room for everything.
Too many companies see software development as a menial "cost center" while hypocritically relying on it on a fundamental level for operations.
While I see where they're coming from - the ROI from software developers can be rather opaque for many industries - these companies are often hellbent on hiring as cheaply as possible (in-house junior developers with no experience) and cutting as many corners as they can get away with, all the while accruing massive amounts of technical debt.
Nothing in the article implies tat "executives" (or anyone) has gained a better understanding of the cost of technical debt.
This is the main paragraph talking about technical debt:
> And yet, despite being many corporations' most precious resource, developer talents are all too often squandered. Collectively, companies today lose upward of $300 billion a year paying down "technical debt," as developers pour time into maintaining legacy systems or dealing with the ramifications of bad software.
So the article author says that despite the skyrocketing value of developers, companies generally waste this scarce resource on technical debt and related mismanagement inefficiencies.
The world is not awash in usable software engineers.
Whaddaya Mean, You Can't Find Programmers? https://www.joelonsoftware.com/2000/06/15/whaddaya-mean-you-...
(Repost from five years ago: https://news.ycombinator.com/item?id=6454140#6455545)
If lose it, I will spend months for finding a new one.
I will send emails with no response.
I will be offered to spend enormous time for multilevel recruitment process, just to be rejected at the end.
I will spend hours making shitty take-home tasks, just to be rejected. Some companies even don't check them when I upload it on a server.
I will be asked terribly complicated white-board questions about forgotten algorithms used in no place. All that just to be offered a job about coding ETLs or adding some Javascript to a website.
All just to get a simple job. It doesn't look like companies are afraid. It rather looks like companies have endless stream of candidates and want to crawl them first, so they could not hire them later.
My last job hunt: 55 resumes sent (I was a perfect fit for 15 positions, not 100% for the rest). 10 companies responded. 5 were interested only about the salary, 4 of them didn't respond, 1 responded with "you wanted too much, we are not negotiating salaries". 2 terribly complicated take-home things (one company didn't event check it before rejecting me). Just 1 job offer, I took it, as I didn't get any other option after 3 months of searching.
It was 2 years ago. I'm looking for a job again... I've sent 20 resumes. Got no answer.
All 55 companies were posting the same job ads for the next months. About 5 of them are doing all the time, and the web is full of opinions how great the companies are.
So generally I feel like I'm rather useless than needed for the companies.
Writing anonymously here is cool :)
Maybe I'm just underqualified and not that good at all, maybe I'm doing something wrong in my search or I need to move to the valley or something. But thus far all my applications have been a complete waste of time and it seems foolish to continue down this path.
Thanks for the suggestions!
Yeah, I’m happy to help everyone!
Of course, I was in the Bay Area working for a reputable company (Asana), so that probably greatly affected my success rate.
The current job market seems very irrational to me. Salaries seem to be trending unreasonably upwards, companies are hiring anyone with a pulse, and output doesn't seem to matter.
What strategies are you using to find these positions? Are you working with any good recruiters? Are you applying for a very niche set of positions?
interesting. what location?
It's possible companies have access to capital based on current profitability. If they raise employment costs, their profitability changes and their capital access can change as well.
It sounds like capital markets are saying, we like this cost structure. Continue it and take more money.
Companies are responding saying we can't scale because developers at current costs are rare. They will need to increase costs to hire more.
The capital markets care about the bottom line, not about internal cost structure.
So for example, a company with 100 devs and 1 CEO looks exactly the same to "capital markets" if the CEO makes $105m and each dev makes $100k, or if the CEO makes $5m and each dev makes $1.1m.
There's quite a large room to change the current cost structure without eating into the margins.
Beyond that, those margins at tech companies tend to be quite wide, giving even more room for flexibility.
They care primarily about one thing: their Return on Investment.
If the company becomes more profitable by shifting more comp to developers, then the investor will support that wholeheartedly.
Tellingly, some of the most profitable companies right now are those paying their developers the best, e.g. FAANG.
Suggesting that paying developers more is a good move, financially, for the employer.
Anecdote: I was involved in the hiring process of a certain tech company. The entire company had "engineers are a scarce resource, use sparingly" as a key principle. There were many rules about how to apply that, and people regularly got yelled at by the CEO for violating said rules.
Fast forward to a hiring spree. The company was hiring for a particular non-technical position, as well as for engineering. They tell me how much they're paying each position.
Pay is the same.
The non-technical position had about x20 candidates than open positions. The engineering position had roughly 25% less, before screening out unqualified candidates and those who didn't pass technical interviews.
Same pay.
Doesn't compute.
> When you are raising money, the market very much cares about the cost structure.
TFA and all other evidence points to the opposite conclusion: that engineers are becoming some the most valuable resource in the organization, the demand for them is only increasing, so they should be paid accordingly.
Therefore, as an investor I'd be quite happy to see my engineers paid very competitively, thus ensuring their retention and performance.
Most people who are smart enough to jump ships now have 2-3 offers. In cities like Bangalore, a jump can fetch anywhere from 20-200%. 20% is minimum irrespective of the current salary.
Perfect time for anybody who hasn't tried checking this in a couple of years.
All I've seen are 30-50% increases over something like a decade. These are hardly "crazy" increases for a field in which profits have gone through the roof, and they only apply to the "top end" as you say.
Developers below that top - i.e. the majority - have seen very modest increases at best.
Check how much executive pay increased over the same time span, to get an idea of "crazy growth".
Sounds like you jumped from a low-level sysadmin role to a senior devops role. That's a quantum leap and not comparable to what the average developer saw during the same timeframe.
5 years ago salaries in SF for an SWE were already around 150k base at least, won't you agree?
So if GP was typical, you'd expect the a average base to be around $750k now.
Obviously it's not.
Overall SF is higher than most places, but maybe 25% higher. Not 2x higher, let alone 5x higher.
20 years ago is 1998, i.e. before the internet revolution and the first bubble!
What are the numbers for the past 5 years? That's way more relevant.
> They've gone up about 20% in the last _three_ years, in SF.
How much did cost of living rise in SF during that time?
Your time frames aren't correct though. The Web/Internet revolution ignited in 1994 with Netscape. The dotcom bubble started in August 1995 with the Netscape IPO. By September 1998 (20 years ago), it was already 3/4 of the way to peak bubble and everything was already very crazy. 1998 was prime Internet revolution (also the year Google was founded). The Nasdaq climbed 100% over two years, first hitting 2,000 in mid 1998. The dotcom mania topped out in late 1999, the market topped out shortly thereafter.
The sustainable, profitable tech industry we know today was just getting started back then.
The sustainable, profitable tech industry existed then, it just wasn't Internet-related (mostly).
We all have the "optical illusion" that things started once we were around to perceive them. They usually go further back than that.
There are many that are highly paid.
Which is to say it's one of those journalist framing of a situation that means nothing.
I am not sure if you have noticed, but over the last 10 years, software engineering as a career, has grown extremely quickly. Both in number of people joining the careers and also in salaries.
I really don't think 150K salaries for new grads, and 100K salaries for recent bootcampers was normal, 10 years ago. Even in San Francisco. And yet in SF, that isn't too uncommon these days.
Costs are to be minimised while those preceived as adding value like sales, marketing, c-level execs get paid accordingly.
In industries that are unionised, collective action gives you the leverage and backup to say enough - but we don't even have an industry body that requires membership like the IEEE or AMA.
If there was a true talent shortage you'd see increases in salaries and other methods of compensation.
Companies love the free market when it benefits them and hate it when it benefits skilled workers.
Did I say so? I'm not saying it's too high. I'm saying it's absurdly high. If I was saying it was too high I would be arguing that it should be lowered which I obviously would not want.
That's probably why you're getting downvotes.
Software developers are one of the ultimate forms of throughput multipliers. Get the pixies in the box dancing right, and BOOM! Personnel load decreased!
In a world being driven toward hyperoptimization as fast as she'll go, your developer is your growth source.
If only you could get them to do what you want...
Which is why they like pulling developers from countries where the cultural norm is to shut up and do what you're told as I understand it.
It's also part of the bias towards preferring younger devs. Younger devs tend to be more pliable and "flexible" and don't ask inconvenient questions in emails that can be subpoena'd later.
Always ask questions. YOU have to be the conscience of the industry, if you don"t, no one else will. And even if they do have "another guy" lined up. Be vocal. Make sure your view can't be buried. If it smells, ASK and DIG. Someone very well may not be telling you something.
As a person who had looked intensively for a job in Central Europe in the recent months I can confirm this. Plenty of awful software and stacks. Decade old monoliths in ASP .NET, Visual Basic, pyramidal monstrosities in JAVA, fucking COBOL transactional and registering systems. The only reason they „maintain” these projects is some legal obligation, once the obligation expires the project will be shut down and people will have to look for a job in the year 2020 having experience with Visual Basic. You will have „standups” with „American colleagues” at 7pm your time. It’s literally working on carcasses. Good portion of German and Swiss businesses pushing out their rotten carasses over here as well.
I stopped counting how many "rockstar developers" I have seen rising in their shiny armors, outputting some crap extremely quickly just to see them sailing away with a friendly manager pat on their back, so that half year later a whole team would clean up the mess after them.
I stay because of other benefits (good health care in Japan, remote work with bimonthly meetings, and most importantly I am doing good work with data that helps people in some way).
I honestly don’t think high pay is out there for what I want from a company. This one I work in checks all the boxes, for me. But if I pursue more money, I’d probably be stuck working in some crappy conpany where I’m a number.
Why the false dichotomy?
You might be able to find an employer who will pay you better and satisfy you in other ways too. Stranger things have happened...
These companies do exist.
"A majority of companies say lack of access to software developers is a bigger threat to success than lack of access to capital."
Capital gives access to software developers but software developers don't necessarily give access to capital.
Mr. Will Gaybrick doesn't seem to get his causality right.
"Tech's ultimate success: Software developers are now more valuable to companies than money"
That's just stupid.
"2. Outsource. Fully embrace the cloud. Not just for storage and compute but for every business function that's not unique to your business"
Custom tooling is one of the most valuable part of having in-house programmers.
It's interesting to read the thoughts of these suits. It explains so much of my everyday troubles at work.
"If you're considering buy vs. build, the answer is simple: buy."
If you're not going to write or implement anything more advanced than "glue these two off-the-shelf systems we bought a year ago together", why are you so concerned about access to software developers?
I've worked with a company where developers were hired to "glue these two off-the-shelf systems we bought a year ago together", but the implementation was laughably poor. From talking to this specific company's executives, I found that they were confused as to why things were always behind or why they were running into so many bugs. They told me that they were having difficulty accessing software engineers and that there was a market shortage.
What they didn't tell me was that their current "software developers" were ex-military operations folks with no actual dev experience, and that they posted on Indeed/LinkedIn but wanted local talent (in NC, not the Bay Area) and only offered $50k/yr salary with no real benefits.
Wanting only local talent (instead of remote) already reduced their available developer pool by 99%, and the terrible salary put the nail in the coffin. But to company executives, all of this only proved that they lacked access to software developers.
Everyone’s a free market enthusiast until the market says they have to pay more, it turns out.
Further, the software industry is such that failures are more common to successes when it comes to software projects. I suspect if that ratio got better or predictability did, we’d see wages rise even more (at least for those predictably successful devs). As it stands you can throw all of the money at the software hiring problem and still be making a terrible gamble on whether you’ll get software out of it.
I think your latter point is much closer to the mark.
Of course, there could be other factors at play, as you mentioned. Life is complicated, economics more so.
The reason this article seems off is because it's trying to capitalize on an earlier article by Nick Bilton, but this attempt at adaptation is missing the essence and mangles the point. The idea this article is trying to convey is better presented here:
We're F--ked: There is only One Antidote to Silicon Valley's Ills... Their Engineers
https://www.vanityfair.com/news/2018/08/there-is-only-one-an...
i wonder if the author has heard of Google
> Including software developers directly in strategic business decisions will ensure you have the right product road map, the right team and ultimately the right technology strategy for long-term success
I would agree that including software developers is necessary -- but is it sufficient? The business and technology landscape are always changing in unpredictable ways. I question whether this can ensure "long-term success"