The question "should I leave my job?" is usually emotional. You're frustrated with a manager, bored with the work, or annoyed by a policy change. Emotional decisions are bad decisions.
Here's an objective framework for evaluating whether it's time to start looking.
The Three-Signal Framework
Evaluate your current role across three signals. If two or more are negative, it's time to start looking.
Signal 1: Growth
Positive signals: - You've learned a new technology, domain, or skill in the last 6 months - Your responsibilities have increased with a corresponding title or compensation change - There's a clear path to the next level, and you're on track
Negative signals: - You're doing the same work you were doing 12 months ago - Your last promotion was more than 2 years ago with no timeline for the next one - You've asked for growth opportunities and been told "not right now" multiple times
Signal 2: Compensation
Positive signals: - Your total compensation is at or above the 50th percentile for your role and location (check levels.fyi) - You've received a meaningful raise in the last 12 months - Your equity or bonus structure is transparent and achievable
Negative signals: - Your compensation is 20%+ below market rate for your role - You've been given vague promises about "next cycle" without specific numbers - Your company has frozen compensation, delayed reviews, or reduced benefits
Signal 3: Environment
Positive signals: - You respect your manager and they advocate for you - The engineering culture values code quality, testing, and reasonable processes - You enjoy working with at least some of your teammates
Negative signals: - Your manager micromanages, takes credit for your work, or doesn't provide feedback - Technical debt is ignored, deployments are chaotic, and no one cares about quality - The team culture is toxic, competitive, or dismissive
The Decision Matrix
| Growth | Compensation | Environment | Verdict |
|---|---|---|---|
| Positive | Positive | Positive | Stay and grow |
| Positive | Positive | Negative | Try to fix the environment first |
| Positive | Negative | Positive | Negotiate compensation, then decide |
| Negative | Positive | Positive | Negotiate growth opportunities |
| Negative | Negative | Positive | Start looking — two signals are negative |
| Negative | Positive | Negative | Start looking — two signals are negative |
| Positive | Negative | Negative | Start looking — two signals are negative |
| Negative | Negative | Negative | Leave as soon as you have an offer |
Common Scenarios
"I'm Not Learning Anything"
This is the most common reason engineers want to leave. Before you act, try this:
- Ask for a new project — Specifically request work that uses technology you want to learn
- Propose a side project — Build something internally that solves a real problem
- Set a timeline — "If I haven't grown in 6 months, I'll start looking"
If none of these work after 3-6 months, the company has told you everything you need to know.
"I'm Underpaid"
Before assuming you're underpaid:
- Research the market — Use levels.fyi, not just Glassdoor
- Document your impact — List your contributions, metrics, and scope
- Have a direct conversation — "I'd like to discuss my compensation. Here's what the market looks like and here's what I've delivered."
If the answer is "we don't have budget" or "we'll revisit next cycle," start looking. Companies that value you find budget.
"My Manager Is the Problem"
A bad manager is the most common reason engineers leave good companies. Before escalating or quitting:
- Document specific incidents — Dates, outcomes, impact on your work
- Talk to HR or your manager's manager — Frame it as a working relationship issue, not a personality conflict
- Request a transfer — Many large companies have internal mobility programs
If nothing changes within 2-3 months, the company has chosen your manager over you.
When to Stay Despite Negative Signals
There are three situations where staying makes sense even with negative signals:
1. You're building something valuable for your resume. If you're 6 months into a high-impact project that will look excellent on your resume, finishing it before leaving is strategic.
2. The market is genuinely weak. During widespread layoffs in your domain, patience may be smarter than panic. Build skills while you wait for the market to recover.
3. You have a clear timeline for leaving. "I'll stay 6 more months to vest my RSUs, then leave" is a plan, not indecision.
How to Start Looking While Employed
If you've decided to leave, do it strategically:
- Update your resume first — Don't start applying with an outdated resume
- Get your ATS score — Test your resume against 2-3 target job descriptions
- Talk to your network before applying — Referrals convert at 4x the rate of cold applications
- Interview on your terms — Schedule interviews outside work hours or use PTO. Don't interview from the office.
- Don't tell anyone at work — Not your work friend, not your desk neighbor. News travels fast and can damage your current position.
The Bottom Line
The decision to leave your job should be based on signals, not emotions. Growth, compensation, and environment are the three signals that matter. If two or more are negative, it's time to start looking.
The best job searches happen when you're still employed. You have leverage, income, and time to be selective. Use that advantage.
Before you start applying, make sure your resume is optimized for the roles you want. Run a free ATS analysis to see exactly where your resume stands.