Photo by Elisa Ventur on Unsplash
Why Is It So Hard to Find a Software Engineering Job Right Now?
March 19, 2026If we’re senior software engineers who’ve been on the job market recently, we’ve probably felt it: the silence. We apply to a role that seems like a perfect fit, the tech stack, the scope, the level, and we hear nothing. Not a rejection. Just nothing.
It’s not our imagination. The software engineering job market in 2025 and into 2026 is genuinely broken in ways that are new, strange, and deeply frustrating for experienced engineers. And unlike a typical downturn, a lot of what’s broken isn’t about the economy. It’s about AI eating the hiring process from both ends simultaneously.
Here’s what’s actually happening, and more importantly, what we can do about it.
The Market Is Flooded With Bots Applying for Humans
Let’s start with the problem that nobody wants to admit out loud: a huge percentage of the applications companies are receiving right now aren’t from humans. They’re from AI tools applying on behalf of humans.
Tools like LinkedIn Easy Apply combined with automation scripts, LazyApply, and a growing crop of AI job-application agents mean that a single job seeker can fire off hundreds — sometimes thousands — of applications in a week with minimal effort. Candidates upload a resume, describe what they want, and let a bot do the rest.
The result is that recruiters and hiring managers are being buried. A posting for a senior backend engineer role that might have attracted 80 qualified applicants in 2019 now attracts 800 submissions. A significant chunk of those are poorly targeted, AI-generated applications from people who may not even remember applying.
Our carefully crafted application is sitting in a pile with 799 others, and no human may ever see it before an automated screener makes the first cut. Volume has completely broken the signal-to-noise ratio.
The answer is to stop competing on volume. A senior engineer spray-and-praying 200 applications a week is fighting on terrain that bots own. Going narrow and deep works better. Apply to 5 to 10 roles per week maximum, but treat each one as a targeted campaign. Customize the resume, reference specific details from the job post, and find a human at the company before applying. A brief, direct LinkedIn message to the hiring manager or an engineer on the team moves us out of the bot pile and into an actual conversation.
ATS and AI Screeners Are Running Triage on Our Resumes
Applicant Tracking Systems aren’t new. What has changed dramatically is the sophistication of the AI layered on top of them.
Modern hiring pipelines at mid-to-large tech companies don’t just scan for keywords anymore. They use AI models to rank and score candidates, summarize resumes, flag potential mismatches, and in some cases generate an initial fit score before any human reviews the application. Companies like Workday, Greenhouse, and a wave of AI-native hiring startups have all moved in this direction.
For senior engineers, this creates a specific and counterintuitive problem: our resumes are probably too detailed and too nuanced for these systems to score well.
We’ve had real careers. We’ve done things that are hard to describe in bullet points. We’ve led ambiguous initiatives, navigated org complexity, made architectural calls that paid off over years. None of that maps cleanly to a keyword match. Meanwhile, a mid-level engineer who listed every framework they’ve touched in a skills section might score higher.
We need to write two layers into our resumes. The first layer is for the AI screener. It needs to be explicit, keyword-rich, and closely mirrored to the language in the job description. Don’t assume an AI knows that “distributed systems” and “microservices at scale” are related. If the job posting says “Kafka,” the resume should say “Kafka.”
The second layer is for the human. It should tell the story of our impact at a level of specificity and consequence that makes a hiring manager lean forward. “Led migration of monolith to microservices” is forgettable. “Led an 8-month migration that reduced p99 latency by 60% and cut the incident rate in half, unblocking the company’s Series B roadmap” is not.
Both layers need to coexist. Use the skills section and job description language to feed the AI screener, and use the bullet points and summary to convince the human.
Ghost Jobs Are Wasting Our Time at Scale
This one is demoralizing in a specific way. We find a great posting, spend two hours tailoring our resume and cover letter, apply, and it turns out the job was already filled internally, posted just to build a pipeline for someday, or simply never approved to hire.
Ghost jobs are estimated to make up a significant portion of active job postings at any given time. Some research puts the number above 20%, and anecdotally in tech it feels higher. Companies post roles for a variety of reasons that have nothing to do with actively hiring: maintaining a presence on job boards, hedging against attrition, satisfying investor due diligence optics, or leaving up a post that was paused mid-process.
For senior engineers, this is a particular trap because the high-scope, high-compensation roles we’re targeting tend to have longer approval cycles. A VP of Engineering who wants to hire a Staff Engineer may have posted the role before headcount was formally approved.
Checking the posting date helps. Anything over 30 days old on LinkedIn or Indeed in the current market deserves skepticism. Cross-referencing the company’s LinkedIn employee count over the last 6 months gives a signal too: if it’s been shrinking, the posting may be aspirational. Looking for signs of active hiring, recent engineering blog posts, open-source contributions from their team, conference talks by their engineers, or news of a funding round, helps separate the live roles from the stale ones.
And again: find a person. If a role is genuinely live and urgent, the team knows about it and is actively trying to fill it. Someone at that company will be willing to have a five-minute conversation given a specific, relevant message.
AI Has Changed Coding Interviews and It’s Complicated
If we’ve interviewed recently, we already know the vibe has shifted. Leetcode-style algorithm gauntlets are facing an existential crisis because AI can solve most of them. Companies know this, candidates know this, and nobody quite knows what to do about it.
The result is a messy and inconsistent landscape. Some companies have doubled down on in-person or proctored interviews where tools are off-limits. Others have moved toward system design, architecture discussions, and take-home projects scoped around senior-level judgment rather than implementation speed. Others are quietly ignoring AI use in take-homes because they don’t have a better alternative. And some have introduced AI-detection software that creates its own set of false positives and anxiety for honest candidates.
For senior engineers, this creates two challenges. The first is practical: we may still be required to perform algorithm problems we haven’t touched in years, and the muscle memory may not be there. The second is strategic: if we’re the kind of engineers who can genuinely outperform AI on architecture, on cross-functional reasoning, on the “why” behind technical decisions, we need to get into the kinds of interviews where that shows.
On the practical side, a focused 3 to 4 week Leetcode refresh targeting medium-difficulty problems in the most common patterns for our target roles is still worth doing. Don’t spend months grinding: spend a few weeks getting back to baseline, then stop.
On the strategic side, push for interviews that favor real strengths. In a first conversation with a recruiter or hiring manager, it’s completely reasonable to ask what the technical interview process looks like and whether it’s primarily algorithm-focused or more architectural. Senior engineers have the leverage to have this conversation. Use it. If a company’s entire interview loop is five Leetcode rounds, that’s information, both about how they evaluate engineers and about how they likely operate day-to-day.
For take-homes, treat them as professional work. Using AI tools to help draft, refactor, or review code is fine because that’s how real engineering works. What we should be able to do is walk through every line of the submission and defend every decision in a follow-up conversation. If we can’t explain why we made a choice, we shouldn’t make it.
What Senior Engineers Often Get Wrong in This Market
Beyond the systemic issues, there are a few patterns that specifically trip up senior engineers.
The first is relying on reputation to do the work. A strong career history is an asset, but the hiring process is not telepathic. A resume that reads like a LinkedIn summary, lots of titles and company names but no specifics, won’t convert in this market. Our brand is not visible unless we make it visible.
The second is applying cold to companies where we have a warm connection. At the senior level, we’ve worked with a lot of people. Some of them are at companies that are hiring. A direct message from a former colleague carries more weight than any resume. Work the network before hitting Apply.
The third is ignoring contract roles. In a tight full-time market, contract work keeps skills sharp, income flowing, and the resume current. It also frequently converts to full-time. Staffing and recruiting firms that specialize in engineering can often surface these opportunities faster than job boards, and they’re actively motivated to place us.
The fourth is waiting for the perfect role. Senior engineers are often selective in ways that cost them good opportunities. Reasonable preferences around title or company type become costly in a compressed market. Some flexibility often leads to better outcomes than holding out.
The Bottom Line
The software engineering job market right now is hard in a way that is structurally new. The flood of AI-assisted applications has broken the signal-to-noise ratio in every hiring pipeline. AI screeners are filtering our resumes before a human ever sees them. Ghost jobs are burning our time. And coding interviews are in the middle of an identity crisis.
None of this means senior engineering talent isn’t in demand, because it is. But it means the path to landing the right role has changed, and the approaches that worked in 2019 or even 2022 are not the same ones that work today.
The engineers who are navigating this well are treating their job search like a product problem. They identify where the funnel breaks down, test different approaches, build direct relationships with people at target companies, and let their actual depth and judgment do the talking once they’re in a real conversation.
That’s still the job. It’s just gotten harder to get to the interview.
As always, if you have questions or want to chat about it, find me on Bluesky.