When to Switch Jobs
Gone are the days of the factory town, a time when the average worker might spend 10 or more years at the same employer1, providing the motive power for production in an era before mass automation. Work was about “doing”, and often that meant hands-on tasks, standard hours, and repetitive labor - a fairly different experience than a typical day in software2. We are paid for our technical skills, to be sure, but also to think about security, trade-offs between business commitments and technical debt, user feedback, and more. It’s about as far as one can get from assembly-line work while still being involved in “making things”.
So while the factory worker of a previous era might have been constrained in their overall career opportunities, there may not have been room to wonder if one was making the right choices. Things are not so simple today. In exchange for tremendous freedom in the type of technical work we may choose, and in which sector to do so, there isn’t a “right way” to follow that is apparent to most of us. Without the “system” defining the overall path of your career, it becomes more important to be aware of it yourself, and to make the best decision when the time for change comes up.
How to do this?
A Simple Rule
Don’t leave just to be somewhere different, and don’t stay because you’re already there.
Staying Just to Stay
We know that an object at rest tends to stay at rest. This can happen for a career as much as for physical objects. After a couple of years in a particular role, you’ve figured out how the code works, how to operate effectively in your team, what all the other groups are doing, and what the long-term prospects are for the company. In other words, you’ve “acclimated”, and are likely to be working on the same basic stuff a year later3, as your specific expertise has become valuable to the company. However, you may feel personally that you’ve stopped growing, and that your interest is waning. If so, and you want to continue growing your career4, this may be the time to begin looking.
At this point, after reaching “cruising altitude”, the transaction cost of switching roles (or companies) starts to seem reasonable. If you switch too often, there’s too much overhead (applications, interviews, on-boarding) and not enough productivity (for you or the company).
Leaving Just to Leave
Conversely, leaving just to go somewhere different isn’t always the best option. To be sure, if there are things going on at work such as harassment, nasty politics, and so on, then yes, those are valid reasons to move on. Absent such red flags however, it’s best to have a clear reason to move to a new position. This can be:
- Ability to play a bigger strategic role: For many, including myself, once you acquire relative proficiency with the “what” of software development (coding, testing, etc.), the organizational challenges become more interesting: What are we building? Why? What are our competitors doing? An opportunity to be more involved in those sorts of issues can be a compelling reason to switch positions.
- Chance to work with new technologies: If you’ve spent 5 - 10 years writing back-end Java for web apps, the opportunity to work on say, cloud infrastructure, can be an invigorating change of pace.
- More money… yes, this is important to most of us. But relentlessly pursuing higher income will erode your core capabilities. In software, we’re paid for technical expertise, problem solving acumen, and judgment about the best course of action. Improve those abilities and the financial rewards will follow.
However, if you’re switching laterally, doing more or less the same thing in successive positions, this can be an indicator that your career compass isn’t working, or that your skills have stopped developing, leading to fewer good opportunities.
Look for the right next job, not just a next job.
Be Grateful
We live in tough times. Many folks have no job, or one that’s dirty, underpaid or demeaning. So even if your current situation is less than ideal, it might still be pretty darn good on an overall scale. Be grateful for what you have, and be on the lookout for something new while maintaining high professional and personal standards.
-
While job tenure has indeed fallen over time, the full picture is somewhat more complex. ↩︎
-
Tech isn’t immune to the mundane though, as anyone with a week full of meetings on their calendar can attest. ↩︎
-
In my experience, anyway. This is difficult to measure. ↩︎
-
Not everyone needs to be on a career track of constant advancement, it depends on your own goals, income requirements, interests and so on. If you’re actually happy where you are, then stay! ↩︎