Some (software) engineers keep their job for very short periods of time, as if they have commitment issues.

Some keep their job for too long, as if they're afraid to leave their safety zone.

Is there a "right" number of years per job for a (software) engineer, or does it matter?

  • 3
    Voting to close as their is no "right" answer, it depends on a huge number of factors, will varying by all those factor i.e. "You should only ask practical, answerable questions based on actual problems that you face. Chatty, open-ended questions diminish the usefulness of our site and push other questions off the front page." Jun 7 '12 at 13:50
  • 1
    This is way to vague for any sort of useful general answer. Jun 27 '12 at 18:02

Keep your job as long as you're learning, growing and improving every year. If you start to stagnate, that's a signal that it's time to move on.

If you're being interviewed, be prepared to answer questions on both ends of the spectrum:

  • Why did you leave so soon?
  • Why did you stay there so long? What did you do to keep growing in the same place?

It depends on what you want to get out of your career.

If you want to have a lot of experience in different areas of expertise, then you could move around every few years. The reason being you want to grow and you want to enhance your skills.

However, if you feel you are growing in your career (and getting promoted) and you are working for your dream company (Microsoft/Apple for example), you could stay there for 20 years if you wanted.


Totally depends on the industry/job you are in, and want to have, as well as many factors outside your control. Just like in writing software itself, "optimal" in the real world is a combination of factors, applied to the problem you're trying to solve.

I don't think there's a canonical answer to something like this. The combination of factors that will, or will not, get you a particular role are complicated and unique depending on the exact moment in time when you apply, the experience you have at that time, what a potential job might require, and lots of other factors in the larger world that you have no control over: i.e. the market for such jobs.


The rule of thumb I have always heard is that you should generally stay for at least two years - otherwise it might raise a red flag when people read your CV. Of course, if you have a good reason, <2 yrs may still be OK.

Apart from that, there are no general rules. I depends on both what you want (do you prefer stability, or frequent new challenges), on what your job offers, and on industry practices. Some employers consider anyone who stays less than a decade a job hopper, and in some consulting companies, the majority of people is expected to leave after a few years.

Also note that there are alternatives to changing jobs, such as moving to a different department, doing consulting work as part of your job, getting a side job (with employer's permission of course), etc.

Not the answer you're looking for? Browse other questions tagged .