My 2025 Job Search as a Senior Software Engineer - Results, Timelines, and How I Study for Interviews
Date: 2025-05-02 | biz | career | create | interviews | software-engineer | software-engineering |
The Software Engineering job market is not what it once was. And yet in January of 2025 I quit my job in search of one that would allow me to work remote.
In this post I'll detail my search for remote Senior Software Engineering positions in one of the worst job markets in the past decade.
Interview Stats
Entering process:
- Applications: 150
- Recruiter: 1 - I don't usually respond to recruiter inbound as I think it's a great way to get scammed. This works for some ppl but I've heard horror stories.
Process results:
- No Response: 80
- No Interview: 32
- Role Mismatch: 9 - Typically they needed a specific technology like Ruby or I found out they weren't actually remote.
- Interviewing: 30
Interview Results:
- I Declined: 15 - Thought other options were better for me.
- They Declined: 8 - Failed interviews.
- Role Filled: 2 - I passed interviews but they filled role with someone else. Sometimes I would go for a different role, sometimes I would end the process there.
- Offer: 5
Some notes:
- My process is to cast a wide net and narrow down as I go. I'm already doing the studying for interviews so might as well check out all my options. I've found that typically 1 of my top 3 going in remain the top choice but at least 1 other company I didn't expect ends up placing highly and I wouldn't know that if I didn't try a bunch of places. So if 150 applications seems high, it probably is compared to how most people interview.
- I don't respond to inbound recruiters. I know a lot of people do get jobs fine with inbound recruiters and for smaller companies this may be the only kind of recruiter they have. But I personally think it's a very easy way to get scammed. Instead I typically apply to the official website and wait for a recruiter to get back to me from there. This makes me feel more comfortable that they're "official".
- Decent number of role mismatches. Companies seem to be looking for specific technology experience more than previous cycles. Also many companies that used to be remote friendly (and some that still say that on their recruiting sites) are not anymore and hard to find that out until I talked to the recruiter.
- Roles already filled. These are times when a role was already filled before I got through the process or I passed the process and they chose someone else instead. 2 is more than I'd seen previous to 2023 but in my 2023 job searches I saw a lot more of these (~5). To me this signals that the job market is getting a little bit better for job seekers as the frequency of stacked interview pipelines is lowering a bit.
- The Job Market is spiky. There are more SWE jobs than there were in 2023 so lots of openings. But these openings are biased heavily to in office due to RTO so are clustered around hub cities - NY, Bay Area, Seattle, etc. Remote work openings have decreased by a lot. I'm a big remote work fan so unfortunately had a rough market but if you're open to in office work in a hub city you should have a solid market.
If you're looking for remote work as a software engineer, I compiled a list of 66 companies hiring remote software engineers this year.
Interview Results over Time
- Duration: 2 months from start to offer
- Time Spent in Interviews / Studying: 88 hours
- Interviews: 65 (does not include HR talks)
- Interview Success Rate: 93% pass, 37% pass confidently
- All Questions Success rate: 88% pass, 44% pass confidently
Timeline
- Started studying ~2024.11
- Started studying seriously and taking interviews ~2025.01
- Took final offer ~2025.03
I like to keep a log of all my study and interview questions and how I do. This helps me track if I'm studying enough and where I'm having problems so I can course correct throughout the process. I also find it to be slightly motivating as it helps to gamify the process - check 2 questions off the list to complete today's quest.
Looking back, it also helps to keep my failures in perspective. There will be failures - no matter how much I prepare. That hurts but seeing it in perspective lessens the impact - it's 1 failure out of n tries and I have a lot more tries to go.
My general study routine is do 1 of these each day:
- LeetCode - 2 mediums in under 20 mins
- System Design - 1-2 popular system design questions on paper or in Excalidraw
- Behavioral - ~40 mins of answering behavioral questions out loud
Generally the pattern I expect is to start off slow with a small amount of iterations and relatively high fail rate. This is me getting back on the horse and dusting off rust. Then once I start interviewing I ramp up iteration load and start targeting my issue areas to turn them into passes. Finally by the end of the process I'm interviewing spikily as I go from final round to final round and expect to hit mostly passes here.
This pattern is one of the reasons I interview at so many places and push my top companies to the end of the process. The first places help me practice and calibrate for the current cycle so by the time I get to my top places I'm at my peak.
This does lead to some awkward timing sometimes, in particular:
- Smaller companies interview faster - often done in 3 weeks
- Larger companies interview slower - Rarely done before 4 weeks
So you should try to be upfront with your recruiters about your expected timing and try to schedule initial rounds accordingly.
How I Schedule Interviews
Software Engineering interview processes typically have 3 stages:
- HR Screens - Talk to HR, see if it's a good fit (30-45 mins)
- Tech Screens - Usually coding screens to see if you can code / have basic technical skills for the role (1h)
- Final Rounds - Typically cover coding, system design, and behavioral to see how you stack up against the company's hiring bars. (3-5h)
Most large companies follow this pattern with some smaller companies having less rounds, often splitting up the final round into single interviews so they screen you throughout the process.
Here's what a typical interview week looks like for me. Excuse all the color blocks, I know they're distracting to some but this is how I like to plan my days.
- Study in morning
- ~2 interviews a day
- Fit HR chats in wherever I can
- Push my final round to end of week
In general my system for scheduling interviews is:
- Only schedule in afternoons - this gives mornings for me to study / take care of anything
- HR / Tech Screens earlier in week, final rounds later - This lets me warm up on the typically easier interviews so am ready for the full rounds.
- Limit 2 tech screens, 1 final per day - Try to give myself some breathing room between interviews so I don't fail just because I'm tired from other interviews.
Now this works for me because for 3/4 of my past job searches I've had, I haven't had a job at the time. This means I can devote my entire week towards interviewing and don't have to work around other work commitments. This doesn't work for everyone and I'm not even sure I would recommend this to most people but for me seems to be the easiest way to go about it.
Interview Types I Saw
I got a few questions about the types of interviews I saw this round so putting here:
Technical:
- LeetCode - Still used frequently, typically Mediums. I don't think I saw a Hard this whole process.
- System Design - More and more important as I get more senior.
- "Real World" Coding
- Build a web api that does x
- Integrate with an existing web api to do x
- Read some files, do some operations, then write some files
- I built myself a TypeScript template to make this stuff easier
Behavioral - Increasingly important as I get more senior
- Project Impact
- Project Management across stakeholders
- Conflict resolution
- Mentorship
- Examples of company values
Next
Interviews aren't a very fun thing to do but they are necessary if you want to change jobs and sometimes it's just time to switch. This is the general system I've used for my last 4 job searches so hopefully it helps you as well.
I'll share more about where I landed and what I'm up to in the next few months but for now going to focus on onboarding and getting a lay of the land.
Previous job search posts:
- 2016 - First job out of college - 157 hours
- 2019 - Second job to Meta - 153 hours
- 2022 - Leaving Meta, 51 hours
- 2023 (didn't write much ab this one) - 67 hours
- 2025 (this one!) - 88 hours
If you liked this post you might also like:
Want more like this?
The best way to support my work is to like / comment / share for the algorithm and subscribe for future updates.