Thanks!
I routinely have found organizations that have, literally, dozens of open listings for "Senior Software Engineer, Sub-field", but few (if any) explicitly non-senior positions available. My very non-scientific estimate would put this ratio at well over 10:1, and probably closer to 20:1 for many of the organizations I've looked through. I actually sort of wonder if they ever take them down, or if demand for senior candidates is just so high that they're basically evergreen listings, where the organizations assume they'll always have positions available for engineers who meet those listings' criteria.
And, the flipside of that: the one who can take what [s]he is given in magic, hand-waving, bafflegab statements from non-engineers and convert it into something someone else can actually use
If you can communicate to and understand from others what you want to do and what they want, you're going to get hired
Every
Dang
Time
Every org I know is interviewing engineers fairly regularly, but some have maybe one offer accepted in 10?
The best analogy I can think of is that we dont need Frank Gehry, but we need someone know knows the studs should be 16 inches apart, and all we are getting is people who know that 3 inch screws might be involved in the job but that is the only screw they have ever seen and the only screw they are comfortable using.
I have friends trying to do some computer/robot vision stuff. They need people who specialize in that field. It's a bit niche but they know plenty of people. You can imagine someone with that expertise likely has a PhD and has worked in the field for some time. Problem is: They don't come cheap in SV because that person could easily get a job doing something similar at a huge company with a big offer. So, you're going to struggle as a startup who is trying to pay very low $.
And if they didn't do some machine vision stuff then they'd easily be able to transfer to some typical role. So, therefore, you gotta still pay top dollar... It's a real issue for folks who can't raise huge rounds.
They take a lot more time and effort to figure out who you are before even reaching out.
My guess is that these are the hardest ones to fill, which involve some sort of leadership in the role.
All the candidates are either "cloud security experts" who will run through a checklist of AWS best practices while remaining wilfully ignorant of the application itself, or on-prem dinosaurs who want to talk to us about the ports on our corporate firewall.
But finding _any_ senior engineers is hard right now. With FAANG paying so much, it's just hard to compete.
IMO it gets even worse when you end up in specialized ares. Eg CV, ML, etc. Pretty much anything that requires a masters degree (or a heck of a lot of self motivation)
These bootcamps will also advertise as having covered backend stuff, but its very rarely in any level of depth beyond "spun up an express NodeJS app as a razor-thin layer in front of Firebase" or something; thirty minutes of interviewing will expose this gap, and they get hired on as a FE.
BE/DevOps is in higher demand, thus harder to find. DevOps is a weird one, because its a field that's extremely striated between platforms. Whereas a Java BE engineer could ramp up on NodeJS or whatever very quickly, an Azure specialist will take longer to match their skillset to AWS, not to mention the large body of individuals coming in with traditional linux server maintenance experience that will have a hard time matching their skillset to cloud-native serverless-like roles. It shouldn't stop a hire, but it does make finding well-matched qualified candidates more difficult.
Actually, I'll give props to a lot of the modern Azure skills DevOps peeps can develop; they're very big on their state-of-art being open source CNCF stuff; ex, Kubernetes, DAPR, KEDA, etc. So, a skillset there can transfer to a ton of places (including a GCP-esque shop, or even an AWS shop on less managed tooling). Glad to see some modernization/standardization in this space, but AWS is very antiquated and stuck in their ways.
Less from a hiring manager angle and more from an engineer angle: bonafide actual full stack devs are insanely valuable. Every once in a while you get a candidate that can apply to any role, but will apply to a specialized role; then they meet the engineering manager and the manager realizes, they're a candidate among a pool of candidates who are specialized enough for the role, but they also bring that full stack experience. Very few teams/roles are actually "100% backend" or "100% whatever"; the team may settle for someone who meets the job description, but will prefer breadth over depth, in nearly all cases.
Rarest quality: seniority. Not skill based. Just time, and more-so a demonstrable breadth of experience on a handful of projects, tech stacks, etc. Can't fake it. Can't stress how many roles we've posted at a Senior level, then settled for someone more mid-level because there's no-one. We're remote; competitive salary; small team; cool tech; cool product; maybe one in fifty candidates feels demonstrably senior.