I was laid off recently along with many others because an entire experimental project was killed because the market shifted (crypto, I know). Prior to that I’d received top performance marks and had been promoted to team lead. They gave me a great recommendation for the next gig.
It’s as easy to get a low performer who’s on a PIP and employed, as a high performer in a risky company. Hard to tell which one you’re interviewing.
Layoffs are financial and political decisions. Sometimes people layoff idiots when given the chance, other times they layoff the smartest people to protect their friends. I consulted at a bank where a SVP would reorganize non-core business units into his org specifically to meet his reduction target while minimizing business impact. Those people were cannon fodder from day 1.
Hiring is the same way. If you only hire pristine resumes without gaps, you’re selecting for survivors - not the same as performers. It’s more of a statement about the hirer-er than hire-ee.
You never know when you need a sacrificial lamb, eh.
Yep. Before the IPO the task came up to increase our development team size to 200 people, cause “people would rather invest money in 200 developers than in 30”. We would hire anybody who was able to say anything sapient about the task “insert an element into a double-linked list” (and were amazed when 80% of applicants were unable to pass this simple barrier).
On the other hand - when layoffs came they were rather reasonable and the worst people were let go. (None of them were among the people who passed the above-mentioned barrier though).
I’ve been programming professionally for 20+ years and I had to look this data structure up. Granted, once I reviewed it, node insertion is trivial, but I hope you gave applicants that opportunity. Or perhaps your line of work commonly deals with stuff like this.
I’ve spent my career in web and mobile product development, usually with a business focus of some kind, and it still surprises me sometimes how little I’ve used certain topics from college, like mathematics. I think most of the math I’ve used I likely learned by grade 6.
More importantly, having the general problem solving skillset to reason through this problem in 20-30 minutes seems super important to many aspects of front-end development...
At most places I've interviewed, each interview question is a 25 minute - 30 minute session. Since white-boarding the solution takes perhaps 5-10 minutes max, in this case, there's plenty of budget to refresh definitions and provide a clean interface from which the actual task begins.
Critiquing "insert into DLL" as an unreasonable question does a disservice to the "less leetcode" position :(
Exactly! We were not looking for A+ CS students, we were looking for people we can work with.
My high school did not offer CS except as an independent study (you could technically do anything as an independent study, so "offer" is shorthand for "convince a teacher to let you sit in their classroom during planning period and find a way to sit for the AP CS exam").
There have existed high school CS courses since the 80s. (The AP CS exam was introduced in 1984.)
I took AP Computer Science in High School in 2012. The whole curriculum was based on this “Grid World” Java program where a Grasshopper extends JumpingBug extends Bug or something like that, no not as an analogy for OO, the classes were literally named like this. And, the AP test asked specific questions about Grid World's implementation, so you had to learn about it even if you understood the underlying computer science concepts.
I wish we learned about linked lists. I didn’t get that until college.
Linked lists were much more fundamental (and covered much earlier) when they were using C++.
Wasn’t too much learning about double linked lists going on in that class.
We couldn’t - there was no Google at the time of our IPO. (More importantly there was no mobile Internet). But the reaction “please clarify what are you talking about” is absolutely sapient, so you would have passed. But note that this:
> node insertion is trivial
- is much less sapient. In my alma mater “trivial” meant that you are able without a pause to write down a proof - without a single error. And this particular task is not designed to be rushed through, there are a couple of potholes. Anyway, hire / no hire was not based upon the absolute correctness of the code. It was mainly based upon the applicant’s reaction to me pointing some “obvious” error in their code. We were not looking for A+ students, we were looking for the people we can work with.
Hard agree.
I've hired high performers from dumb layoff situations like start-ups going belly-up, companies resizing, contracts getting prematurely terminated, etc. I wouldn't consider a layoff a negative metric unless the interviewee outright admitted "they were trying to get rid of me."
I'm always shocked when people bring it up as signal vs. noise in regards to interviews.
And it's also possible they were actually high performing in their last role but they managed to bruise someone's ego and wound up first on the layoff list as a result.
There is just way more to firings and layoffs than performance.
Mind you. Companies can do more with internal development/retraining and institutional knowledge is a thing especially with large organizations. But, at some point, no one's going to be happy.
I remember, many years ago, being tasked with teaching PHP to the mainframe COBOL team - we’d retired the mainframe, and all our COBOL apps with it, but we’d kept the team, and management had struggled with finding them something else to do. It was a painful experience, they were getting it, but very slowly. Didn’t help that I wasn’t the best teacher, I had to slow myself down a lot and found that a struggle - but I was young and inclined to say “Yes” to everything.
Eventually, they were all laid-off - and pretty much straight-away found new COBOL jobs (with a higher salary too). I think, in the end, they were happier that way.
On the other hand... grinding LeetCode is way more measurable. ;)
Sometimes, people are fired for "performance," when what that really means is "new manager/tech lead didn't like them." Interview enough people and you'll see this at some point. Sometimes, low performers in one environment are star performers in another. This is what happens when founders are replaced by more experienced executives, among other scenarios. Sometimes, people with impressive credentials (PhD + significant publications + previous experience, for instance) will completely bomb your interview because they can't figure out which of their language of choice's container types is suitable to the task. I literally interviewed that candidate once. Sometimes, people are fired for straight up illegal reasons that have nothing to do with performance. (This literally happened to me at a big company you've probably all heard of and used their product.)
As a company and an interviewer, the best thing for all involved is for you to have a structured process with which to evaluate all candidates for a given position, and follow it. No interview process is perfect at either selecting good candidates or rejecting bad ones, but if you have and follow a structured process, at least you should get consistent results out of your interview process, and you can calibrate your hiring bar from there. I don't want to go into much more detail regarding "structured processes," but if you search on HN for u/tokenadult's hiring comment cum copypasta (albeit an informative copypasta), most of what's there still holds true according to the best and most current research on hiring.
I was at my org for roughly 9 months, I came in as part of a large class of new hires across the entire org.
The last 4 months we were in crunch mode trying to land a big client that leadership continued saying would be a game changer for us. My eyebrow was already raised, because if one company is that much of a game changer, what happens if we don't get that client?
Sure enough, as I was texting with a friend who was spared, he let me know as soon as the last person left the office that day from layoffs, company had the weekly all-hands and announced sure enough, they didn't get the client.
Given that this is the status quo, employees should adopt the same attitude. When working for an ethical employer, I'll work 48h/day if the situation requires it, but for everyone else, I'll bill them for the "quick question over the phone" outside of my agreed upon working hours; and I'll quit when someone else makes a good offer. Once a (spectacularly unethical) employer tried to pull the "think about the others in your team" stunt only to be amazed when I found them better jobs within a week and everyone else quit, too. I cannot say he learned from that experience, but I equally cannot say I regret my decision.
To add a differentiator between laid off and fired, I've been fired twice in my life, once after I quit (toxic manager), and once when I refused to do something clearly illegal (another toxic manager).
You can be at the top of the layoff list for nothing more than voicing your criticism of company strategy at some random meeting.
I’ve seen very talented VPs go from “hero” to “zero” in the span of a month when the CEO decides to change direction and concludes those people aren’t “aligned with the new direction of the company”.
To get the tech slowdown you’re proposing the higher interest rates will have to shake out through all of venture capital and start-up money will have to tighten up.
My guess is tech salaries will stagnate for a while. But with poor performance of RSUs and inflation eating into purchasing power this will essentially be a pay cut.
However, if your timing is good and risk tolerance is high, taking more options over a higher base can work out quite well.
Options on the other hand are largely vapour in modern markets. Many start-ups are electing to stay private for time periods exceeding fifteen years. They fully expect most employees to not be able to afford the options they get because of the tax implications combined with limited ability to sell. Some services exist to try and alleviate this problem although most do so imperfectly and take a large premium for the risk and uncertain time window for the shares to become publicly tradeable. These days I mostly don’t bother looking at companies that can only offer options because they generally aren’t willing to offer a high enough base to compensate. I’d far prefer $200k base and $200k RSUs to $300k base and $100k of uncertain options. The first offer is far easier to find than the second as very few start-ups are willing to raise base to compensate people for the lack of liquidity in their options.
Loss aversion plus money illusion in a nut shell. Most people wouldn't agree to a paycut so employers must fire employees which is even worse for the company and the rest of the economy. This is why deflation results in mass unemployment.
that may take some time, If there are more job seekers then your next offer may be lower than your current one.
Recruitment Tech founder here. The job market is still tight. There are two open jobs for every available person. Source: Fed Chair Jermaine Powell. This means you lay off, someone else will hire quickly.
> However, many of these layoffs are single-digit percentage layoffs from companies that are still hiring across the board. That's not so much a traditional layoff as a pruning of the workforce.
100% this is the story. The pruning seems to take two forms: classic "underperformance" and, as much as I hate this, people who just won't come back to the office, or have moved to lower cost areas and will not accept a pay cut.
Why would anyone accept a pay cut if their job is remote? I get it if location based pay is used for jobs that require in person. But how can the employer have it both ways? Why would the employer want to subsidize more expensive lifestyles for a remote position?
Employers don't pay high because CoL is high; they pay what the market allows them to pay.
People fear loss more than they welcome gain. There is a lot of demand for good engineering talent and there just aren’t enough engineers with these skills. While many people fear that remote would decrease salaries in high col areas, I believe the opposite will happen.
Of course the second order effects are somewhat difficult to predict. If you can get SF salaries in eg Ohio, it might reduce the number of people flocking to SF reducing the talent pool.
People are not accepting cuts and that is leading to positions being eliminated (layoffs) as employers are realizing they can pay sometimes 50% less than their high cost of living area wages.
Cutting costs usually lets those people get bigger bonuses, so the incentive is towards forcing the issue.
The system used to get demand numbers is a survey, and has been done the same way for decades, so it's pretty reliable compared to counting job ads on job boards. Job ads often will contain lots of duplicates (search spam) and fake jobs.
I'd rather categorize it as for the past several years the managers in tech companies seize the chance to inflate their teams to boost their careers at the cost of their companies, while the leadership in those companies are just too incompetent to tell separate the Wheat from the chaff. It's not their money, after all. I mean, why the hell does DocuSign need 7000+ people? Why the funk did Uber need to build their own Slack? Why in whoever's name does Uber's ATG need to hire > 2000 people under two years to build a research project? Why did Coinbase need to have > 3000 people to build a god damn crypto exchange? Incompetence is just not enough to explain these jokers.
And the crown of the crowns, of course and again, goes to Uber: they think that k8s wouldn't scale yet their in-house crap would beat the k8s community and therefore they hire a freaking organization to build their own resource scheduler, as if Uber has "internet scale". Yeah, right.
Classically, the way to go from l1 manager to l2 manager to director, senior director and VP was to grow your organization in headcount terms, so in a situation where it is "hard" to hire, say Amazon is busy grinding through the entire valley, you might accidentally create a situation where everyone feels urgency but no one feels backpressure.
Empire building in the small is “growing your org” and in the large is “growing your company”. Until we stop measuring company performance by customer counts and employee counts, this will probably continue.
Good with math. He was trained as a physicist.
Unfortunately the tables turned since Feb 2022, investors want them to tighten belts and reduce cash burn.
and on a macro level what's the point in reducing cash burn in a high inflation environment ? Driving even more inflation ?
No idea where you are, but I'm not seeing any reversal at my job or in positions listed...
Personally, I think the layoffs are due to tech companies not hitting profit numbers the investors expected. Just like the PC market, seems people expected Amazon, FB, Netflix, etc to keep growing at 20+% yoy.
When interest rates go up, there are low risk ways to get those same returns, so business expectations of ROI go up.
So projects that made sense, were being run well, but which simply aren’t likely to make high enough returns are going to get canned in these conditions. No reflection of the staff laid off in such a case at all.
During the bust, tech workers took ANY job, no matter how terrible, and held on for dear life so they didn't end up unemployed for 2 years. Finally, the market recovered, and companies experienced turnover as people finally had the opportunity to move to greener pastures.
Same feeling, but from a bit different perspective. During the dotcom bust I’ve learned to love layoff periods. Cause then friends and neighbors from friendly and neighborly other teams suddenly started to look for more work instead of looking for less work - and my life became a bit easier.
At the time my team of 2 (two) was handling 12 (twelve) rather simple but important projects. Steve and his team of 4 (four) in Denver was handling 1 (one) similar project. Then the bust came, and the prospect of layoffs. And here we are at the meeting where I am transferring three of my projects to Steve’s team.
After the meeting Paul, a PM from France - we enjoyed working together, asked me, puzzled: Mike, why on earth haven’t you fought to keep your projects?? And I go: Paul, I have nine more of these - do you want some?
At the meeting, our CEO announced that he wasn't seeing any of this, that it was a Cisco problem, and that it was an indicator that we were even winning! Of course, a number of our customers were on the brink of declaring bankruptcy, including Cable and Wireless and a few others. Worldcom was about to happen.
Of course, our CEO said, not only weren't we laying off, we were going to accelerate hiring, and we did. No layoffs planned, more heads to take more of the market!
We did accelerate hiring. Our group almost doubled in the next three months with more reqs opened. One day in early April, I was the last interviewer for a candidate who had done really well and was walking the guy out. Normally at the time we'd make an offer on the spot if the interview was positive enough, we would do incremental round-tables in those days as we went, and this one was positive, so I was a little confused. We happened to walk by my manager's office as we I was seeing him out - were on our way to the elevator. He rushed to join us as and had positive things to day on the way down by gave me a look. We said goodbye and my manager says, "Yeah, there's a hiring freeze as of a few minutes ago, so all reqs closed."
A month later, the CEO denied any layoffs were pending or planned, but suggested that we do a prayer at the company all hands in April. To pray for... something? Worldcom not to go bankrupt? I don't quite remember, I was so shocked. Very explicitly, the CEO promised: "no layoffs are planned." And then, about a month later, the company did its first ever layoff.
And this brings me to the point. New companies - and there are a lot of them this round just like there were going into 2001 - suck at almost everything. They don't know what they're doing and they do a lot of idiotic stuff. I've worked at companies that peanut butter the layoff, that try and cut functions, that target non-human expenses first (such as HW prototypes or expected builds for labs or server farms), companies that target engineering first (or specific engineering disciplines, like ASICs or new boxes, where the project can, in theory if not reality, be put into hibernation for a bit), that target customer support or marketing first, and even one that targeted sales first (because there weren't any). New companies that have not done it before get stupid.
This layoff was the first ever for the company, and they had absolutely no fucking idea what they were doing. What actually happened for about half of the managers was they wanted around the cube area at 9am in the morning and did a sort of "duck duck go" in their heads, and when they approached someone they decided to lay them off or not based on whether they appeared instantaneously busy. To this day a friend who was at the same company swears that when his manager came to lay him off, "can you talk for a few minutes?" he survived entirely because he told the guy to go away because he was incredibly busy on something another team needed and could talk in an hour or two.
So yeah, don't judge people by layoffs from small or new (years) companies. Judge each candidate by what they do and can do and what they've done, not that they ended up on the wrong side of the layoff.
Companies are adjusting for future earnings falling and the cost of money going up.
Seems to me this implies that companies that do this, have found a way effectively measure performance and productivity. I don't think OP intends to say this, it is pretty much impossible to measure productivity of individual developers. I mean those on the team know who is or isn't contributing from day to day, but among teams and over time it is much more difficult. If someone has figured this out they should be a $billionaire by now.
I'd go further and counter that this is completely bogus claim, and yes, no one hiring should view a candidate being laid off as being related to anything performance or desirability of the candidate.
In my experience, layoffs are merely a popularity contest.
It amazes me to see high salaries at companies which are engineering heavy and the revenue per employe is significantly below the median TC for the median engineer.
For the past several years tech companies were desperate to hire because everyone was growing and the hiring market was tight. This inevitably results in companies loosening their hiring standards and retaining underperforming employees because they can't afford to reduce team sizes.
Layoffs combined with hiring freezes (or slowdowns) signal real stress within a company. However, many of these layoffs are single-digit percentage layoffs from companies that are still hiring across the board. That's not so much a traditional layoff as a pruning of the workforce. That pruning wasn't happening as much when hiring was tight, but now that hiring is easier and real, actual layoffs have put more good candidates back onto the market, the companies who simply collected too many underperforming employees can afford to churn some of them back out of the company. Doing it as a "layoff" makes it more palatable than going on a firing spree.
That said, when it comes to interviewing you shouldn't assume that a laid off employee was necessarily underperforming. A lot of companies don't really perform layoffs with surgical precision and will instead drop entire teams at once. I've watched great engineers get swept up in minor staff reductions simply because they were assigned to bad managers or doomed teams that they couldn't save by themselves. I've also hired great people who came right out of layoffs at other companies and I would have missed those resumes if I had been using dumb filtering rules like ignoring anyone who had been laid off.