It's a market for lemons but it's also an incredibly inefficient market for lemons. It's amazing just how much gold is randomly lying on the ground on the lemon market you can just occasionally pick up.
The classic story is some engineer who got picked up by a company when they were 22, did well and got promoted a few times and then runs into a terrible boss that makes their tenure untenable at 29 and goes out onto the market any interviews exactly like a 22 year old again by just shooting off random resumes from LinkedIn. I've had to slap so many of my tech friends on the head and be like, no, look, there's a so much more pleasant path you can now go down.
But like, why wouldn't it be that way? The median number of hours any engineer spends thinking about how to get hired in any one year is zero, there's an extreme minority who love the system and think about it all the time and they all talk to each other so they think everyone else is an idiot but the majority of good engineers spent most of their time getting good at engineering, not being hired.
I have an alternative theory which I call the "5th most important problem syndrome". At any company/department/team/individual, we have all the aspirations in the world but we really only have the bandwidth to work on our 1st & 2nd and maaaaybe 3rd most important problems. Getting better at hiring usually slots somewhere around the 5th most important problem which is a dangerous space to be because we oh so aspirationally want to get around to it this quarter but life inconveniently gets in the way so it gets pushed onto the backburner where it will forever be the 5th most important problem.
Startups have to be super careful to make sure they're not solving the 5th most important problem in their user's lives because the initial feedback will be overwhelming that this is definitely one of the top 10 most important problems the company/user faces and everyone is gung ho about fixing it but every time it's time to make forward progress, some "unexpected" emergency appears that derails the project.
Working on technical debt is a classic 5th most important problem which is why it's a perennial topic for debate in engineering circles. Startups that aim to optimize your cloud cost, IMHO, also run into this quite a bit. I've seen so many of them come and go throughout the years and my conversations with them tend to all follow this same trajectory.
So, what's the more pleasant path? I'm well more than 7 years in at this point. And I've spent precious little time in the job market at large. But if my current employer had a problem, it's occurred to me that I don't really know how to find a job. What do people do?
The classic story is some engineer who got picked up by a company when they were 22, did well and got promoted a few times and then runs into a terrible boss that makes their tenure untenable at 29 and goes out onto the market any interviews exactly like a 22 year old again by just shooting off random resumes from LinkedIn. I've had to slap so many of my tech friends on the head and be like, no, look, there's a so much more pleasant path you can now go down.
But like, why wouldn't it be that way? The median number of hours any engineer spends thinking about how to get hired in any one year is zero, there's an extreme minority who love the system and think about it all the time and they all talk to each other so they think everyone else is an idiot but the majority of good engineers spent most of their time getting good at engineering, not being hired.
I have an alternative theory which I call the "5th most important problem syndrome". At any company/department/team/individual, we have all the aspirations in the world but we really only have the bandwidth to work on our 1st & 2nd and maaaaybe 3rd most important problems. Getting better at hiring usually slots somewhere around the 5th most important problem which is a dangerous space to be because we oh so aspirationally want to get around to it this quarter but life inconveniently gets in the way so it gets pushed onto the backburner where it will forever be the 5th most important problem.
Startups have to be super careful to make sure they're not solving the 5th most important problem in their user's lives because the initial feedback will be overwhelming that this is definitely one of the top 10 most important problems the company/user faces and everyone is gung ho about fixing it but every time it's time to make forward progress, some "unexpected" emergency appears that derails the project.
Working on technical debt is a classic 5th most important problem which is why it's a perennial topic for debate in engineering circles. Startups that aim to optimize your cloud cost, IMHO, also run into this quite a bit. I've seen so many of them come and go throughout the years and my conversations with them tend to all follow this same trajectory.