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.