On a whim, I applied to a defense tech company. Their recruiter emailed me three hours later. We had a phone screen the next day. A coding interview the week after. A second coding interview the week after that. Just like that I was in a final loop. One application, no networking, no LinkedIn DMs, no referral.
I nailed the coding portion. Had a genuinely good conversation with the hiring manager. Then came the system design round.
I had never done a system design interview before.
I walked through an architecture and started second-guessing myself out loud. It's exactly as bad as it sounds. You can feel the moment an interview turns. It's like a key that doesn't quite catch. You keep turning it, hoping it'll grab, and it never does. I had no idea what I was doing, and worse, I was demonstrating that fact in real time to several strangers.
The recruiter called with a rejection two days later. At least it wasn't an automated email.
1 application. 1 final loop. 0 offers.
75 applications went out over the next six weeks. August into September. I tracked everything in a spreadsheet. Which company, what role, what stage of the process. The spreadsheet was meticulous. The responses were not. The silence was nearly total. My inbox was empty.
76 applications. 1 final round. 0 offers.
January. 85 more applications. I spent the fall building. A search engine in C++, a prediction market arbitrage system in Python, a database in Rust. Things I could point to and say, "I built this, here's how it works, here's why it's cool."
Still nothing in my inbox. The market did not care. The market does not care.
161 applications. 1 final round. 0 offers.
The average job posting attracts around 250 applications. At a recognizable tech company the number is higher. At a large one that number is astronomical.¹ 75% of those resumes are rejected by ATS software before a human ever sees them. Your resume doesn't go into a pile. It goes into a filter.² Wrong keywords, wrong format, wrong anything and you're out before a person weighs in. Run 161 applications through the funnel: roughly 40 reach a human. Roughly 33% of those make it to interview scheduling, which leaves 13. About 32% of those pass the intermediate screening, so 4 should reach a final loop.
When a resume does reach a recruiter, the initial scan takes around 7 seconds. The average recruiter today manages 2,500+ applications across all their open roles. Screening 500 applications at even 30 seconds each is 4 hours of pure triage before any meaningful conversation happens. 40 applications reviewed for 7 seconds each is 4 minutes and 40 seconds of human attention.
161 applications. 4 minutes and 40 seconds.
A final loop at a large tech company runs 4 to 6 interviews. That is after a recruiter screen and one or two technical screens. Then the loop itself contains coding, system design, and behavioral rounds. Six to nine interviews per company before you get a decision. The onsite-to-offer ratio runs about 3:1, so those 4 final loops should produce roughly one offer. I had one final loop. The math says I should have three more loops and an offer.
In engineering specifically, the average number of interviews per hire is the highest in tech, meaning the conversion rate from interview to offer is the lowest of any sector. A candidate today is three times less likely to get hired for a role than they were three years ago. On average, it takes 20 total interviews across multiple applications to land one offer.
The alternative is a referral. The funnel above assumes a cold application. With a referral, your resume skips the filter entirely and goes into the hands of a real person. Industry data puts referred candidates at roughly a 30% hire rate compared to under 3% for cold applications.³ A warm introduction is doing more work than anything in your portfolio.
Then two things happened in the same month.
Someone referred me somewhere. One phone screen, then a full loop.
One of the 85 applications came back to life. No phone screen, no recruiter call. Just an email to schedule a virtual coding interview with a real person. I passed it. Then a full loop.
Two companies whose rejection emails I'd actually be sad to receive. One referral, one cold application, both arriving at the same destination in the same month.
Both loops went well enough that I can't tell which way they'll land. That's a strange thing to say after months of inbox silence. The last time I left a final loop I knew exactly how it went. Uncertainty feels better than dread.
161 applications. 3 final rounds. 0 offers?
In college I applied to hundreds of jobs without knowing LeetCode existed. No projects, no interview experience, nothing to show. I thought I deserved a job and that someone should take a chance on me.
I had a diploma and a lot of confidence in the wrong things.
Now I have the experience. A search engine. An arbitrage system. A database. Things I built because I wanted to understand how they work.
Then again, my inbox is still empty.
In a few months I'll send another 75 or 80 applications. I'll keep building in the meantime.
I have no lessons for you. I have no job.
¹ These numbers come from a quick search across general hiring reports. Gem, Standout-CV, Shortlistd, and others. Software engineering specific data is harder to isolate cleanly and varies enough across sources that you should treat them as directional rather than precise. The picture they paint is accurate even if the exact percentages aren't.
² I like to imagine this filter as a printer directly dropping applications into a shredder.
³ Referral hire rate data comes from separate industry sources and is not derived from the funnel math above. The funnel describes a cold application pipeline. Referral numbers are industry-wide averages. Both are directional.
Top comments (0)