Finding a new software developer job
henrikwarne.com
henrikwarne.com
* It's true that my profile attracts many messages from recruiters. However ghosting is the name of the game. More than half of recruiters have ghosted me at different stages of the process. Overall I'd say that attention from recruiters is a great vanity metric for your ego, but it means shit unless you can convert that into job offers.
* Although there is a lot of demand, the bar for hiring is also very high. Specifically companies are looking for someone with experience in their exact tech stack. Given there are a few major ML frameworks and I'm only familiar with one of them, that rules out a lot of jobs. In one case a company screened me out because I only had 6 years of experience in a particular tech instead of their required minimum of 8.
* So far my only outcomes have been 1 rejection and 2 downlevels to senior (I'm targeting Staff+ positions). Although I haven't been dedicated to job hunting, I haven't been successful either at receiving an offer.
* In terms of salaries, most companies tend to top out around half of my current comp. I have only spoken with less than a handful of companies that could offer more. I guess that has always been the case with FAANG, but seems more pronounced now.
Overall I think that currently the job market for ML Engineers is still better than for Software Engineers, but it's nothing like the fever dream market of 2020-2022.
Even though most people's opinions of the company have changed, Google engineers are still widely considered to be high quality. Apple engineers also have a great reputation but it's very rare to see them on the market. Facebook/meta engineers tend to be above average but have a reputation for being aggressive corporate ladder climbers.
But if I hazard a guess, if you're struggling to find work, you're at Amazon. Amazon's aggressive hire->pip pipeline has, at least in my experience, destroyed their reputation. I've worked with plenty of ex-Amazon engineers in the past few years and they were all notably below average in skill. This is not to say that you are (if you even work for Amazon), but Amazon is no longer the resume bump it once was, if anything quite the opposite.
Talking about "FAANG" is not really relevant anymore since there is a pretty big range of expectation for engineers coming out of each of those letters in the acronym. Additionally none of those companies command quite the attention they did a few years ago, as they've all shifted from demanding engineering skill to demanding the ability to survive in a large mega-corp.
Sometimes they're able to adapt though and have a really positive impact overall. But the sour experiences really woke me up regarding seeing it as a mostly positive signal that someone worked at FAANG. So I wouldn't see FAANG as a guarantee about anything, no matter which company was their previous one.
New hires who have been living inside the Big Tech bubble for a while can come with issues that others here have already described. Consequently startups should probably downlevel many people coming from FAANG roles for exactly the same reason that FAANGs downlevel many people who haven't been worshipping at the altar of scalability in their previous roles. The skills and methods are different and some of them aren't very transferrable.
Of course that's not to say good people who have been working at large scales can't or won't adapt. But on day one nobody cares that you've been a Staff/Principal leading projects with 25 developers and a mature development environment if you're joining a startup that needs to raise a Series A before the end of its runway this summer. The abilities you need in that environment are things like identifying the most essential supporting work that can't wait while still spending most of your time on getting the main job done and hitting the deadline. If you can't roll up your sleeves and get the job done then you don't need to worry about a PIP. There are only 10 of you anyway and you're all out of a job in six months if any of you doesn't pull their weight.
In which direction? Both make sense to me. A good employee might adapt to their new environment quickly and in that case obviously they should then be levelled up appropriately. But there is nothing about being Staff/Principal at a BigCo that says you're going to be anything special as a senior in a startup - in fact the opposite can be the case for reasons others have mentioned - and there is nothing about being an excellent contributor at a startup that says you're going to navigate the scale and the politics of a BigCo effectively. It seems reasonable to start a new hire at a level where you would expect they do have the required skills (including soft skills) and then look to make more effective use of them if and when they've settled into the new environment.
If my current employer was the problem, wouldn't recruiters and hiring managers not bother reaching out, or reject my applications (I haven't applied to any job directly recently so I can't say).
> Common wisdom might make you think that I should be having companies throwing wads of cash at me
My point is just that you're misunderstanding "common wisdom". In 2016, yes a job at any FAANG would mean that you have no trouble getting a new gig. In 2024 Amazon employees do not have a great reputation, so there's no reason to think of yourself as part of a group that "common wisdom" would show preference towards. Nobody with "wads of cash" sees Amazon on a resume and thinks it's something special and worth reaching out for. FAANG in general is not as appealing as it once was, and Amazon in particular is not a strong signal at all. Someone working at OpenAI today would likely have the response you're imagining is reserved for FAANG.
Recruiters are also playing a numbers game, especially in this tech job market. My inbox has ample recruiter message for roles that are not even relevant to my skills, I wouldn't mistake that for signal.
Same for the other FAANGs. Each has just as least as many meh engineers as it has great ones.
"Reputations" of companies you worked for should have the absolute minimum influence on any hiring decisions. Don't blame others if you don't have a proper hiring process that works for you.
* Golden handcuffs are real and deliberate and in many ways rational: very few other companies have similar-sized wads of cash to throw OR similarly-scaled problems where FAANG-level salaries are likely to produce significant ROI
* FAANG stacks tend to have a lot of amazing in-house niceties that can't be found elsewhere, so there's a certain "are they an expert or are they just an expert at using Google's internal stack"? Would they be productive out of the gate or would they need to rebuild all that stuff first?
Everybody wants the prestige of telling their CEO or their investors that they poached people from FAANG but few have the wallet or the precise scenarios to get into a bidding war about it.
I had these issues as a HM in 2020 trying to hire ML engineers. (At mid-size places there's also often a "WTF do we do with a ML engineer" problem where if you aren't a data scientist or a general SW engineer, it's hard to carve out a role in between. Especially if the org has data scientists who aren't particular "engineer savvy" in terms of workflow and tooling. And then the ML engineer makes things shiny and version-controlled and all... and the data team mostly just ignores it since moving over to that stuff isn't one of their KPIs...)
Unless you are moving jobs to just do the exact same thing somewhere else (who wants that) you kind of have to take it on yourself to show up the the interview appearing like an expert in skills you hope to get to really grow comfortable with on the job. You may even need to exaggerate your experience.
Ultimately, specialization should be more about how you think than what facts you know, but the hiring market won't see it that way, meaning you need to just get really good at faking it and not be afraid to back it up later after some late-night study sessions.
The other half of this is that 'levels' don't always translate across environments. Just find work that resonates with you, and you will move up. Obsessing over the level (or even the pay) is probably limiting.
Please don't do this, and don't normalize other people doing it.
Dishonesty isn't something I want to have to be understanding about in colleagues. Like, maybe they just see it as a little while lie, and some job-hunting Web pages told them is ordinary to do, and you'd be at a disadvantage if you didn't do it, and you're even to be commended for your scrappy can-do resourcefulness in fudging. I'm ready to be understanding about many situations, but I want dishonesty to be something we can summarily nuke from orbit.
Also, when I'm in an interview to possibly join a company, I don't want there to be more rationalization for crappy interview process. ("I see from your resume that you have decades of experience, including sole author of open source packages, but you could be lying about all of that, you dirtbag, so let's derail this meeting by focusing all our energy on some BS test that's been gamed to heck.")
Personally, if I suspect dishonesty, it's a strong no-hire. If I even get a whiff of dishonesty, I'll at least flag to recruiters, hiring managers, and interviewers, and we've actually compared notes and realized a pattern of behavior before.
It is hard though since a lot of the stuff they would lie about are things you can't verify.
0: https://www.forbes.com/sites/bryanrobinson/2023/11/05/70-of-...
Unfortunately, that's how the competitive market works.
People shouldn't be penalized for the tech stack that their company used vs. what companies are looking for. Skills from one platform to another are very fungible (eg - Java/.NET, AWS/Azure), so "beefing up" a resume is what's required if you plan on getting any calls back.
> Dishonesty isn't something I want to have to be understanding about in colleagues.
I have some bad news for you...
> .. I don't want there to be more rationalization for crappy interview process.
No one is forcing you to participate in interviews which require doing a coding test or system design review. You are more than capable of withdrawing your candidacy.
I would bet that a lot of equally-skilled people are lining up behind you and ready to do that extra work in order to stand out and get a job. Don't place yourself on too-high of a pedestal, my friend.
That's how some people think the competitive market works. It's not universal.
Which is why I just contradicted that, and called to not encourage those beliefs.
Put loosely, half the job of an engineer is to tell the truth.
What I think you're characterizing is a corporate bullshit shoveler who just wants to go through the bullshit motions to get a paycheck.
I really don't want some impressionable junior engineers to see multiple people on HN encouraging lying.
I do not want to wade through that, to separate the merely misled junior engineers, from the hopeless anti-engineers.
> You are more than capable of withdrawing your candidacy.
And I do. But I'd prefer that the situation improve.
But when i catch someone lying at least twice about something technical, i do my part to make sure the person is not hired or next to leave. There is no trust.
If for a person, the choice is between not being able to pay rent because they had 6 years of experience in a given stack instead of 8, vs. exaggerating in their cv, I dont think it is reasonable to expect complete honesty.
Also we all know most of the companies are often very dishonest, so why should we expect complete honesty from the workers?
While, I am not in ML or ever worker in FAANG, here in EU my experience is also the same recently. Infact, I’d say I am fairly underpaid given my experience & responsibilities but the latest openings are disaster in terms of comps and benefits. Also, unlike what my EU brethren will parrot, most opening cite “hybrid” & “flexible” but then they reluctantly share much late in the interview that yeah need to be in office at least 3-4 days a week, and we prefer in-person meeting because “collaboration”! Sadly, watching the wages going down(despite all the touting of inflation adjustment), EU is slowly catching up to US fever without catching up to the wage levels.
It's hard to have more chips, for example. You run less experiments, you have less throughput in an already computationally tight environment.
Other than that, I enjoy working in hard and impactful problems. I'm privileged that I was able to do that in FAANG, but it's unclear how long this will last. I know that is very trite to say that your company has changed, but I truly feel it. Our company missed the LLM train and we are scrambling to play catch up now. Also we mostly pivoted from bold and inspiring initiatives to efficiency and cost cutting. Most of the initiatives in our pipeline for this year are pretty dull "let's save some dollars here and there". Nothing wrong with that, but given the choice, the chance of working on a moonshot vs helping a trillion $ company save pennies might convince one to change jobs.
There is also the very trite but very true aspect of "small cog in a huge machine". I might engineer a new system that brings in tens of millions of dollars to the company, and I'd be lucky if 3 layers of management above me knows about it. Those kind of initiatives might influence the entire company in a smaller organization.
All in I recognize I'm quite privileged and doing pretty well in my current job, and that's why I'm passively looking. TBH one of the aspects is that I got FOMO from all the talk about ML engineers being in high demand. However my experience so far has been very underwhelming.
Some problems we encountered when working with FAANG applicants and a few ex-FAANG hires:
* Non-transferable knowledge: Many of them had a lot of experience working within the abstractions and structures of their FAANG company, but struggled to work with foundational concepts once removed from their FAANG infrastructure. Some of them spent years trying to rebuild copies of the FAANG tooling they were familiar with just to accomplish jobs that didn't really need it.
* Experience mismatch with the current team. An extension of the above point: Some candidates were high level at FAANG but less experienced with day-to-day operations than our in-house Senior/Staff devs. This put us in an awkward spot where we'd have to pay them more than our current high level engineers to bring them in, but they'd be operating at a level below them at least to start. We opted to promote from within in these cases.
* Compensation cold feet. Many would tell us they just wanted out of their FAANG co at any cost and knew it would come with a compensation cut. But when it came down to offer time, they'd get cold feet about leaving money on the table. Even in cases where we paid within ~$50K of their FAANG comp, some of them just couldn't let it go when it came time to put in their 2 weeks' notice.
* Boomerang FAANG employees. Some people would join us, then miss the structure of blending into a big, highly structured FAANG company. They'd bounce back to the same FAANG or another FAANG within 6-18 months.
* Higher rate of candidate ghosting us than with any other cohort. It was rare for an average candidate to ghost us once the interview pipeline had started, but for whatever reason the FAANG applicants had a very high rate of getting half way through the pipeline and then disappearing without a word. Many times they'd appear again a few months later asking for a second chance, only to repeat the process.
I'm not suggesting these apply to you. Only trying to provide some perspective. Anything you can do to alleviate these concerns early might help an application process.
Of course, if your goal is to secure FAANG level compensation and Staff+ titles, you might just have to accept the reality that continuing in FAANG is far and away the easiest way to get there.
Non-transferable skills is actually one of my biggest concerns about working at the same company long term. These tools are often so far from the industry standard that it can hurt your employability long term as you mention.
It's no secret that devs often interview with companies they don't intend to join just as a warm up exercise. I confess I've been guilty of this.
The boomerang is quite interesting. Up until very recently this was a very well known career move. People would leave the company for one year just to come back at a higher level and higher salary. As a "loyal" employee I find this furious, but alas I guess it's my fault for working for such a lousy company and not pulling the same move. If it is any consolation, at least our company change the rules so that it's harder to pull this off, so you should see this much less often these days.
Regarding your last comment I'm not particular about leaving FAANG, as I aren't about working for FAANG. Considering my priorities it's very likely I'd only take a competing offer from another top tech company. For now I'm comfortable enough staying in my current company and passively looking for a better opportunity. At the same time I want to avoid becoming too complacent, and I'm aware the rug might get pulled from under my feet at any moment (hello layoffs?).
Going from senior to staff or principal is a huge leap.
Personally I have no idea how people expect to get staff at 6 years of experience. I'd expect a minimum of 8-10. You just need experience there. Below that you better be a genius.
I personally have +15 yoe total and I'm currently Staff in my company.
Best of luck to your job search, god speed
> Whats your recommendation for backend engineers that want to transition to ml engineers?
I get this a lot, and my first question would be, why do you want to work in ML? Is it because it's "cool"? because it's in high demand? because it pays a lot? for the second two points, see my comment. For the first point, I'm pretty cynical about it. At the end of the day it's a dev job not very different from other domains. Depending on where you end up, your day to day might look the same, but with focus in ML systems.
Nevertheless, if you really want to transition, I still think the easiest way is to do an internal transfer to a team that does ML. That's how I got this job. If you are a good engineer, most ML teams will be happy to have you and teach you the skills on the job.
Of course maybe there is no ML team in your current company. If you are in a small company you might try to influence leadership to start ML initiatives and get some experience. I've seen many candidates do this: they start an ML project in their current company, and after 6-12 months they look for a job elsewhere. This is a variant of CV driven development, and sadly often these initiatives are hamfisted and don't really solve business problems.
Otherwise you might try to get a job in ML in another company. Lucky for you I found some companies that hire engineers in ML or ML adjacent jobs using a standard software dev loop, i.e. no special ML round, although these difficult to find. The other option is to try to learn enough ML to pass an interview.
I won't lie, this is doable, but the deck is stacked against you. The job market is pretty insane right now, and you'll be competing with people with masters and PhD's in ML, plus engineers with years of experience in the field.
I believe it's fair to say that pure theoretical knowledge won't get a job, much less unless you have prestigious credentials. Instead I would focus on a blend of applied theory and personal projects. Probably it would be best to choose one ML framework and double down on it to increase your chance of finding a job that requires that particular framework.
For theory there are tons of courses and resources online, although I tend to like more walkthroughs and tutorials that guide you on building a system rather than pure theory. For practical experience, the sky is the limit. As I said there are tutorials online that guide you on a project, but that will almost certainly not be enough. You can try your hand at Kaggle competitions, and at some point you can just choose some personal project that interests you and try to build on it.
I hope any of this helps and best of luck to you. Feel free to DM me if you want to know more.
First, I believe US companies are figuring out how to hire foreign teams at lower cost. I get multiple emails per week from companies offering us their team at low rates. South America and India are common places. I personally witnessed this at my last company where they drastically cut US/North America staff in favor of Indian teams with a pure cost motive. Literally dozens of jobs including SE and supporting roles shipped overseas.
Second, I believe US companies are asserting back control over the labor market. Employees took a lot of control in the Covid era so companies have to be looking to fix that.
I hope something changes soon. I’m in the early stages of a job search and it’s a tad frustrating. I’ve experienced many of things reported by other commenters including ghosting, no response at all or my favorite which is “lack of years of experience for a requirement” (Example must have 3 years experience with .NET 6)
It isn’t ChatGPT that will take US engineering jobs. It is cheaper devs in other countries. And plenty of them have reasonable English and programming skills, as much as I wish it were otherwise. I know because I have worked with them.
Everyone's gotta feed their families, you're doing the same work we would do, and all else equal, only the pay is different.
My favorite coworkers to speak with day to day are IN team in analogous role. Very amicable,and we all work to make each other secure.
Cost of success.
FWIW - they figured that out ...15? 20? years ago with the first wave of out sourcing to India.
It feels different this time around. India is still in the mix due to low wages and skilled labor, now South America is showcasing a real capability for skilled SE's. South America has the time zone advantage that most of the team will be online that overlaps their NA managers.
> * Have a professional profile picture
I don't do this, for two reasons:
1. Being a photographer taught me that I'm much better on the buttons side of the camera, not the lens side.
2. Photos really don't belong in hiring in the US. Due to the long history of unfair prejudices, which are still ongoing in some ways. Even better would be if we could remove names, for being cues as to gender, racial/ethnic background, caste, and other socioeconomic status. But photos are easy to eliminate from hiring processes, and in fact we were rid of them in the US, until "social media"-like sites like LinkedIn reintroduced photos to resumes.
The author of the post is in Sweden, not the US.
As weird as it sounds, profile photos are prominent features of resumes in many European countries. It shocked me when I first started hiring in our EU offices, but that's just the way it is. I was surprised because we've often been told so many different ways that Europe is ahead of the US in matters of discrimination, but then I got there and resumes were full of profile pictures and even discussion about their marital status. I had our recruiter over there start erasing these things from resumes and they thought I was crazy.
So to be certain you'll avoid discrimination, you'd need to omit both the photo and the name from the CV, and that's not common at all.
> Please ensure you remove references to your: ... educational institutions
https://www.civil-service-careers.gov.uk/ipo-recruitment-sup...
If the employer won't digitally sign their denial of my resume,or even acknowledge the reason for my denial, I'm not digitally signing mine; which means it's a theatre of discrimination disguised as "filtering" from BOTH sides.
I'm surprised so many prolific firms beyond FAANG still treat hiring like the big accounting firms of yore did/do.
This means children from immigrant families growing up in Europe would be discriminated against simply because of how they look and what their last name is.
That’s classic discrimination.
Maybe it's possible to have profile photos in resumes and to be "ahead of the US in matters of discrimination"
Nope, discrimination is immense here. In US, people at least acknowledge that there is discrimination and something has to be done. Here in EU, we simply deny its existence and accuse the victim of malice and dividing the nation. I actually had this realisation of the issue/difference after a medium stay at US and coming back.
In the Netherlands, the hiring managers would even ask the women exactly when they were planning on having kids - and the men what their plans were for wife/kids. Down to the year.
Once you were in, you were golden though.
Some will even put "single" or "married" on their cv, though I'm told that's dying out
People will deny that it hurts you, but I guarantee it does. I've been in many meetings where people make comments about weird photos like that which portray you negatively.
So I have accepted it as a necessary evil. If you have to have a profile image and its going to represent you, then make it as professional as possible. Don't go for goofy or silly, just be professional and boring and its the best look.
But I hope the expectation to have a photo on your CV also dies out here.
While I got some issues for a while about “better knowing our colleague and avoid hiring scam(?)”, eventually this stopped after I got some experience.
Now, if someone asks me for a photo or is concerned(one of my parents is immigrant background so I have a slightly hybrid name), I just tell them to know me better in person when I am in Office and they can take a photo with me when I meet them.
That all being said, the photo was more of a cultural thing in the past, it was useful for identification and filing purposes as well. However, in modern times the practice stuck and gave ways to discrimination.
And to be frank - did you sue them? Or try to sue them? Seems to be working no?
Yep. The Europass CV standard still uses photos on the CV.
Examples: https://duckduckgo.com/?q=europass+cv+example&t=lm&iax=image...
I don't think tech people add photos though. (I don't.)
We did interview and hire a lot more women and PoC than other firms I've worked with so I guess it works to some degree
I imagine firing someone incompetent must be super fun too in that situation.
Sounds like someone needs to reread Don Burleson's professional dress code tips: https://www.dba-oracle.com/dress_code.htm
Presenting a polished, professional appearance makes a real difference to employers. They can and will legally fire you (or choose not to hire you) for failure to do so.
If employers want their numbers to match some stat, then of course they're going to optimize for that. Which if your picture doesn't match, that's a problem. For you.
If employers have some pre-baked idea of what type of worker works for them, and getting things actually done matters to them (as compared to some diversity stat), then of course they're going to optimize for that. If your picture doesn't match, that's a problem. For you.
And maybe them if they can't actually find what they want because of their own pre-conceptions, but I guarantee they'll be the last ones they blame. It takes a very open minded individual to look past their own preconceptions. Sometimes too open minded. In times of stress, people default to what they are most comfortable with.
Now, if workers want that or not is up to them - most of the labor code is all about forcing employers to do things they don't want to do to protect themselves.
Most of contract and penal code is employers/owners trying to protect themselves from things they don't want others to do to them.
They don't legally or consciously belong in hiring in the US. Doesn't mean it may not be to your advantage to have one.
Unless you want to make hiring harder on yourself, put up a professional photo. You’re not going to change the world by not doing so, you’re only going to waste your own time.
People overfit to their history, making it harder to fit in to a new context.
So unless the match is perfect, you're better off with less of a resume.
It's Sweden / Stockholm, not Silicon Valley / San Francisco.
I've looked up real estate there just to point out how ridiculously inflated prices are here. A nice looking 67 square meters apartment, 15 minutes from city center, was selling for some €190,000. By comparison a 50 square meters rather communist-looking apartment here (Romania) sells for €160,000 - €180,000.
A 5-figure salary in the €80,000 - €90,000 range is fairly outlier both there and here. €7,500 gross translates to about €4,400 net both in Sweden and here. To buy an €190,000 apartment here, the mortgage is in the €1,200 per month. In Sweden as far as I know, a rent is in the €600 - €1500 (depending how far from Stockholm city center). So a 5 figure salary goes a long way: you can buy, rent and live, on a single salary. If your wife is also getting top 5 figures, you're settled.
Since then I've taken 3 interviews and gotten two great offers in the 50+% percentile for US based software engineering roles. I'm a not-that-bright grug-brained developer, so I'm sure it wasn't because I was blowing people out of the water with my brain power.
I'm not sure I have the energy to do a numbers-game applicant strategy. I hate interviewing generally, and live coding causes my brain to lock-up. So I only apply places I am genuinely excited to work for, and places that I reason would be generally excited to have a good team player who is nonetheless a grug-brained developer.
I can get genuinely excited about pretty run-of-the-mill work though, and have strong opinions very loosely held. I think maybe those two qualities are my secret sauce.
Neither did I until it became a neccessity. Did 4 job interviews in 7 years and got them all in one go. Then I quit, and there was a long drought of people just not wanting to hire me for 6 months. The first rejection I took personally, but after 10 interviews with crazier and crazier questions you can’t do anything other than see it as a numbers game. Anything else destroys any sense of self worth you have.
Trying to hire in 2020-21 was impossible. You would get people between interviews get massive offers (days/week apart). 50/50 whether even after accepting the offer they'd actually turn up... If you saw someone that had a decent shot at coding you needed to hire right then and there. Reddit/HN was absolutely filled with devs making hay while the sun was shining job hopping and say things like 'if you're not getting a 30% payrise...'
Now the credit crunch has just switched the tap off. I'm about to contract out a small bit of work via one of the freelancer sites and I'm going to be very interested to see what it's like getting freelancers now....
I also make middle-of-the-trimodal-graph comp, though, not FAANG/finance tier.
This market is far worse to be looking for a job in.
Good to have a perspective that yeah, this is definitely very far on one end of the “fortunate/lucky” spectrum.
This has not been my experience at all. I've been at 6 positions in my time and applied to maybe 15
I've written programs to play chess and I doubt I could do this in 2 hours. If I did do it, it would be horrible buggy code.
This is not news at this point, but it is pretty crazy.
I ended up getting an email from the team within minutes asking for a zoom where they literally begged me to keep going because they liked me the best of all the other candidates but are forced to have me go through the other interviews. They tried to get an exception for not doing the other interviews. They ended up being allowed to have only one more interview and they said that they could have an offer letter together within 24 hours of that interview. So I knew they were serious, but I was too tired and didnt love the bureaucracy of that place, so I just moved on.
I'm sure leadership and HR think they're dodging bullets too...
(P.S. I think they're likely shooting themselves in the foot.)
(1) The time cost isn't as high as it seems. If I get as far as a phone screen I'm getting an offer, nearly guaranteed. The flow chart then looks like (a) if I don't get a phone screen, that awful process is no worse than the status quo, (b) if I do, I just find out in the phone screen if the battery of interviews has high latency (an 8hr day is fine, 8hrs over 2 months greatly complicates a job search) and drop out early the 20% of the time that happens, and (c) from there I have an 8hr day to a guaranteed job. Each offer then costs roughly 0.95/0.8~1.2 full interview processes, or 1.2x 4-8 hours.
(2) That time cost is a bit annoying when it comes to competing offers (a single solid day isn't crazily expensive when you're about to get a 40% pay boost, but 5 solid days for a job search is ... 5x as expensive ... fine, but not ideal, and hard when you have finite vacation days). Somewhere around 1/2 of employers don't actually seem to care about producing proof of competing offers though. If they make an offer, you counter that you're worth some fixed XYZ instead (ideally doing enough research to choose the levers they're most likely to accommodate) and will sign immediately if they can make that happen, they'll go above and beyond to agree to your counter-offer. It's a waste of time for the whole industry to require counter-offers in the cases where everyone knows what you're worth (admittedly, when that's not the case, counter-offers are an unfortunate necessity to prove your worth).
(3) The average tech interview is 10-20min solving the techno-babble and 30-50 probing what they know about the company and the team. New companies are very risky, and they work fairly hard to keep damning evidence out of the face of the public. You can mitigate a lot of risk by background-checking the executive team, but a present-day boots-on-the-ground view of things, ideally with the several overlapping/competing views you get from multiple team members, allows you to bounce out of problem situations early.
Companies are looking for almost any reason to turn someone away, so a guaranteed offer coming from a phone screen, or for that matter even getting a phone screen, is either exaggerated, you're consistently incredible, or/and you're consistently incredible and in a niche with very little competition and big names on the CV.
Even the author of the article admits they got quite lucky with the low numbers they experienced before getting an offer. I don't mean to be dismissive, but the markets are quite varying and intensely either saturated, competitive, or/and sparse right now, depnding on which market you're in and what your CV or skills look like, to the point where as a frontend dev I'm considering just switching to knitting or something more lucrative
The corollary to this sensitivity is that if you are just slightly better or worse at interviewing, you can see a huge difference in the number of companies you need to pass screening at to get a job. In practice, companies get more people into the pipeline than necessary to reduce the chance that it dries up without making the hires, so as a candidate, you will also have to take that into account.
You can play around with the variables on this graph to see number of phone-screen-passes: https://www.wolframalpha.com/input?i=y%3D1%2F%28x%5E4%29+whe...
Wow, I didn't observe this myself even back when the market was "hot". I had a _lot_ of phone screens that didn't lead to offers.
Hiring is a huge time sink for all people involved. The best people are hard to find and the best jobs are hard to get.
Meanwhile, cargo culting and FOMO leads companies to adopt tech stacks, interview styles,... that make sense for FAANGs and other unicorns, but not for your average setup.
No. You need a great _combination_ of people. Over my career I have seen teams assembled with “the best” folks to great fanfare an expense. Then, over and over they are schooled by a team that works great together. If there is one lesson for companies to learn in hiring/staffing/team building it’s this - focus on the team and the team’s results.
Yes, there are exceptions.
They need to get the very best for their particular thing that makes them different.
Other roles obviously don't matter as much.
They act according to whatever they think befits their interests.
Remember when on-site interviews meant an hour total commute plus say six hours of total interview plus lunch event. Some high demand companies put candidates through more than one round of that. Not to mention if you were flying from out of town... I remember a friend who interviewed with Google and got stuck in SF for three weeks due to snow storms on the east coast and got fired from Accenture as a result.
Compared to this four-six hours scheduled at your leisure seems great, even if fragmented over a few days
I haven't had to cold interview in 20+ years. I hope I never have to based on how it works now. I get all my jobs from previous colleagues. Companies are closing the door to a lot of great talent based on this silliness, but they'll never learn.
class Foo {
}
On the whiteboard.
In any context.
That one saved us a lot of time.
It wasn’t some weird out of context thing either, he just literally didn’t know how to write Java at all. Even approximately.
We should fix the modern interview loop (very hard) but the idea we’d ever go back to one hour is kind of out there.
Calculate it this way. I can spend 3x 1 hour (3 people interviewing a candidate for 1 hour) and have a 60% chance of hiring a performant person. I could also spend 3x 6 hours and have about the same chance. When that 40% non-performant candidate shows up and I have to repeat the hiring cycle, It's significantly less expensive in both labor costs and opportunity costs for the 3x1 interview style than the 3x6 interview style.
This doesn't take into account all the talent that has no need or interest to go through a 3x6 interview process (I am one of them).
>the idea we’d ever go back to one hour is kind of out there.
Ya like I said, the industry just kinda does what it does, complains about not being able to find talent, and will never learn.
This is literally unbelievable. I cannot remember a time when the east coast was inaccessible for three weeks…
https://en.m.wikipedia.org/wiki/February_5%E2%80%936,_2010_N...
https://en.m.wikipedia.org/wiki/February_25%E2%80%9327,_2010...
https://en.m.wikipedia.org/wiki/February_25%E2%80%9327,_2010...
Two back to back storms, there was about 12 hour window where you could get in or out. This poor guy was supposed to fly back during the first, got pushed to a flight during the second, and then the pile-on of rebookings pushed him further. I don't remember if he got trapped due to the third storm too.
It wasn't completely cut off. During the first storm, I got head notice of the next one and rebooked my flight out of the east coast to be one day earlier, and threaded the needle by politely asking customer service. I was in and out of the east coast for a week.
Anyways, Some cities on the east coast are less prepared than others for this sort of thing.
Overall, though, it doesn’t change your original point about interviews, and I didn’t really need to take us on this tangent.
Sometimes you just need to push back - won't always work - but at least you can have some control over the process.
Personally I still prefer the version with a take home project, even if longer, as I don't like performative programming.
And why should you talk to all those people? Talk to the tech folks, then to the CTO, then the founder, then what, the VC investors, the whole board? Can the CTO not describe the company vision and how IT fits in that picture? It does smell of a lack of vision or an inability to delegate.
Add in the 6-hour take home (which companies delusionally believe will take 2 hours, despite being often inadequately scoped or otherwise poorly presented; while quite often expecting a nitpick-proof solution); and all the random delays, and other hoops - and the none-too-occasional ghosting (even at the very end of the process) -
Yup, it adds up.
I have to go on a rant about this one cause it happened to me recently.
I applied for a Sr. Frontend position, and they have me do a takehome where I recreate some small component with some time-travelling functionality. It was actually quite fun to do and I enjoyed building it, but the feedback afterwards was maddening.
One of the points of feedback they gave me was that what I implemented wasn't 1:1 aligned with the design they gave me... The design they gave me was a blurry JPG with compression artifacts that was maybe 300x300 embedded into a random Notion document they sent me with an extremely vague list of requirements. I even explicitly asked them if they could give me a higher quality version of it so I could match it more closely, but they said that was the only document they could give me.
When I tried to somewhat align the picture to the actual design I was implementing, the border-radii of the elements was so blurry from the compression that it was literally impossible to know whether I got it exactly right or not. They also gave me no notes on specific fonts used (the one on their marketing site was a licensed font that cost money), specific brand colors (I had to go to their marketing website and hope the green I saw on the buttons there was the one they were expecting) or anything else of the sort.
It was obvious they expected me to spend at least 6 hours on it considering the feedback, but they explicitly said 2 hours and didn't give nearly enough reference for me to go off of to know what they truly expected from me. Absolutely ridiculous process
It takes less than one week to travel across the country by road. There's a whole system of Greyhound buses that serve exactly this purpose. How is it possible to get stuck for three weeks?
https://www.greyhound.com/bus-routes/san-francisco-ca-new-yo... notes that it takes 76 hours and costs $300.
Once flights resume it’s a thundering herd problem of annoying proportions too.
And usually HR is the one who is getting your comp and other requirements so again mostly for you.
In my circle these seem to be the people who have been really struggling to find work, whereas the devs do seem to be finding work (just at a slower pace and with worse benefits than before.)
Is this just my bubble or have other people been seeing this too?
A lot of this is the pervasive management trend that there is too much management, like how Instagram just eliminated the entire role of Technical Program Manager.
So at Job 1, the layoffs were about 50% “management.” My team no longer has a product manager and we have been told not to bother fussing over design except for big things. Both roles were essentially folded into team lead. He has to make mockups and product decisions now.
At Job 2, the layoffs were 70% management. My team had a manager who went from leading one team of 5 to four teams totaling 25. We also lost our designer and a product owner (we had several), and those decisions are now on the other product owners or the technical team lead (not management at this role).
My company is hiring, my inbox is slammed with companies hiring. And this is for product engineering and leadership.
The market is cold for juniors, and unclear when/how that’s changing.
Edit for context, but this is in silicon valley. Never relocated during the pandemic - always suspected this might end up being the case.
I never understood why being a developer has to be so wearisome. Why is it expected that any software dev has to have encyclopedic knowledge of Java, Javascript, Python, Go, different dialects of SQL, along with scripting stuff like bash and awk; ansible, chef and terraform; has to know 50 different AWS services; tons of different database types and their implementations; need to know common vulnerability types and understand how DNS, TCP-IP, http, websockets, and other protocols work; must know how to invert a binary tree in zero-gravity; their GitHub activity graph should look like an aerial view of the Amazon forest; they must maintain a blog; speak at conferences, and once in a while write a dissertation paper. And all that still is not enough because they have to excel at interviews. At several different types of them - algorithms and data structures, language-specific, framework-specific, pair programming interview, design systems interview, product interview, company and industry-specific, take-home project interview, tech talk, and personality interview.
Why is it that even when it feels like "you've made it," and you finally have a job at some big company, you still can't feel safe? Why do you constantly have to be in "finding a job mode" instead of building stuff and fixing problems? Sigh...
https://www.baltimoresun.com/1997/03/01/ama-seeks-limit-on-r...
For lawyers, theres no such constraint and the limiting factor is typically attending law school and successfully getting a job as an attorney. The demand for attorneys is driven mostly by the business world and thus the economy. After the global financial crisis, there was a severe contraction in the demand for lawyers and many had to leave the industry. There are many ex-lawyers and law school-trained professionals who chosen other careers.
Also the pace of change in law and medicine is extremely slow. It's an exciting year when you have to consider a new drug or new law.
Otherwise, the only question is whether you can increase volume without doing any career-ending malpractice, and how you round off the sharp edges of your workplace.
edit: this is for seniors. Associate lawyers have very high attrition rates, losing 1 in 5 per year (1 in 4 for people of color). The vast majority of people leaving law school will not be doing law after 6 years.
I think it's a token that they can forward to an employer, establishing some degree of your consent to them representing you.
(Like in a story of visiting some foreign culture, when someone offers you tea they made in some foreign cup, you take a sip from it, and then someone else tells you that you just got married.)
This is interesting. I haven't had that one yet, but last week I had an application with a "personality" test that asked whether I tend to vote for left-leaning candidates or right-leaning candidates. This company was in the healthcare space.
GitHub asking for approval for AI to review my resume was a bit of a beat too. I did not give permission, and it definitely left me feeling at a disadvantage to other candidates.
That should be all kinds of illegal already.
And "personality tests" in general should be made illegal too.
Sadly, political affiliation and political belief are not protected classes under US civil rights law so employers can legally discriminate on this basis. This is actually a big part of why the American political system is so dominated by corporate interests because many people are terrified of hurting their career prospects if they participate in the political process.
Really? This blows my mind! So a company could say "We're not hiring democrats or republicans" or something openly?
Asking for this in a job for coding was... something else. And I thought leetcode was all I had to study
https://github.com/rubynor/bigfive-web
https://ipip.ori.org/AlphabeticalItemList.htm
Search for politics, sex, god, religion to see some of the questions.
Last time I looked for a job 4 years ago, I would get so many calls and I had to drop many of them.
Now that I'm even more experienced and I have a stellar resume, I'm struggling to get first interviews.
I ace every interview I get BTW; both technical and communication. I'm just not given the chance to prove myself. There's something weird going on.
This person sounds like they have been in the field for quite a while (since the dotcom bubble, at least), but still mostly did cold interviews? I have been in the field for a bit less time (a little more than 15 years), but I have dozens of former coworkers I would go through before going to cold interviewing. I wonder why they didn’t rely on their network more.
I have applied to a total of 46 positions within a month. This has led to six interviews, several of which I received no response, 13 formal rejections, and one job offer which I declined (The decline was due to the position being advertised as a developer role, yet the recruiter mentioned that about 50% of the duties would involve support tasks)
Seeing this thread gives me some relief. At least it's not just me but a broader trend across the whole industry
That's pretty scary too, though. If it was just you (or me, or a specific person), you (or me, etc.) could strive to improve. If there's nothing out there, there's nothing you can do.
Also, there's really not a substitute to getting out to a place in person. For me at least, it really helped getting out of my smallish Arizona town and moving to Phoenix. There's several reddit threads and apps where you can couch surf, just be honest that you're having a hard time getting your career started and that will open some doors for you.
Once you're there though, get out and meet people. Go to as many professional and special interest meet ups as you can and talk to people saying that you're new to the area and looking for work. Even events like non-fiction book clubs indirectly led me to meeting people that have given me job leads. Research companies in the area on linkedin that interest you and cold call/twitter DM engineers or leads in the company and offer to buy them a cup of coffee and pick their brain. Having this unique interest in their company and bringing a bit of enthusiasm when learning about it goes miles. I honestly believe two weeks in a location is worth two months cold applying online; especially for someone just starting out.
edit: Final thing, have at least one project you're proud of that you can demo and show off to people that you meet. It doesn't have to be perfect, but you have to be able to talk about it with enthusiasm. A web-app. A video of a circuit you made if you're EE. Something that shows you can execute and aren't just someone that's all talk.
This is by far the worst thing about searching for jobs in LinkedIn. It is horribly inconvenient to simply find the most recent jobs posted in the past 24 hours because all of the old promoted jobs are taking up 90% of the search results
Probably because that way they can sell companies the idea "look your job post was viewed over 9000 times" even if it's noise for people briwsing these ads.
Searching for remote jobs brings up jobs that can only be done by people living in [UK, US, NL, DE, etc]. There just doesn't seem to be a way to filter jobs by "will they employ people in my location".
Infuriating!
Do that.
Your CV or resume is sales collateral. Focus on warm and hot leads over cold calling. Vet your leads with conversation, make sure you really can solve their problems, then give them your sales material. Preferably optimized for the lead in question.
If possible make the sale before interviews even begin. That way they’re just a rubber stamp and smoke test for red flags.
I’d be like, “This sounds like a job a professional salesperson should be doing. I’m gonna go get a job as an engineer, I’m much better at that.”
Interesting, I would have put those in the same ballpark. Anyone who can shed light on this?
Not to mention, you really should be connecting to a DB Pooler anyway, which handles your DB connections, rather than designing the individual implementation within the application or micro-service and try to keep all your services aligned.
This cannot be understated. Having inside info on a competitor you already worked at is definitely eye catching to a recruiter. It may not get you the job, but will get you noticed, and is definitely an asset your non-tech interviews if you are discreet about how you discuss it.
I don't think people here with jobs even understand how bad it is. My whole career I've always been in high demand. I've always got multiple offers when looking for work. I rarely ever get ghosted. Looking for a job has just always been extremely easy. However, right now I'd probably need to apply for 20+ roles just get a single call back. I might need to apply for 50 roles to to get an interview.
To your point on "just call someone" this has been happening. People are texting me and sending me LinkedIn messages constantly at the moment. I don't really know what people expect... Most people you know are probably not in a position where they can convince their company to just hire someone on recommendation and few companies are hiring anyway. At best they can say, "yeah, my company is hiring", but you're still going to be put into a pile of 300+ other people applying for the same role.
Really bad timing for some other life events that took me out of and brought me back to the market now.
I’ve stretched my network. All the companies in it are laying off or have frozen hiring. Connections themselves are unmotivated and/or trying to find more secure jobs, too (are they out there?).
All my close recruiting buddies that have landed me lots of interviews and roles in the past have nothing.
I have significant experience. Doesn’t seem to be helping. I’ve never experienced anything like this. Even in 2008, when I only had a handful of years under my belt, I found a new gig pretty easily.
I’m trying to figure out how to adapt to… whatever this is, so I can figure out the meta game and escape it. So far, no dice.
I wish you the best, along with everyone else in this boat.
Probably all unemployed too
Take this: "An Engineering Leader’s Job Search Algorithm" https://docs.google.com/document/d/19fr_36WOzKlq_zyGP2RdxMEs...
Instead, find the hiring manager on Linkedin and their email on hunter.io and directly reach out.
I'd assume that contacting hiring managers directly might lead to better chances, but aren't 200 other people doing the same?
We ended up building the biggest WordPress sites in the world, by volume of traffic served. By the end of it WordPress wasn't WordPress anymore with all of the plugins we built that basically replaced whole sections of it.
I've gone through cognitive rehab,but honestly am not where I used to be. I'm thinking something like my time spent integrating code after bank mergers - nothing sexy, nothing expected overnight, but workhorse plodding would be an asset.( I've done a lot more, but thought this would be an example where someone would consider my experience more important than speed.)
When I speak, it's obvious I've had a cognitive setback, but the knowledge is still there. However I'd fail live tests.
I really miss programming and my half pay since my seizures was not enough to sock away retirement money.
In this environment, I feel foolish to think I would ever be hired again, but wonder if there's a place I'd fit.
I have no idea what the correct answer to an interview question that asks this is, though. Like, I never connect to my database inside the request flow, I have a connection pool and wait for a connection to become free in the pool. So "connection time" is really a function of how utilized the pool is, and has only a passing resemblance to the health of the database. Maybe 10 connections are running "begin; lock table foo; select * from foo where expensive_condition". All 10 connections in the pool are blocked on a lock, and that doesn't mean the database is unhealthy and you want to shed load. So do you want to show the 11th person "sorry, our site is down, come back later", or do you want to wait for the random expensive queries to complete? I'd wait. (I suppose I wouldn't take an exclusive lock on a table to serve a web page either, but who knows what the interviewer is doing.)
Even so, I wouldn't venture any number if you don't do some profiling or at least some tests with the most common data, and with edge cases. It can be anywhere between milliseconds and full seconds, maybe more?.
Reminds me of an interview once, I asked: the website is slow, you're in charge of it, what do you do? He just said "buy more servers"...slow down there, Rockefeller.
But is that connection timeout, or query timeout, or something else? If you have long-running complex data processing or ingestion jobs, query timeouts could well be measured in minutes or hours. So a small number doesn't make sense there, and the connection technically doesn't timeout.
For connection timeouts, if you run a connection pool then timeouts of a few seconds or more could be fine and be the difference between the system being completely down vs just slow in case the load / contention unexpectedly increases. Not great of course and it won't hold for long, but might help in some very specific bursty scenarios. If you are able to safely re-use the connections in the pool most of the time the timeout matters even less. Reusing connections is usually possible, but it depends on the database and what errors require establishing a new DB connection.
And of course with a pool you actually have 2 'connection timeouts': one for establishing a new connection to the DB and a second one for acquiring a connection from the pool. The second one is usually most relevant for an application, but both matter.
But even without a pool a higher number (say a few minutes) could possibly make sense given a specific scenario. A database with a connection limit is equivalent to decrementing a semaphore (acquiring a lock), and there are cases where you'd want to wait for just a bit longer to acquire that lock instead of just timing out. A slightly longer timeout won't hurt if e.g. you implement a retry mechanism anyways instead of aborting.
Not saying long timeouts are a sign of great engineering, but context matters a lot for these sorts of questions.
Or it's a trick question: you should use shared connection pools to minimize the overhead of new connections, and should simply be part of the app startup.
It's pretty common to get hundreds of applications for any open role now, and the most visible companies get thousands of applications. A majority of those applications can be disqualified from the resume alone.
It would be a massive waste of everyone's time to talk to every applicant.
I'm sorry you're having a hard time. I'm sure it's very demoralizing to feel like you're applying into a void.
The norm, in the last few years, has generally been in most cases a new hire makes more than a long tenured individual in the team.
How did Sweden get like that?
There's a probationary period, usually a really long one (like 6mo), but after that period is over it's basically impossible to fire people.
3mo is the standard notice period for you to give your employer when leaving, if you are made redundant then severance depends on tenure but it begins at 3 months and goes up to 1yr of salary (that I've seen.)
Today, most roles in my field of expertise would be a pay cut to half of my total compensation if I am lucky. Sure, I can live on just a base salary number, but it's a mental hurdle to accept, especially with all the inflation and price increases everywhere. Also, most roles want you on-site or hybrid, many in HCOL areas. Making a move like that means giving up a 2020-era interest rate and completely uprooting my family for a 50% pay cut.
I'm in an engineering subspecialty at a FAANG. Our service is built on industry-standard tools and technology, so I hope my skills will be portable. But with the poor prospects in the market, I may be more inclined to start my own company vs. trying to get in with another BigCo. Plus, all of the FAANGs are fully succumbing to enshitification and aren't that interesting to work for anymore YMMV.
It would be a shame if they were unable to get their way next election and the rules be changed to promote in country innovation, hiring and manufacturing. It is the most ethical thing to do considering how much u.s. companies abuse workers overseas that have few to no laws.
Things were worse back then. Nowadays, you could apply to 30 jobs in a day. Back then, there weren't even 30 jobs, maybe like 2 new ones every month.
I am going to sounds like a grumpy old timer, but I don't care...
I see far too many young people on social media complaining about how hard it is to find a job now, but at least you can post a tik Tok about it and potentially go viral and maybe even score a brand deal [1]. I remember applying to Target and Starbucks, and then never hearing back, so I have been there, done that. I did not get a job with health insurance until I was 25, which was also when I was finally able to move out of my parents' house.
This happens every 8-10 years. Nothing really new, expect this time was not as bad as 2007/2008. Back then, almost all companies had mass layoffs all at once. Today, they come in coordinated waves.
[1] https://www.yahoo.com/lifestyle/gen-z-tiktoker-goes-viral-21...
It was really bad, but I was fresh out of college and had no experience.
Took me about 10 months to find a job in that market.
The market is definitely rough, but I wouldn’t say it’s that bad yet.
To my current job-as I said, a friend recommended me and the only question I had was "are the people cool?". His response said everything I needed to hear: "Mate, I'm older than you - I'm approaching 40. On top of that my fuse is much shorter than yours. I'm here and I'm happy to be here - isn't that clear enough for you"? I really can't argue with any of that. And he is right. For the first time in more than a year I'm happy to be going to work every day. People are cool, the work and domain are interesting and insanely cool. And I can already tell that I'll have friends for life here once they find out some things about me.
My point is that, sure, finding new jobs these days is harder than it used to be 3-4 years ago, where you'd apply to 5 jobs and your phone would catch fire in the next 40 minutes. At this point you should be prepared to wait it out for a month or two, which, if you played it safe, shouldn't be a massive problem. The point I'm making with my example is that if you can afford it, you'd be much better off taking a month or two off and be careful about the jobs you apply to, than jump into something head on and end up regretting it soon after-EXACTLY THE WAY I DID. And you could use the time to work on some personal projects which might take you to an entirely different place.
Another thing is the rejection/ghosting: most companies rely heavily on HRs to filter out candidates. And in my experience, HRs have been horrible at it. It has gone as far as an old manager of mine and me having a fight with HR to send us the CVs directly to us as opposed to her going over them because she decided that someone is unfit for the job. Ultimately she sent us all the CVs of the people she was about to reject and out of those we found 2 of the best people I've ever worked with. Currently there's a lot of supply of CV's and with layoffs from big companies+people coming out of the countless online courses, and smaller companies being cautious about the economic state as a whole, and subsequently HRs are doing an even worse job than before. There is still a lot of demand for developers but most HRs are not the people that should be reviewing CVs. Which is a problem - in most cases developers/team leads don't have the time to go through 20 CVs a day. Even at my old job where I had to do tech interviews, doing one or two a week was a massive issue - the interviews take an hour or so but add the time you take to go through someone's CV, look at the tech test they did and prepare questions - that's easily 4-5 hours of your day. Now imagine having to go over 20 CVs. Do 3 of those in a week and you start to see the problem. Hence the reason this is commonly outsourced to HR. These days academic credentials are not taken much into account(ironically this is my first job where they asked me for a copy of my diploma), so what HRs do is scroll through your experience, tick off a few mental boxes like experience in companies they know/don't know and how much and... I don't know... Do you look like someone they'd like perhaps? Beats me. Point is, they get dozens of applications on daily basis and regardless of who you are, chances are they never looked too deep into your CV and just clicked on "reject". Is there a solution to this? No idea honestly.