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.
As with everything, moving every 2 years has pros and cons. The flip side of what you said is that a person who spent >5 years at the same company has only really seen a limited number of problems, methodologies, technology stack. And that could also count as "junior", right?
Did they really want one? I'd wager that if they took those six months of interviews, job ads and recruiter time and instead took that money, added it to the salary they are planning on offering (say divided by the average tenure in that role at your company) and threw up a post on the monthly "Who is hiring" thread here they could've found someone.
A common tactic is to say "Oh, we are looking for the right person we just can't find them!" when the rest of the team picks up the workload of the exited employee and to keep that up as long as possible. It happened to me at my first dishwashing job at 13 years old and I've seen it a few dozen times since.
Oh, boo hoo, cry me a river. That shotgun blast to the foot is ENTIRELY self-inflicted.
If a company can’t pay the going rate for a mission-critical employee, then they have a shitty business plan and deserve to fail.
Company needed to "prove" that no American Engineers are available to fill the position to then justify sponsoring a visa. Then they'll go to the elected officials and whine that there's a "shortage" of engineers to try to get higher immigration quotas for H1Bs.
So they put a junior’s salary and senior experience requirements, then proceed to hire someone with “5 years of experience” at a famous foreign consulting firm (real or not). The experience is then used to justify why new grads have to be paid lower (he’s a senior, we can’t pay new grads the same as a senior) and to qualify for the visa.
Do you know why? 1) Creates an image that they're always hiring and growing (should be self-explanatory) 2) If some holy amazing engineer applies and they can get them for bottom $ - it was basically no cost to get them.
Glad to fill you in on a very common practice.
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
I'm consistently told that communication is my strong point, that I'm good at interpreting statements into wanted functionality, and that my professional opinions are very thorough and well-thought out.
I'm told I'm slow. When I do code screens, usually in a language that I have limited experience in due to my diverse background in technologies, I don't get the job because others are faster.
I'm a diesel. But that's not what gets you through jobinterviews nowadays.
Beyond learning new technical skills, how I perform in my current role probably will not impact what comes next.
I’m considered by many to be a clear writer. I would happily trade that skill for leetcode.
I disagree. The hiring process is never interested in your version of the hardest engineer to find.
It's 1. pedigree then 2. "pass this coding challenge" then 3. some soft assessment of how "down for the cause" you are (will you work extremely hard and not quit so easily).
I haven't seen an exception, and I've interviewed widely and been the interviewer at multiple places (given a rubric of what to assess).
When it all works people see something small that they relate to, but behind that is a set of practices that aren't obvious and that often I got to by a roundabout route. Frequently I discover these practices instead of invent them and there is a big element of circularity which makes it hard to put together a story that has just the essential elements in the right order, trying to explain things chronologically is just about the worst I can do.
The answer to that is doing it over and over again, doing a better job each time, and occasionally having the breakthrough where you can put things in a new relationship that makes a lot of sense.
That said, you don't need to be able to give your entire life story in 17 minutes flat - but communicating is absolutely the most vital interpersonal skill there is!
Isn't that what a.Business Analyst does?
It means you're not yet fluent in their language
Not if you have any sense as an engineer :)
Every org I know is interviewing engineers fairly regularly, but some have maybe one offer accepted in 10?
This makes me happy.
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.
Drives me crazy that people don't want to hire entry level engineers, don't want to train people, and then complain they can't hire anyone. I was a bootcamp grad, and I was pretty useless for at least the first 6 months after I got my first job, as are most entry level engineers. Since then, I've been a pretty substantial bargain for every company I've worked for, based on the fact that I've managed 25+% raises at each subsequent job hop. I'd still be working at the first place I ever worked if they'd just kept my comp roughly in the same ballpark as what I was being offered.
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.
It's not just a bullet list of requirements and benefits.
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.
Hiring a person and training them for the role is going to be quite a lot cheaper than finding that rare professional, who's going to command a very high premium.
Which means that at least one of the following things is true:
1. You're not willing to pay enough for an individual who's a perfect fit.
2. You're not willing to hire someone who's not a perfect fit and spend money to train them for the role.
3. You've done the math and concluded that the cost of doing either 1. or 2. above is higher than the value brought by actually securing these applications (who's doing it now? nobody?)
So in cases 1. or 2. it's entirely your company's fault, and in case 3. it's nobody's fault and you don't actually care about the end result. It's an evergreen listing for a job that you already decided shouldn't exist.
I didn't claim it was anyone's "fault" - OP asked what type of engineer is hard to find, and I answered. Obviously #3 is the real truth, which is why IT security is and will continue to be a nightmare
I worked one place with competent DevOps, enough app-level holes to drain spaghetti, and willful ignorance from leadership.
Compliance is a joke, and real security is for companies who deal in it — they get to have the security experts, and companies get some security by chance.
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)
Devops: Someone who is oncall for fixing all pipelines and making sure everyone has access/credentials for various services (AWS, git, etc). Maybe if they have time they can start to teraform things.
SRE: Someone who is just oncall for everything and doesn't have time to improve things
On the other hand when a job listing is not specific but mentions SRE/Devops, they seem to be looking for someone who can build new systems to make things better, rather than just keeping the lights on.
Once I realized that, it made a lot more sense why I wasn't (and shouldn't!) be the one calling the shots on priority, UX, tempo. Even for things like tech debt, it really needs to be baked into the ability to deliver new value to a customer or it's very often not worth addressing.
Ultimately, I tried to get closer and closer to the users, so I could be in a position to know what they want, but as I did that, I found myself coding less and less.
It's a tradeoff. If you really love to code, you must accept you need help figuring out what to code. If you would rather build things people like, you must accept that means spending a lot of your time talking to and working with users.
You can't be a one man band.
If you're chafing there due to the lack of autonomy, I promise there are places hiring people whose strong suit is tackling ambiguity in addition to software development.
No deadlines, nearly no meetings, and definitely no pre-chewed tickets. Write your own spec and then ship it (all with help from team mates ofc).
I'm pretty confident that we're not the only company that works like this.
What I think I mean is, if you're appalled by employers that treat people like replaceable cogs, then it might be worth your while to find an employer that doesn't :-)
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.