Experienced engineers are struggling to get hired
twitter.com
twitter.com
When there are more openings than qualified people, even when you reduce qualifications to what is actually necessary, it seems like there's "nobody" available. Now, when the shoe is on the other foot, it seems like "nobody" is hiring. It's harsh, but it also doesn't take that much of a shift in the supply and/or demand to go from >1 to <1, even though the effect you feel is large.
There is no kind way to put this: a lot of stupid stuff got done with a lot of smart programmers in the last ten years. Meanwhile, boring old stuff like manufacturing was starved for programmers, and eventually gave up trying to get them. Now that it is possible, it takes some time for all the companies who couldn't get (or couldn't keep) programmers before, to realize that it is once again possible. However, anecdotally, I see it happening, albeit slowly.
Programming that actually accomplishes something useful in the world, is still a productive thing, and positions will get created. However, large sectors of the economy take time to pivot, and so it is best to find a way to make ends meet in the meantime, and also do something useful (even if unpaid) with your programming skills, to keep your mind in practice.
Any reasonable person would agree, but would the people in Silicon Valley agree.
The innovators left Silicon Valley during the pandemic and spread out throughout the country. Those remaining are desperately clinging to a world that doesn't exist anymore, and probably won't ever again.
The only thing you'll learn at a big tech company today is how to navigate corporate politics and finding ever-more creative ways to avoid paper work and meetings the 10 layers of management above you require to move an icon 1 pixel. Now, people will try to justify that it's because of the scale of big tech, but that doesn't really change the day to day experience. It's really not any different than making washing machine software for GE. The pay and benefits might be better at big tech, but you're not going to be doing anything impressive.
If you go on teamblind.com you'll see Google employees are primarily interested in an innovation they call "rest and vest." I believe it's this innovation that allows their generative AI products to create racially diverse images of National Socialists.
The people that made Google a success have been gone for a long time. Some retired, but most scattered across the country. Many are discovering how different SV is compared to small town USA. These Xooglers are first learning of long standing problems outside of the tech bubble, and they have the creativity and skills to solve those problems. There are many industries that have been is dire need for software excellence, and it's finally happening.
This is good for everyone with the possible exception of the morally bankrupt tech elite in Silicon Valley.
And some of them would agree even about those projects.
>“The best minds of my generation are thinking about how to make people click ads,” he says. “That sucks.”
It was cliched seven years ago: https://quoteinvestigator.com/2017/06/12/click/
It's the incentive structures that keep them in those jobs.
To add to your last point: Industry is an area with a huge deficit of properly engineered software and often lacking basics things like version control and testing.
Most manufacturing processes use code that an Automation Engineer with a bare minimum of CS training clicked together in Rockwell/Siemens software. There is no deployment pipeline or staging, data is often "copied" from ERP by typing it in and monitoring is some 20-year old custom solution done in Delphi or Visual Studio that just barely runs. The potential for software engineers there is gigantic.
edit: obviously there is a bit of hyperbole here and there are exceptions, but this has been my experience.
If you wanted to be fully honest, you would have said that they couldn't pony up for programmers, they were only “starved” by their own penny pinching ways.
I suspect there are many of those sorts out there, and if they do have developers on staff, it makes sense to let them go.
A great example is my friend who works for a provincial political party. It's clear that they would be able to compete with other parties on many levels if they were more technically capable, and someone on staff being paid a lot to facilitate that would be well worth it. They'd almost certainly secure more donations, learn to reach their demographics better by utilizing data properly, work far more efficiently, and so on. My friend is acutely aware of this and how technology is currently impeding them, but the rest of the organization is more like vaguely aware of this yet almost entirely uncertain of what to do about it.
If they were to pay someone with significant software experience around $200,000 per year to untangle and revamp the technology they're depending on, they'd certainly see this paying dividends within a couple of years. Instead they will carry on encumbered. They currently spend around $38,000 per year on software that's serving them partially and otherwise weighing them down substantially.
Part of the problem they face too is that they'd need to hire someone who truly gets the politics and people involved. You couldn't bring someone into that scenario who loves the IC role. There would be a lot of white boarding and explaining to stakeholders. A lot of very mundane untangling of existing services accomplished by digging through accounts and billing, talking to the people who use it, documenting how they use it, why, figuring out what they forgot to tell you, etc. Then the very dissatisfying step of determining solutions which can't be totally bespoke or custom, but would inevitably involve some degree of compromise. It wouldn't be a glamorous role. It could transform the capability and velocity of the organization, though.
I often think this is exactly the type of role which software developers will tend to move into as AI takes on more low-level IC tasks. I don't expect that to be tomorrow, but very likely within the next decade. Software developers will need to be far more people-oriented than they tend to be today in order to allow their skills to shine in ways an AI's can't.
So, when outlook is not so great and even profit centers started to cut their OpEx-es too - there is a surplus of engineers on a market and higher competition over positions that are left in profit centers (and those are compensated less). But I don't believe cost center companies actually gave up on IT, they may found different ways to close the need, but they still have some form of IT, either in-house or outsourced/off-the-shelf products.
But it's indeed of humbling moment in time for some engineers, to realize that they were in very very premium position compared to many. And got used to it too much - why build networks and stay in touch, when one receives 10 inbounds from recruiters a day, why keep skills up to date and stay sharp when the moment you're on a market - there is a queue to snatch you off the market, why part your ways on good terms instead of burning the bridges, when there seems unlimited offerings in front of you, so you never want to look behind...
Well, now we know why - to get through the "thin", until next "thick".
It's a natural outcome of mega corps and the laws designed to allow them to be mega. Business size should be limited and most tech intellectual property invalidated. That way the devs that can't get hired by the existing market can create new markets.
I was too young and dumb to understand that meant that the owners of companies that needed software engineers wanted cheaper labor and that I was to play a part in the devaluation of engineering labor by helping supply exceed demand, thereby allowing company owners to commodify software labor to ultimately pay wages proportional to hours worked rather than offering a share in company ownership, which allows for compensation proportional to company success.
If H1B's were legitimately about labor shortages, it would be required that all companies fire/layoff their H1B's first. I am pretty liberal, but market dynamics are market dynamics, and I am surprised I haven't seen more anti H1B sentiment to bring scarcity (and therefore leverage) back into the labor market.
A lot of the history of racial atrocity has been a direct result of desperate (and therefore exploitable) foreign labor de-valuing incumbent labor and the following retribution to the weaker vulnerable foreign laborers, rather than the harder work of solidarity and demanding a fair share via things like trade unions/guilds.
So anybody complaining about a "shortage of programmers" is just a cheapskate.
In a free market, what signals to us that more of something should be produced? Buehler? Buehler?
If the prices had been allowed to rise, supply would have equaled demand very quickly, and the shelves would have been stocked as ever. Of course, some people wouldn't have been able to afford them, so we needed some external, non-market mechanism (rationing) to keep prices lower.
While rising prices for the toilet paper would have quickly solved the shortage situation it would have elicited the wrath of local and national authorities. And those authorities can make life hell for anyone trying to charge whatever the market will bear.
Just like there are no circles in the US which are exactly 1.234 meters in diameter. Yes, the concept of a "free market" is an ideal, like the concept of a circle is. That doesn't mean that there aren't instantiations of either one which are closer to the ideal than others.
The market for programmers is one of the freest there is. We don't have guilds limiting how many people can be programmers (like, e.g. the American Medical Association does for doctors.) And we don't have unions forcing arbitrary seniority rules, or uniform pay scales.
And government regulation varies from state to state, but most states are "at will" states--you can either quit or be fired at any time for any reason. You don't have to provide any minimum amount of vacation.
The market in programmers is way more free than, say, the market in automobiles or airplanes, where there are all kinds of regulations about safety, etc. But if you can't afford a Ferrari, or a private jet, that doesn't mean there is a Ferrari shortage, or a private jet shortage.
And if you can't afford to pay market wages for programmers, that doesn't mean there is a shortage of programmers either.
But if the US didn't have implicit price controls ("just try raising prices 3x at this time of national need, you will regret it" from politicians), the deficits would have resolved in a week. My 2c.
I don't know if you've ever been so poor that you couldn't buy toilet paper. But I sure have, and let me tell you, sneaking napkins from starbucks, and getting ink all over your hands from using newspapers goes from being inconvenient to being massively depressing real quick.
What kills me are these "sunshine capitalists" who just loooove the free market when they are making money, but who are the fist to cry "shortages!!!" and complain about the market value of engineering talent when it comes to spending money.
But living in this workers paradise I have seen real people suffer from the lack of medication that was available to anyone in the West. The party leadership did not find it necessary (or easy) to produce it locally, so it was only available to those with the right connections. And so on.
I am now a well-off, spoiled American (and the above reads like an O'Henry? story about two rich gentlemen arguing in a restaurant on who had it harder during their youth), but first impressions linger and I will take capitalism over socialism any day. Yes, capitalism has many failings, but replacing the guidance of money with the wise rule of the elite will always lead to a Venezuela-type mismanagement. My 2c.
If that commodity satisfies a basic need, its unavilability is just even more fucked up.
When I claim a free market has no shortages, I'm using "shortage" in the sense that demand does not exceed supply. "Demand" and "Supply" are also very carefully defined by economists. It's a theorem that under these definitions, in the condition of a free market, there are no shortages.
The market for programmers is certainly not a completely free market, but its close enough that if somebody says they can't find any programmers, it means they are not willing or able to pay market wages for programmers.
I’d go so far as to say that is almost part and parcel what a “liberal” is almost always
When there is a real personal cost, a good chunk of people become surprisingly flexible about their politics, or spectacularly fail to resolve the cognitive dissonance and resort to "My circumstances are different."
They did it, not because I was cheaper (my contract certainly wasn't) but because they could get rid of the bottom 15%. And company rules limited my contractual ability to remain on.
I was kinda shocked at this. "Why wouldn't you keep the people you hired on over the contractors? Don't you hire the best?"
It turns out they hired to fill seats, not to hire the best.
This is real and it still is real, these positions don't pay over 200k for a 4 year degree because there is an abundance.
>I was to play a part in the devaluation of engineering labor by helping supply exceed demand, thereby allowing company owners to commodify software labor to ultimately pay wages proportional to hours worked rather than offering a share in company ownership, which allows for compensation proportional to company success.
Wow slippery slope fallacy. The medical field has no commodity workers and they aren't given ownership.
Anyway, seems like an axe to grind rather than the reality of things.
Not necessarily. If I knew the chances of me being able to stay in the US we're that much lower because of that law, I'd be far less likely to apply in the first place, hence worsening the labor shortage.
However, I literally cannot afford FAANG salaries at my stage. It would literally bring my runway from n to n/5 years. And many candidates are asking for 400k+ salaries. I’d love to hire someone who knows what they’re doing but I’m just not able to find people who are both qualified and interested in the work. (If this is you then message me!)
I had one person today - with lots of FAANG experience who’d recently gone freelance - tell me that they weren’t willing to work with me to write code but they were willing to do advising for $450/hr. We just weren’t on the same page.
I don’t know what’s going on, and I hurt for people who are looking for work. I’m launching more slowly than I’d like because I am not able to find a partner to build things with who is willing to work for less than what they made after 10 years at Google.
Patients can die if he messes up. The worst thing when I mess up is the product is a few days late.
I have been coding for 25 years, make half of what he does and he deserves every penny of the difference.
One time, I saw someone cook raw chicken at a restaurant. A $10 an hour worker can cause people to die if they mess up.
Don't let the Physician cartel make you think they have some magical powers because they have the AMA and ACGME working to limit the supply of Physicians.
The fact that you are treated by 1 Physician instead of a team of Physician is something Physicians greedily imposed on us.
Isn't cooking just what you're supposed to do with raw chicken?
I wrote code for the emergency broadcast system, as well as telecom code. Plenty of people could die if that code messed up.
Being a doctor has grueling training, but I think it's a very different skillset from a senior engineer at FAANG. The type of problem solving that is required for the latter is not really comparable. Remember, there's not even a cartel to keep comp artificially high. It's just that expensive if a senior (or higher) engineer fucks up at FAANG that spending an extra 100k to get the top 2% of talent vs the top 5% of talent is worth it to them.
Investors these days want a return on investment in 18-24 months, not 5 years.
Your first lover is never your wife.
- I've regained perspective on the value of hard-earned money and the plight of the working man AKA majority of America.
- I have no sympathy for complaints that you can't find FAANG salaries anymore. Zero.
[0] I live in Seattle in a studio apartment, so I'm all right.
This is merely an entitled rant made by a surplus elite that has finally realized they're not very elite if conditions aren't absolutely perfectly in their favor. The real elite look inward and improve themselves. Only the pathetic, mediocre, and unimpressive point their fingers outward.
99% of the US population has it 10x harder and still manages to raise good kids. I can see why most people have nothing but contempt for tech workers.
Avoid recruitment channels (like HN!) where FAANG people and FAANG-apirants congregate.
> with lots of FAANG experience
Use FAANG experience as an exclusion filter, not an inclusion filter.
First, as you said, you can't afford the compensation that they're used to.
Second, FAANG companies can absorb tons of bad talent in their hiring process and have mechanisms to both push that talent back out and table it internally once it's known for what it is. There are many awful FAANG engineers. Some of the top performers in the world work for FAANG companies and they're often better at recruiting those people than almost anyone else, but FAANG experience does not identify someone as one of those top performers. It's a really misleading and noisy signal on resumes.
Third, even among talented people who shined in their roles at FAANG, they did so in a radically different work environment than you'll be offering them. The way they spend their days, the pace of deliverables they're calibrated to deliver, the amount of support/independence they need, etc are nothing like what suits your organization. Some may do well (or better) in your startup, but many are not going to be suited to it at all and (if hired into FAANG early) may not even have had the experience to know for themselves.
TLDR; you are not a FAANG company and looking anywhere near FAANG-associated candidates is your problem.
Managers on average are worse than the average coder. And FAANG managers are no exception. At some level it becomes more about winning intra-company fights, than moving the company forward.
You gotta look at the applicant as a whole person: personality, skills, ability to push the needle forward, etc.
I don't know. If you're not hiring them full time, it might be a bargain, and save you a bunch of money. Particularly if you're trying to architect services from the ground up.
Some people are "force multipliers". In that the work they do can save 10x the engineering time. Dennis Ritchie was maybe a 1B force multiplier.
I was paid $100k/year about a decade ago and saved the company I worked for $4M.
In short, you don't know what you don't know. How much is it worth for you to find out?
Are you looking to hire robots or something?
If I have an issue and I'm paying a high paid consultant to solve it, well he needs to solve it, right? Particularly if he's not writing code.
A $450/hr consultant better be able to save $4500/hr. A $1000/hr consultant better be able to save $10k/hr.
Before spending money I must identify a specific need. I can give a very specific need for code (features, launch dates, customer requests) but frankly do not have a need for technical advice by itself.
Then it sounds like you made the correct decision.
Disclaimer: I run a consulting firm with fractional CTO services for startups and previously founded a startup.
The way to go IMO, is to hire someone who’s experience has been startup-focused and offer generous equity to compensate for the fact you can’t pay market rate.
I don’t understand this.
Yes, for some engineers, in some roles, in some locations it makes sense - but that’s a tiny part of the overall market.
I’m 40, live in a rural area in a Southern US state, and have right at twenty years’ experience. I’ve worked a big companies, have been the first tech hire at a startup, and have specialized somewhat in healthtech. I feel like I’m the best I’ve ever been; I have room to grow but I know exactly where that room is and how to make it happen. I’ve done everything from knocking out new tickets every day from a queue to architecting large distributed systems. I love my current job that consists mostly of two things: figuring out what the product side of the org actually wants/needs and making sure it gets done, and supporting all of the other engineers with internal tooling and support.
I make $170k base.
There is equity to consider there as well, but equity in an early-stage startup that doesn’t yet have a firm exit strategy. That’s not compensation - that’s a lottery ticket.
You can get junior engineers in my area for $60-70k, and mid-career around $120k.
I’m at the point where I believe I could _justify_ a salary of $400k… just not in my current role. Not in any engineering role that consists primarily of actual engineering work. That’s the kind of money I’d expect if I were looking at an engineering director or CTO position. I’m very comfortable at my current rate; moving “up” into those roles would require significantly more of my time and energy. My kids are teenagers, and I want to be able not only to spend time with them, but to actually leave work at work sometimes and focus on supporting them. I don’t plan to target those roles for another ~7-10 years.
Worked for 23 years now in professional development. Started in big companies, then moved to smaller companies/startups.
I'm very very good at what I do and my salary is up to the point where small companies are starting to choke on it a bit, and I'm just a tiny bit higher than yours.
Been a senior, team lead, principal, architect, dabbled in some management. Also with successful product launches under my belt.
If I want to move up in salary - it probably won't be in startup land unless I find a relatively big one and I'm CTO.
More likely that I'm just going to start my own companies even if I have to do everything myself.
It feels like jobs, while somewhat available, just aren't what I'm looking for anymore. And the market is turning, or has turned, unfriendly to the super senior.
From my experience the 400k base is very very niche. Plenty of top end engineering talent out there available for less.
and you're right. i know numerous talented engineers in the south who you can pay less and get as good or better of a job done than a FAANG engineer. tbh i might be biased towards a non-FAANG engineer. them southern devs be scrappy.
I try not to think about it in terms of total compensation, but of marginal income (net income - cost of living).
My taxes here are lower, and my cost of living is much lower. I own a 5-bedroom home on half an acre that I paid $125k for. My mortgage is $850 / month. My entire monthly expenditures, including food and such, are around $3,500.
That doesn't surprise me, but it doesn't change my point. Your math is just slightly different.
I'm not super familiar with NOLA housing prices and such, but I can't imagine that it's on par with SF or LA. That means you can work for a lower base comp and still have the same amount (or more!) left over after meeting your basic needs.
I can't speak for your particular situation.
As someone laid off about a year ago, the answer for myself is supply and demand. I had been holding out for my previous TC, but now I'm pursuing lower-paying positions.
It's disappointing, but I don't take offense at it.
I've tried to build a local network, but haven't had much success yet.
I've had a similar problem in Rhode Island.
It seems like meaningful meetups are just hard when you don't live near a large community of software developers with similar interests.
I imagine remote work exacerbates this. I.e., more of us live away from those population centers.
Once you make $200k base and $200k+ in equity, you consider yourself worth $400k+. Even if the equity portion isn't really being paid by your company, it's being paid by the shareholders, it's still money in the bank.
This drastically closes the amount of positions you're willing to consider, as many companies either don't pay in equity at all, or aren't growth companies whose initial offer of equity will double or triple.
And you're lecturing us that it's preposterous.
I guess you don't understand what things cost and the needs of real people who aren't billionaires.
compromise: you'd be able to hire some of the top engineers in the world that live in Europe at half that salary
or accept your business isn't viable and fold
For 125k in almost any other country on the continent you'd be extremely competitive, if not beating, any local offer.
If you're still looking for someone, I'd be happy to chat with you. I'm an ex-Facebook engineer, but I'd be willing to consider a part time thing if it covers my living expenses.
I've got my own startup idea I'd like to execute on, but I'm not willing/crazy enough to eat through my savings for X years.
It's worth giving serious consideration to whether the expensive 500k a year dev will outproduce five 100k, or ten 50k developers. There are serious non-linear scaling properties to increasing the headcount of engineering teams.
The traditional answer to this problem is equity, but note that engineers have noticed that illiquid equity is a different thing to salary.
400K+ in SALARY is rarefied air. That's basically just Netflix for most software engineers. 400k in total comp is different.
The only way I can see 400k+ salaries is if your requirements are a very restrictive Venn diagram of:
* Geographical location (assuming in person, Bay Area / SV?)
* FAANG experience (is it an actual requirement?)
* Seniority (does not necessarily translate to ability... but it does translate to higher asking salary!)
* Niche technical or industry skills
* Golang experience (which wouldn't explain 400k+ by itself, but may restrict the candidate pool further)
If you're seeing $200/hr, that is high but not unreasonable for a good freelancer and smaller engagements. $400k for a 1 year full time freelance contract is pushing it. $400k/year for a salary position seems borderline crazy to me!
When I was laid off almost a year ago, it wasn't clear how much of a pay hit I'd need to take to get a job in the new market conditions.
I'll not apply because I doubt I'm qualified but if you have a link with the job posting I'd be glad to share with my circle.
Are you looking for a salaried employee or a partner. A partner would share your vision, but get a significant portion of the company. A salaried engineer doesn't have an upside if and when your company takes off.
It could change the dynamics a lot.
I'm in New Zealand. I'm paid approx $120k USD as a staff engineer equivalent at a conaultancy, and I think that's about market rate if you're good. I've never worked for a FAANG (was at Xero in the early days though).
You could hire three and a half of me for the price of one ex FAANG person in your city.
NZ is English speaking and has a fair amount of time zone overlap with the US west coast. We do have proper labour laws though :P
That could affect the 3.5x number.
This is especially painful for college grads, who don’t have specific experience to fall back on.
It's partly the result of software dev as a field maturing (quite literally, most are now older) after the ZIRP bonanza of the last couple years.
There is no training or university pipeline any longer?
The first time this happened to me from the other side, when I was the one who was being selected for, it felt very awkward.
Edited to add:
Sure, be polite, but don't be trapped into 8/16/24 hours of interviewing over the course of a week/month/months before only to get a below average offer
Politeness usually leads the way.
I read Politeness as Pointless until I re-read it a third time.
This is anything but polite.
Bolting after two months suggests something of concern.
Experienced, skilled engineers are rarely the same as specialists in your languages/frameworks/libraries/etc.
> quit after 2 months of barely working
So between this and inability to hire, it smells like you have a management problem, not a problem with bad strangers from the Internet.
I understand that people gotta hustle to eat, but we get hundreds of applications, and so many resumes are fake and just an attempt to get through the screening... plus lots of cheating, sometimes just good old ChatGPT or someone whispering behind the screen, other times with people giving perfect memorized answers but not a peep when I go off script.
Makes me want to hold on to this job...
Hobbists are discarded at the first pass I guess.
Instead over the last 2 decades, we’ve seen the finance bro pipeline diverted to tech bros.
Its a classic vicious circle: if your resume gets auto-dinged if it doesn't have the right keywords, applicants are highly motivated do lard up their resumes with keywords.
And then the companies observe they are getting tons of bogus resumes, and they think they can fix it by making the filters even harder to get through....
Everybody is incentivized to race to the bottom.
In fact, you'd have a good chance of finding somebody smarter than anybody in your company. You are obviously filtering too much.
And it would be one thing if the system merely filtered out too many good people, but the ones the system let's pass are not the ones you are looking for! Its bad in every possible way a filter can be bad--filtering out what you want, and letting through what you don't want.
> disqualified for not meeting the basic requirements
What is a basic requirement? If a basic requirement is something like "5 years of Java experience" its filtering out topflight c++ and c# programmers. Good programmers can make anything work; bad programmers will remain bad programmers no matter what programming language is used.
> dozens interviewed
Over my 40-year career, programming interviews haven't changed at all, basically testing how much of corman, leiserson, and rivest you have memorized, and how much oof the book "Cracking the Coding interview" you can regurgitate.
That was ok 40 years ago, when programming was largely creating new systems from scratch. But these days, with all the frameworks, not so much. There's 40 more years of infrastructure which has been created, and to be a successful programmer, you need to be able to leverage other people's code. But who interviews to test that skill?
Again, the fact that the one person the system let through didn't thrive in your company just screams that it is not testing for what you really need. Such a "stringent" process shouldn't be a point of pride.
I think they've gotten worse actually. A lot of times they're led by 20-somethings that are looking for only the skills that are limited to their own shallow experience.
"Oh so you wrote compilers in C? Too bad, we're coding node.js here. Have any experience with npm?"
Interviewing 600 candidates is incredibly expensive.
And no, you can't really filter by the resume alone. The candidates you don't want have become masters at forging credentials.
> Akerlof examines how the quality of goods traded in a market can degrade in the presence of information asymmetry between buyers and sellers, which ultimately leaves goods that are found to be defective after purchase in the market, noted by the term 'lemon' in the title of the paper.
> Akerlof's theory of the "Market for Lemons" paper applies to markets with information asymmetry, focusing on the used car market. Information asymmetry within the market relates to the seller having more information about the quality of the car as opposed to the buyer, creating adverse selection.[1] Adverse selection is a phenomenon where, buyers result in buying lower quality goods due to sellers not willing to sell high quality goods at the lower prices buyers are willing to pay. This can lead to a market collapse due to the lower equilibrium price and quantity of goods traded in the market than a market with perfect information.
Basic requirement is at least 5 years of professional experience. Most of the people who apply don't have that. Then after that, a large number of people who make it to the coding test can't pass the first basic test, or struggle through it: generate a random string using only the standard libraries. If you can't do that then you are not a senior developer. Or they appear to be using ChatGPT and cheat through the test. etc. etc.
And memorizing algorithms wouldn't help you pass our assessment, it's actually easier than that in my opinion.
If you can't tell how good a programmer is by his resume, then....why the hell does everybody use resumes to try to do it???
The kicker is you can't sort good programmers from bad programmers by keyword filtering. Asking for specific languages, or specific frameworks, is a particularly egregious sin. If one of the magic keywords is "nodejs", you'll filter out that guy who has been using javascript + PHP for Facebook for 10 years. That guy is not going to have any trouble picking up nodejs.
If "5 years experience" is a magic keyword, you'll filter out all geniuses who decided that 4 years at Amazon is enough for anybody and wants to make a move.
So, if you are a genius, and you are one of the 1,000 people who applied, what are you to do? If your resume is pre-filtered by keyword, there is a HUGE incentive to put those keywords in--at least their resume would have a chance to be seen by a person, and its not like he'll face any repercussions for it.
Its a classic vicious circle: companies are too picky on the requirements, which prompts applicants to fudge on their resume--which prompts companies to be EVEN MORE picky in their requirements, in desperate hope that if they just put enough keywords in, they will only get the resumes they want. The industry has got to break out of this cycle.
> wouldn't help you pass our assessment,
I hate to put it in such stark terms, but if your assessment is ruling out good programmers and letting through bad programmer(s), its worthless. You need replace it with something that actually works.
I'm wondering at this point if you've ever hired for an engineering position before...
Lots of assumptions here, but we don't use keyword filtering.
> you'll filter out all geniuses who decided that 4 years at Amazon is enough for anybody and wants to make a move. Geniuses with 4 years of experience are probably working at Google for 400k+ salaries and are outside of our hiring range.
You have to prioritize time and when you get 500 people with < 5 years experience and 499 of them are not geniuses, it's not easy to find the needle in the haystack.
> I hate to put it in such stark terms, but if your assessment is ruling out good programmers and letting through bad programmer(s), its worthless. You need replace it with something that actually works.
It's a difficult balance because if it's made easier then it lets through more bad ones and if it's made harder it potentially filters out more good ones.
Well, I'm not a mindreader, so perhaps you are right. Can you at least help me clear up the bad assumptions, and tell me, if resume's are not giving you the information you need, why are you using resumes?
> we don't use keyword filtering.
If your policy is to reject anybody without nodejs experience, you are using keyword filtering. It is what it is man.
> filter out more good ones.
I have sympathy here; its not clear exactly how to improve the filter, but if you reviewed 1,000 applications and found nobody, its impossible to filter out more good ones :-) There's no change you could make which would filter out more good people.
> You have to prioritize time
I have sympathy here too :-( Honestly, I can give you guesses as to how to improve, but I have no clue. Its one of the reasons I didn't go into management: I didn't see any way of doing it any better than it was already being done. You wonder if I've ever hired for an engineering position: no, I haven't, because I didn't think I'd be able to do a good job of it.
But one thing I do know, is that if a system isn't working, it needs to change, whether you know exactly how it should be changed or not.
I agree the system needs change but I don't have the answers for how to change it, hence why I said it's the million dollar question. Best we can do is try to make improvements.
Getting a job is a core skill requirement for programmers, and finding programmers is a core skill requirement for companies. Its really hard to believe that this is the best we can do.
> Resumes still filter out "bad" candidates.
I really hate to try your patience, you've been a great conversation partner here. But I put it to you, all those thousand resumes did you absolutely no good. I mean, there's probably something I'm missing, because I don't know the particulars of your situation.
But from what you've said, all the effort and expense you put into screening those thousand resumes, and all the effort and expense put into interviewing them, did you no good. Expensive, time consuming...and ultimately yielding no value at all. I really hate to put it into such stark terms, but man, things gotta change. Even if you don't know how to do it, you've got to find somebody who does who can give you some good advice.
Its true, programming has changed: we are building on top of frameworks and incorporating services today, and not doing so much development from the bare metal. But that doesn't mean that you can't hire anybody who isn't a clone of you: it means that the we have to train ourselves to have the ABIITY to just jump into a new stack, at a new company, and quickly familiarize ourselves with it.
THAT is the key skill going forward. The crucial skills are not can you remember how red-black trees work, or how to use dynamic programming to implement this algorithm. And its not whether they can put the right keywords on their resume. It's can somebody dump 100,000 lines of code in your lap and have confidence that you can handle it.
And also, if somebody can't join your team and be productively "plugged into the matrix" in a few weeks, that means your stack has some architectural problems: lets face it, even code you wrote 6 months ago might as well be brand-new code to you. The code base has to be such that it's easy for people to quickly read it and figure out what is wrong and how to fix it.
Otherwise, even people who have been there for 10 years using that exact same stack are not going to have any success.
I also love how all the responses blame you and the company; maybe we've developed some unrealistic expectations over the past few years? I don't hear this sort of response outside of development.
I've done plenty of engineering hiring and never had a hard time finding candidates who were good enough to get the job done. Relax the qualifications, increase the compensation, and improve your company's reputation as a good place to work. Easy.
But I only have a CS minor, so...
I've never in my life worked for more than $110K annually and I have 22 years of experience. Can do practically anything on the backend and quite a lot in terms of system administration.
This is also VERY sensitive to location, even if I'm working remote ever since 2011.
I am also from Eastern Europe.
These things make a huge difference.
But I admit I get ticked off by privileged people who think that all you have to do is pick up the phone.
No, for 99% of all programmers everywhere and who didn't go to the prestigious schools in USA, it's definitely much harder than that.
If you know someone claiming to make 200k+ as a non-specialized programming contractor, they're probably just making numbers up to impress the internet. Regular (non-tech) companies don't pay those sorts of rates to non-specialized programmers, and startups can't afford those rates. That leaves primarily FAANG or large tech companies, in which case YOE is irrelevant; they hire based on pedigree and who you know.
But as a tax guy, I generally see the actual financial data (i.e., the actual 1099-reportable payments), and I rarely see anyone who actually does make 200k+ as a contractor. And all of those positions are always niche positions, and almost all of these roles are for less than a year: meaning: the 200k is the amount they would make if the role lasted a full year. So if they're making 200k+, it involves multiple gigs, which is a very different situation from making 200k+ at a single gig.
Just wanted to put out a data point that it is possible and enjoyable.
My life and career being the disaster that they were/are, I never stopped to think about specializing for more than a minute, 5-10 times maximum. Always seemed extremely risky because I also have zero network. Even if I found a very lucrative job and stayed there for 2-3 years the change inevitably comes at one point (especially post COVID) and then if I lose the job I'll be out of luck and severely f_cked.
Hence I always tried to cast a wide net. I started regretting that decision in the last few years though; being treated as an interchangeable cog even if you are the best programmer in the team left a lot of marks on my mental health and I wish the world became a little bit more kind but alas.
I do know a number of bank developers making 300k+. They work on the boring, unsexy backend stuff that makes the bank run. Each of them provides the equivalent value of about 100 front-end developers.
I made the mistake of moving to Eastern Europe, and it is very difficult to get out of here due to relocation.
I’m a senior dev in NYC with ~7 years experience working across the stack (NextJS/ReactJS, Node, Python, Postgres, SQL Server, etc). I’m also not half bad at design.
I haven’t been able to get a response much less an interview.
Edit to clarify my meaning: I’m not trying to come at you, just pointing out that this seems to be symptomatic of the problem as a whole.
Sure, they're the exception, but with enough numbers you'll always find exceptions.
Titles were never normalized in the software industry because we've resisted licensure -- so organizations freely make up their own, rotate them, inflate them and workers don't complain so long as it sounds no less cool/marketable than their last one.
- Accountants become Senior Associates at around the 3rd year.
- Lawyers becomes Senior Associates at around the 6th year.
- It seems that doctors can complete their fellowship around the 7th year mark as well.
- Reddit commenters claim they got a senior civil engineer title at the 5th year.
So, I don't know what you're talking about...
I’ve barely been getting any interviews for the NYC market. When I do, they have weird processes too. I haven’t done a single leetcode interview yet and it’s mind boggling because that’s what I’ve been prepping for this entire time.
That said, I’ve run out of places to interview. The market is insanely dry for nyc and I’m worried I’ll have to move back to SF to get hired.
This specific person has 17 years of experience. Are they a staff level engineer, critical to their group? 17 years is more than enough time to become more competent than >99% of software engineers, if they have the aptitude for it. It seems unlikely that a company would layoff someone keeping all the juniors unblocked, unless management is totally incompetent.
Or are they a senior with a decade of negotiated raises, who hasn't learned anything meaningfully new in that same time? They have something like 7 years of real learning, and the company is paying for 17. This is an obvious choice for a layoff.
I haven't seen any signs that smart people who can write software are valued any less. They are just as hard to find, and are getting paid just as much as ever.
Bingo. It takes a buyer and a seller to close a deal.
Supply going the wrong way with layoffs, demand going the wrong way with interest rates.
Like a traffic jam, takes time to unwind the backlog.
Sooo...how do you measure how good a programmer is? You've got to cut $200,000 from your budget. You can lay off 2 junior programmers, or 1 senior programmer.
How, exactly should management determine whether or not the senior programmer is worth twice what a junior programmer is?
This is not a rhetorical question, and generalities like "keeps the juniors unblocked" are not an answer, unless you can give some objective metric which really tracks that. And even if he "keeps the juniors unblocked"--how can a manager tell whether keeping the juniors unblocked is worth $200,000 a year?
Management doesn't agonize for months of who stays and who goes. The directive comes down from Olympus and they have to be executed quickly so that P.R. can move on to another narrative.
Project not making progress => senior gets involved => project making progress. Or senior gets involved and some architecture decision gets changed to alleviate some risk.
If the senior is doing this but its a visibility problem, then it may suck but they also need to self-advocate if the manager isn't proactively keeping track of their team(like they are supposed to be getting paid to).
Sure, that's in management's wheelhouse....but really, have you never felt like your contributions to the team were undervalued? Or whether somebody else's contributions were overvalued?
> hey also need to self-advocate if the manager isn't proactively keeping track
Have you ever tried doing this? How did it work for ya? In my experience, its not a good idea to get yourself in a place where for you to be right, management has to be wrong. That's not a fight you are going to win.
I've seen exactly this happen in every large-scale layoff I've been first-hand witness to (both those I survived and the one that got me).
So why pay more to hire an experienced IT man that will not know the latest techno-fad when all you need is a junior that knows them a little bit and is waaaayy cheaper.
Moreover - from a management & HR point of view - there's always IT problems. You know: nobody notice when everything run smoothly (and it's a signal to let go some people) but everybody notice when there's an IT problem!
So let's take the cheapest...
BTW I'm 52 in France and notice this too here. And I don't know how to explain why experience matters... :-(
My problem now is stopping myself from thinking 20 steps ahead and thinking of all work being pointless. It's a mental trick you play on yourself if "maybe I'm wrong, maybe I'll learn something, chop wood, carry water" and I always learn something.
How do you put a dollar value on that though? If I can hire either 2 junior programmers for $100k, or 1 senior programmer for $200k.....how the heck am I supposed to know that this guy can pattern-recognize an extra $100k of value??
Your job in the interview is to show that you are a senior. Not to make business decisions for them.
Here's where I'm coming from: at every company I've worked at (besides start-ups) managers spend 2-3 months on rank-and-yank evaluations. That is an incredible amount of effort, from incredibly expensive people. But its worth it because getting the yearly evaluations right matters.
It takes so long, because its hard to do. So how, pray tell, is somebody supposed to be able to tell, just from the kind of interviews which happen today, whether they are worth more than two junior programmers or not?
January S174 discussion: https://news.ycombinator.com/item?id=38957651
(https://rhodeislandcurrent.com/2024/03/12/business-owners-un...)
I chose to stay at my old job then left a few months ago. Took 3 months to get an interview and I've seen such shitty behavior. Company hiring for nonexistent positions. Ghosting after bad interviews. Heel dragging and super long interview turnaround times. I strongly suspect I'm going to take a pay cut when I do get an offer. My feeling is just that employers can be picky now, so they are. I hope things turn around soon
The kind of people posting on Youtube or making courses about How Everyone Should Code because everyone can get a job coding and no matter how many people join the workforce jobs will always abound.
The kind of engineer talking to non-tech people about how they should always negotiate and never settle for a low salary. To jump early and often.
The kind of engineer that badmouths recruiters, has no LinkedIn or hasn't maintained one in ages because they can't be bothered with it.
Yes, it's stereotypical. But we all know someone who has one or more of these traits.
Just like companies struggling to hire were simply not optimising for it (higher salaries, regular salary reviews and raises, smooth and quick recruitment processes, employee-centric work culture, etc), the same happens now to employees. They are unwilling to consider a slight decrease in their salary, lack of remote options, slightly worse work culture, boring companies (no Big N, FAANG or even tech sector companies), legacy codebases, boring tech stacks, less than ideal development processes, etc.
You have seen those engineers in reddit. You seen them in LinkedIn. In Tech Conferences. In Youtube. And even here, in HN.
The reality is that most of these devs are trying to get a role with perks similar to their previous one and that's not gonna happen for quite a while. The struggle in getting hired is basically the devs going through multi-stage reality check.
If you have a job and haven't been served a notice, you can be picky and play the waiting game. If you are about to lose your job or you have already, all that matters is getting ANY job that covers your expenses.
Many senior software engineers have financial cushion. This market will probably get worse before it gets better, but like after dotcom boom and 2008 crisis it will recover. And having assets that you can live on for a few years means one doesn't need to dash around panicked to every job posting. My 2c.
Less financially stable folks are actually applying and prepping not stop because moaning online won't give you a job nor put food on the table.
For the financially secure, the options are mostly the same. They just have the additional option of waiting. Their chances of getting a job similar to their previous one is still very low.
While they have the option of remaining unemployed but financially secure, and they have the option to literally wait for a few years, this will not look good on their CV.
You have two candidates, similar experience, one has a job, the other one hasn't had a job in 2 years. Interviewers from a job market that has been employer driven for the last x years will likely choose the employed one. No employer cares about how financially secure you are. If they have the choice of someone like you but with no recent job gaps or no gaps at all, they will choose the other candidate every single time. Just like an employee will always choose the slightly better company even if both companies are similar.
Bottom line: I am not shedding any tears for most senior engineering folks who worked through one of the most favorable decades for software engineers. Yes, changing is uncomfortable, but they should have options that are way better than a free soup kitchen. My 2c.
Only one source of course, but I think it's indicative of the state of the overall market.
Wouldn't this mean that capital is flowing in which should lead to more hiring? Is the job market response delayed or are there other factors?
Not necessarily because ‘more inflation adjusted dollars’ but because ‘same thing will be worth more dollars, after inflation’.
Not really. If the price of shares in your company goes up it doesn't mean you have more cash in your pocket. You would need to sell shares or issue additional shares to have more cash to pay people with. There's other ways an increased price could be beneficial of course.
AI is another wildcard. It remains to be seen exactly how much it will reduce the demand for developers but it seems very likely to at a minimum cut into the entry level job market.
2000/2001, 2008, 2020 and others were bad years and growth eventually happened. But even The Great Depression lifted eventually.
If I had a choice, I would choose gentle growth rather than boom years and bust years.
Anyway, I'll take today's economy over the dot com bust, the early 2000 off-shoring craze, and 2008 recession..
2002 -37.58
2001 -32.65
2000 -36.84
The people that think this is bad, can't imagine what 2002 was like when the all time high in the Nasdaq was a few days ago.
Hate to break it to everyone but the good times are right now.
The next decade we should see a massive deflationary force from software being so much cheaper to create.
chuckle the economy is not doomed. Of course there's green badges on linked in, its not tik-tok, if you are on LinkedIn, you are probably there to look for a job.
It seems like the sky is falling, but it's only tough in a few sectors of the economy. Unemployment is at historically low rates. We're not used to this kind of turbulence, because historically it has be us who have replaced employees with automation, but eventually, what goes around comes around.
The real rate of employment is much worse. Not to mention that pay has not kept up with inflation. What would the employment rate look like if it had?
Many low paying jobs are being created and since pay has not kept up it is barely a living wage.
When the government measures what it calls the unemployment rate, you might wish that it were measuring what you call the unemployment rate, vs. what it calls the unemployment rate.
But at least the government's definition of the unemployment rate hasn't changed, and each time they measure it they are measuring the same thing.
So, even if you doubt the absolute number, you can still have confidence that if you can compare the current number with past numbers, you will get a reliable reading on whether things are moving in the right direction or not.
AS I said, high-tech is not used to facing this--it was us who were automating thing, and letting businesses do more with fewer people. Now its finally come around to us, and it sucks, but its nothing everybody else hasn't faced since the beginning of the industrial age.
Though the numbers mean the same they have been artificially influenced by other factors and the ability to measure the economy through unemployment has been nerfed.
Not to mention attrition is higher than the past so the jobs that are being created could be largely recycled.
> If [yada yada] then unemployment would not be so low.
Which seems to indicate that you do believe unemployment is low, but
> the numbers mean the same they have been artificially influenced by other factors
which seems to indicate that you disbelieve the evidence that unemployment is low...
The reason I ask if you are OK is that this is exactly the kind of thing which happens--to me as much as anybody--when you are feeling depressed. Any reasons to be optimistic (e.g. unemployment is low) are immediately discounted (e.g. its low because minimum wage hasn't kept up), or even just flat-out denied (unemployment isn't even low, because the numbers are cooked.)
Which is bad enough, but all the reasons for pessimism get magnified (e.g. purchasing power hasn't kept ups). The result is a self-reinforcing cycle of pessimism, which makes you completely immune to things which would ordinarily cheer you up and help you out of the trap.
> artificially influenced...the ability to measure the economy through unemployment has been nerfed....
Yeah. The danger with this kind of skepticism is where does it stop? I mean, sure, if you want to use the unemployment numbers as a source of information, you should know what is being measured and how its being measured. But to just dismiss this metric out of hand--when every other economist in the world follows it closely and thinks its useful--is just too facile. You can doubt anything. And it can trap you in a bad place. I hope you are all right.
My primary issue is that thirty years ago jobs that you could take, such as my wife’s family did, such as minimum wage jobs could lead to you having a house and living with dignity. The majority of jobs created today do not seem to offer that for the reasons I stated above.
I wish there were reasons to be optimistic here but we have to be realistic. I believe the numbers they are telling us are accurate. I also believe the numbers would be historically good, but the reality does not feel like it.
But the number of new businesses gobbling up these laid off folks is really crazy. There's been a huge diaspora and in a couple years I'm hoping everyone I know will have really good positions.
WHO DO I BELIEVE?
I can just look at the rate of recruitment emails arriving in my inbox, too. It's all but dried up.
35 years experience here, been looking for 2.5 years.
About 10 years ago, I was looking for jobs, and wasn't getting any bites. My wife said "Cut your resume in half. Only show the last 7 years of your employment history."
It worked--when it wasn't so obvious that I was a graybeard, I got a lot more interviews. But it was epochally, cosmically sad for me to cut out 15 years of my experience--describing achievement I was really proud of. And just throw them in the trash.
Lots of highly paid people don't bother with it, even when they might have qualified -- whether because they're lazy to lazy to do the paperwork for a small offset against their expenses, or because they intentionally took time away from the labor market after being fired and aren't into lying about it.
This wasn't my experience in my state. While the first point may potentially be true for those making $250k+, getting unemployment took me less than 30 minutes going through an online portal. That's a trivial amount of work to make >$2k a month. The "attesting" was me submitting names of 3 companies I applied to while unemployed, and this was only asked of me 2 months into receiving unemployment benefits.
https://medium.com/@davenixon_44904/how-to-find-a-job-when-y...
TLDR: Work on personal/OS project to learn in demand skills and maybe to create some value or residual income. Startups are often the least picky in hiring and provide a stepping stone to a large more stable company that may be a better fit for an older engineer.
Doing circuit board design too?
It's not just anecdotal. I see it at a large scale too. I'm at a top-ranked university and I see it in our students. 2 years ago, they were choosing between multiple job offers and hardly had to apply anywhere. Now, students with CS undergrads or Master's degrees from a university whose name everyone knows where virtually everyone used to get FAANG offers are now having trouble getting reasonable jobs.
As a scientist I find the attitude of my colleagues in the economics department totally insane. They claim that we're all wrong and that the economy is amazing. They say that to me and to students who literally apply for dozens of jobs; they say it to our faces. In my neck of the scientific woods we would be publishing papers about how our metrics are totally wrong and we need to reform our science because we're disconnected from reality. In economics it seems like they publish papers about how stupid the public are. It's just crazy.
All of this doesn't bode well for the election. I can't describe the lack of enthusiasm students have for Biden when they're literally hurting financially and he's doing a victory lap on how great the economy is.
But...you're the one using anecdata?
Happy for you all but again it’s come at the cost of local US remote workers… the chickens have come home to roost of the WFH movement
I think it should be fine to say “good for you, but sucks for me”, and have empathy towards groups that have the rug pulled from under them
- A glut of people entering the field with no experience.
- A more recent glut of people laid off who now expect or need inflated salaries to maintain their lifestyle and status.
- Excessive focus by employers on very specific "skills" that don't necessarily translate to productivity or contributing to a team and project.
- Employers not willing to train or mentor new hires, and expecting to hire only the "best" or the top X% of candidates.
- Investors and shareholders demanding revenue or at least market share growth rather than quality, consistency, cultivating employees, or even producing anything of real value.
- Meaningless titles, people with very little actual experience or talent called (or calling themselves) "senior."
- Employers conflating university degrees with talent and ability, and then requiring experience the candidates can't acquire in school.
- Programming education degraded to "boot camps" and other superficial and shallow "skills" training. Comp Sci has little to do with the vast majority of programming work.
- Mistaking unnecessary complexity for technical excellence, at both the management and programmer level.
- New programmers ignorant or dismissive of actual opportunities because they focus on the latest fads and fashion they read about, and only look at the FAANG companies and hip startups.
- Managers who can't manage software development projects or programmers, don't know how to evaluate candidates, don't use metrics, and jump from one nonsense pop psychology or social media inspired craze to another.
- No useful way to measure ability to perform in the job, and relying on poor proxies such as resume keywords and leetcode and whiteboard performance.
- A paralyzing fear of making a mistake, or choosing the wrong job or candidate, that afflicts programmers, hiring managers, HR departments.
- Fake it until you make it ethos, and the flip side we call imposter syndrome.
- The idea that a job must provide self-fulfillment, "follow your passion," etc. And the parallel inflated requirements employers dream up pretending they will have problems of scale or will work on novel and difficult technical problems.
- Actual talent and aptitude for programming in the sense of solving real business problems remains rare.
I have worked over 40 years as a professional programmer so I've seen all of these things happen over time. Employers and candidates both have unrealistic expectations and terrible processes for matching with each other. And I can't think of a nice way to put this, but the programming field (or "software engineering" as some like to fancy themselves) looks like a long-term clinical study of the Dunning-Kruger effect. Programmers delude themselves about their abilities and value in the job market, and employers delude themselves about their needs and requirements.