|
Leaving a stable, comfortable job feels counterintuitive, especially in uncertain economic times. But here's the truth: Strategically thinking about your next move should always be part of your career planning, regardless of market conditions. The economy matters. But it shouldn't be the deciding factor. So what should? Over my career, I've made several moves, some internal (different teams and charters within the same company) and one external. Here are the factors that guided my decisions. The SignsLearning Velocity and Potential. At some point on each team, I'd extracted all the relevant domain and tech stack knowledge to become a generalist in it. I understood the architectural patterns, common pitfalls, and business logic well enough to be effective and contribute meaningfully. Any more time on those teams would mean I was specializing. I asked myself: Do I want to specialize here? If the answer was no, it was factored into my decision to move. Skill Transferability Some skills are company-specific or tied to proprietary systems. If you're developing technical expertise that won't translate or be valuable elsewhere, you're potentially limiting your career options. I've deliberately moved away from teams that would have made me an expert in low-demand, non-transferable skills. Business Impact Business impact wasn't on my radar early on, but experience taught me to pay close attention to it. In every company, some types of work are valued more than others. Some teams get eliminated overnight because the business can function without them. As part of my decision-making process, I asked myself: Could core business processes continue if my team disappeared? The lack of impact often doesn't become apparent until you're interviewing for your next role. When your previous work had no inherent business impact, you'll struggle to quantify your contributions or articulate the value you delivered. Low-impact work doesn't just limit your current career trajectory; it starves your future self and your future resume of compelling narratives. Growth Opportunities Your current team's charter might not align with the work you need to reach the next level. If you're a mid-level engineer seeking senior-level scope but your team only handles maintenance work, there's a misalignment. No amount of maintenance might ever be enough to get you to that next level. Organizational Constraints Office politics is real and affects you whether you participate in it or not. Many teams have implicit or explicit caps on headcount at each level. Only X seniors per team, only Y principals per organization. If you're blocked by these constraints and want to advance, moving might be your only path forward. Internal vs. External MovesInternal moves are often easier and shouldn't be overlooked. Once you're inside a company, have gained experience, and ideally earned a promotion or two, you have significant advantages: access, visibility, and insider knowledge of how things actually work. Use these strategically. External moves often come with compensation bumps, but more money doesn't automatically mean a better opportunity. Apply the same framework above. Evaluate learning potential, skill transferability, impact, growth opportunities, and organizational fit. The Cost of MovingEvery move comes with tradeoffs. In most cases, you’ll have to rebuild your reputation, learn new systems, processes, and team dynamics. This should be a skill you’re continuously developing. The ability to restart, to walk into unfamiliar territory and quickly establish yourself, is one of the most valuable meta-skills in software engineering. It makes you adaptable, resilient, and consistently hireable. The Bottom LineStrategic career moves are about ensuring you’re building valuable skills, doing impactful work, and positioning yourself for long-term success. The most dangerous place to be isn’t in a new space; it’s in a comfortable role that’s slowly making you obsolete. The best time to think about your next move is when you don't need to make one. That's when you have the leverage to be deliberate about where you go next. Uma |
Helping software engineers grow their skills and income. Join 500+ others on The Code Room waitlist and stay in the loop.
Here's what I've noticed: most people who stop coding outside of work don't stop because they hate it or don't have time. They stop because the gap between having an idea and executing on the idea feels impossibly wide. Let me explain. How We All Started Remember how you got better at coding when you first started? You simply wrote more code. You built projects. A to-do list app here, a weather dashboard there, and maybe a portfolio site to showcase all the projects. Every new project exposed...
I want to tell you about the time I poured almost a year of my life into a project, only to realize it was never going anywhere. For some context, my first role as a Software Engineer was on a networking team, focused primarily on networking automation. Network engineers spend a lot of time making configuration changes to routers, switches, and other networking devices. My job was straightforward: help them build software that automated these repetitive tasks. That I could do! At the time, I...
Companies are mandating the use of AI coding agents, and honestly, it makes sense. In the corporate world, you're responsible for outcomes, not the amount of code you personally type. Whether you wrote it or an agent wrote it, they really don't care. Trust me, it hurts to say this as someone who genuinely enjoys the craft of writing code, but it's the truth. AI is here to stay, and it will be incorporated more and more into what we do as software engineers. Some companies are beginning to...