Evaluating Your Career Trajectory: When to Transition to a New Role

A friend of mine stayed at a fintech startup for three years past the point where it made sense. The learning had stopped around month 14. By year four he was essentially a senior engineer doing mid-level work, paid mid-level, with a title that hadn’t moved. He finally left. Within six months at a new company he’d been promoted twice. His first reaction wasn’t relief. It was frustration that he’d waited so long.

Timing a job change in tech is genuinely hard. Leave too early and you look flighty. Stay too long and you calcify. There’s no clean formula. But there are signals worth paying attention to, and most people either dismiss them or catastrophize them.

The signals that probably mean go

Some situations aren’t yellow flags, they’re red ones. If your physical health is suffering from work stress, that’s not a phase to push through. If you’ve watched the company miss payroll, lose key clients, or go through a third round of layoffs in 18 months, the math isn’t good. If your manager is actively blocking your growth or taking credit for your output, that pattern rarely reverses.

Ethical misalignment is underrated as a reason to leave. Engineers who stay in roles where they’re building things they disagree with don’t just feel vague discomfort. According to a 2024 Stack Overflow Developer Survey, nearly 1 in 5 developers said they’d left a role in the past year partly over concerns about the product’s impact. That’s a lot of people quietly acting on principle.

Being managed out is worth naming directly. If you’re suddenly excluded from planning meetings, getting documentation requests that look retrospective, or receiving feedback that seems designed to build a file rather than help you improve, that’s not ambiguous. Get your job search going before it becomes urgent.

Yellow flags: worth investigating, not immediately acting on

These are the ones that get misread most often.

Stagnant learning is a real problem but it can sometimes be fixed internally. If you haven’t shipped anything challenging in six months, have you asked for different work? Have you proposed a project? I’m not saying the answer is always “try harder.” Sometimes the organization genuinely has no growth path for you. But it’s worth one honest conversation with your manager before you assume the ceiling is structural.

The compensation gap is more actionable than people think. If you’re more than 15% below market for your role and location, that’s worth raising explicitly. The Bureau of Labor Statistics publishes median pay data for software developers by region, and it’s a reasonable anchor for that conversation. If your employer won’t engage at all, that tells you something.

Lost enthusiasm is trickier. Everyone has quarters where they’re just grinding. If you’ve felt disconnected from the work for 11 months straight, that’s different from a bad sprint. But I’d be cautious about treating low motivation as a sure sign you need a new company. Sometimes you need a new team. Sometimes you need to ship something meaningful. Sometimes you’ve just been staring at the same codebase too long and a week off would help more than a job search.

Reasons to stay that are actually legitimate

Not every urge to leave is well-timed.

If you’re mid-vesting cliff, the math matters. Leaving six months before a significant equity payout to chase a role that pays 8% more in base is usually not the right trade. Run the numbers concretely, not vaguely.

Good managers are rare. Genuinely rare. If you have one who gives you clear feedback, advocates for your comp, and actually helps you grow, that’s worth factoring in heavily. I’ve seen engineers leave great managers for better titles at companies where the manager situation was opaque, and regret it fairly quickly.

If you’re in a life transition (new city, new family situation, health stuff), the cognitive load of a job search is real. Staying put for six months while the dust settles isn’t cowardice. It’s bandwidth management.

Tenure: the real numbers

Under a year raises questions in most hiring processes. Not dealbreakers, but you’ll explain it on every call. The sweet spot is probably 2 to 3 years. Long enough to have shipped something end-to-end and dealt with real production problems. Short enough that you’re not explaining why you didn’t advance.

Longer tenures are fine if they come with clear progression. Five years as a senior engineer at the same level at the same company is a different story than five years that went IC2 to IC3 to staff. The pattern matters more than the raw number.

One thing people miss entirely

The job search itself takes time. Most tech roles take 6 to 14 weeks from first application to offer. If you start looking only after things get bad, you’re negotiating from desperation. The engineers who get good offers are almost always the ones who started looking when things were fine, or at least neutral.

If you’re practicing for interviews, Craqly’s AI interview copilot can help you run through common behavioral and technical questions before you start scheduling real conversations. Getting comfortable with your own narrative before you’re under pressure is underrated prep.

The question worth sitting with: if you’re reading this, you’re probably already at some version of a yellow flag. What would need to be true for you to still be here in two years and genuinely happy about it?

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top