Most engineers who switch jobs do it reactively — they get frustrated, update their resume, and start applying. This approach costs them money, seniority, and time.
Here's a framework for switching jobs strategically, based on how hiring actually works in tech companies.
The Right Time to Switch
The best time to look for a new job is when you don't need one. Engineers who search from a position of strength get better offers, higher salaries, and more negotiating power.
Signals It's Time to Leave
- You've stopped learning: Your tasks are repetitive, and you haven't picked up a new skill in 6+ months
- Your title doesn't match your work: You're doing senior-level work with a mid-level title
- Your compensation is 20%+ below market: Check levels.fyi and Glassdoor for your role and location
- There's no path to growth: Your company has no senior or staff positions above you
- You dread Monday mornings consistently: Not just occasionally — every week
Signals You Should Stay
- You're actively learning: New technologies, domains, or leadership responsibilities
- A promotion is likely: Your manager has given you a timeline and you're on track
- You're building something meaningful: The work will look strong on your resume in 6-12 months
- The market is weak: If layoffs are widespread in your domain, patience may be strategic
The 90-Day Preparation Framework
Don't quit and start looking. Prepare first.
Days 1-30: Audit and Align
1. Update your resume now — not when you find a job - Rewrite bullet points from your current role with metrics and outcomes - Include technologies you've used, even if they weren't the main focus - Get an ATS score against 2-3 target job descriptions to identify gaps
2. Define your target role - What level are you targeting? (Mid, Senior, Staff) - What domain? (Backend, Frontend, Full Stack, DevOps, Data) - What type of company? (Startup, mid-size, enterprise, FAANG)
Being specific here matters. A generic "I want a better job" search takes 3x longer than a targeted one.
3. Identify your skill gaps - Look at 10 job descriptions for your target role - List every skill that appears in 5+ of them - Identify which ones you're weak on - Start addressing the top 2-3 gaps now
Days 31-60: Build Evidence
1. Take on a visible project at work - Volunteer for something that uses the technology you want in your next role - If your current work doesn't align with your target, build a side project - The goal is to have a recent, concrete example to discuss in interviews
2. Get specific with your metrics - How many users does your service handle? - What was the performance improvement from your optimization? - How much cost did your infrastructure change save?
Vague achievements don't survive interview scrutiny. Numbers do.
3. Start talking to your network - Former colleagues at other companies - People you've met at conferences or meetups - Engineers who've made the transition you're planning
Referrals are the highest-converting application channel. A referred resume skips the ATS queue entirely.
Days 61-90: Execute the Search
1. Apply to 5-10 companies per week - Quality over quantity. Research each company before applying - Customize your resume for each application using an ATS optimizer - Track your applications in a spreadsheet: company, role, date applied, status
2. Prepare for the interview loop - Technical: practice coding problems on LeetCode (focus on Medium difficulty) - System design: study real architectures (not toy examples) - Behavioral: prepare 5-6 stories using the STAR method
3. Negotiate with data - Know your market value before any offer discussion - Get multiple offers in play simultaneously - Negotiate the entire package, not just base salary (equity, bonus, signing bonus, PTO)
What Not to Do
Don't Badmouth Your Current Employer
Interviewers interpret criticism of your current company as a red flag. Even if your company has real problems, frame them neutrally.
Bad: "My company is a mess. Nobody knows what they're doing." Good: "I'm looking for an environment with more structured engineering practices and clearer ownership."
Don't Accept the First Counter-Offer
When you resign, your current company may offer more money to stay. Accepting counter-offers has a statistically poor outcome — most engineers who accept leave within 12 months anyway.
The reasons you wanted to leave (growth, culture, technology) rarely change because of a salary bump.
Don't Apply to Everything
Spraying your resume across 100+ applications looks desperate and wastes your time. Each application should be deliberate:
- Does the role match your skills and level?
- Is the company stable or growing?
- Would you actually want to work there?
If the answer to any of these is "not sure," skip it.
The Interview-to-Offer Conversion Funnel
Understanding the math helps you stay realistic:
| Stage | Conversion Rate | Notes |
|---|---|---|
| Applied ? Screen | 10-20% | Higher with referrals (40-60%) |
| Screen ? Technical | 30-50% | Depends on phone/video screen quality |
| Technical ? On-site | 40-60% | Coding and system design performance |
| On-site ? Offer | 20-40% | Cultural fit and team match matter here |
| Offer ? Accepted | 60-80% | Depends on compensation and role alignment |
The math: If you apply to 20 companies, expect 3-4 screens, 1-2 on-sites, and 0-1 offers. This is normal. Don't get discouraged after the first few rejections.
After You Get the Offer
What to Verify Before Signing
- Team structure: Who will you report to? How big is the team?
- On-call expectations: Is it rotational? How frequent? What's the pager load?
- Performance review cycle: When is your next review? What are the promotion criteria?
- Equity details: Vesting schedule, cliff, current valuation (for private companies)
- Remote work policy: Is it written into your contract or just verbal?
The Resignation
Keep it professional and brief. Two weeks notice is standard. Your resignation letter should be one paragraph:
"I'm writing to formally resign from my position as [Role], effective [date, typically 2 weeks from now]. I appreciate the opportunities I've had here and will do my best to ensure a smooth transition."
No explanations, no grievances, no negotiations.
The Bottom Line
Switching jobs in tech is a skill you develop, not a lucky break you wait for. Engineers who approach it systematically — auditing their skills, building evidence, executing a focused search, and negotiating with data — consistently land better roles at higher compensation.
The difference between a panicked job search and a strategic one is preparation. Start preparing before you need to leave, and you'll always have options.
Want to make sure your resume is optimized for your target role? Upload it to our ATS checker and see exactly what's missing before you start applying.