126

I am a software developer with about 2 years of professional experience. Some of my buddies (who also work in IT) tell me that the 2-year mark is a time where you should start looking for a new job and that I have to be careful not to "overstay".

I like my current job. I still learn new things here, the projects are interesting, I am being given new tasks and responsibilities, but also raises - all of them I enjoy. The company is quite small so I feel like I'm starting to have an impact on what's happening. On top of that, I like the people I work with. I am also satisfied with my current salary.

The question is: if I decide to spend another year or two here, can this be frowned upon by my future interviewers? Would a well-thought answer to the "Why did you stay as much as X years at your previous job?" question suffice? Or is it really "recommended" to change your job (especially the first) after something like 2 years?

3
  • 3
    Comments are not for extended discussion; this conversation has been moved to chat. Use the "Answer" box for answers and the linked chat for discussion.
    – enderland
    Commented Jan 21, 2018 at 17:43
  • 3
    Possible duplicate of Switching jobs - how soon is too soon?
    – Rory Alsop
    Commented Jan 21, 2018 at 18:13
  • 2
    To clarify, are you asking about staying with the company, or staying in this specific role, with the company?
    – user81330
    Commented Jan 22, 2018 at 13:33

13 Answers 13

187

I would say not a bad thing at all.

If all the points you're concerned with are covered - namely your advancement as a professional (by way of new challenges) and monetary compensation for your work - and you're satisfied with it, then there is no reason for betting on a new environment. Unless, of course, an excellent (in comparison) proposal comes your way.

It's hard to predict the future, but I would say that future interviewers will take stability as an asset instead of a liability; it proves that you had no issues joining a professional environment.

Just try to stay on your toes and keep your skills relevant.

12
  • 28
    I'd agree with this. Part of this depends on the company. But if you were lucky enough to pick a good, challenging job with co-workers you can learn off of, two years is too short. That's the point at which you'll just be getting good. At that point, you'll start getting leadership opportunities. It is true - at two years, you'll probably get a decent salary bump, because that is the sweet spot for recruiters. That doesn't mean that's an ideal time for you to switch jobs! It just means it's an ideal time for you to switch jobs from the recruiter's point of view.
    – J B NY
    Commented Jan 20, 2018 at 0:48
  • 9
    @Joe Bradley: Assuming leadership opportunities are something you want. I think there are a lot of people who, like me, enjoy doing actual work and are pretty good at it, but who would be pretty bad at anything involving "leadership",
    – jamesqf
    Commented Jan 20, 2018 at 19:32
  • 4
    @jamesqf You can do leadership doing actual coding - like when you have a big software project and you're the one who hammers out the architecture and interfaces and so on. I'd call that leadership because you have to coordinate between people responsible for different parts of the software and you have to explain your solution to the rest of the team. So career growth towards senior developer also involves leadership but a different kind of leadership than career growth towards management. Commented Jan 20, 2018 at 23:03
  • 2
    @Sumyrda: But the "gotcha" there is the part about "you have to coordinate between people". I could do a good job of designing architecture &c, but persuading people to actually follow the design is another matter entirely.
    – jamesqf
    Commented Jan 21, 2018 at 3:33
  • 3
    Regarding above: I mean - "leadership" in -general- sense. As in, become the technical lead for a project. Or, be responsible for design or architectural direction. Or, investigate a new direction and make recommendations. The only way to get good at that sort of stuff is, well, do it. And to get to do it, you have to hang around long enough that your peers trust your judgement. If you're hopping between jobs every once or two years, prepare for a lifetime of being told what to do. ("10 years experience" != "1 year experience 10 times")
    – J B NY
    Commented Jan 21, 2018 at 23:58
110

As a long-term webdev, I've been on a few search committees and we always valued LOW turnover. Nobody wants to invest 6 months in training someone to last 18 months. We had some good applicants we never even considered because they had never held down a job for more than a few years.

If it's a crappy job or you're severely underpaid, then move along, but we thought keeping a job for a while is more an asset: demonstrating stability (especially when young) and employee loyalty (always desirable).

3
  • 20
    Even if you're severely underpaid, it might still be worth sticking around. As long as you're paying your bills and enjoying the work, you're not in a hurry and can build up valuable experience. I kept my "first" job for almost 6 years and didn't leave until the work environment turned toxic. I was underpaid, sure...but my expenses were low and the experience was good. But I will say I've had trouble finding permanent work since. Commented Jan 19, 2018 at 22:03
  • 2
    "never held down a job for more than a few years." So you only allowed candidates that at least once held down a job for >10 years?
    – kukis
    Commented Jan 22, 2018 at 13:06
  • 4
    @kukis: we wanted "at least 4-5 years at a place" for a full-time offer, maybe a bit less on entry-level. Its a guildeline, not a rule, and if someone's young we would consider them w/o as long a work history. It's more if someone's had 4 jobs in the last 6 years that make us skip. Moving up is ok, just don't make it a habit.
    – dandavis
    Commented Jan 22, 2018 at 18:25
35

It is true that within the IT industry people hop jobs a lot, please forgive the generalization, usually between one and three years, mostly because it's such a competitive work environment.

That being said, when I see someone who has stayed with a company for some time it makes them a stand-out candidate.

The question then needs to be answered, why is the candidate a stand out, is the candidate risk adverse or do they have a lack of ambition or did they stay because the company was continually finding new ways to excite, inspire and motivate them?

A candidate who has grown and stayed with a company over time, can legitimately offer loyalty to potential future employers, a very rare commodity.

Unlike your friends, it sounds like you have found a great position that could challenge and reward you for some time to come.

2
  • 7
    many developer's pet peeve: being referred to as IT. Just saying, good answer otherwise.
    – dandavis
    Commented Jan 22, 2018 at 18:42
  • 3
    @dandavis I don't think you can say being a developer is not part of the IT industry. Yes, it can be distinguished from what's usually called the "IT department," but we definitely work in the realm of "Information Technology." If anything, I think this just means the IT department is poorly named, not the other way around. I assume Talbot is referring to IT as an industry, meaning that there tends to be fairly high turnover in all sorts of technology positions.
    – jpmc26
    Commented Jan 22, 2018 at 23:55
23

Is staying in the first job for a long time a bad thing?

It really depends on what you are trying to achieve. There is no magic, optimal number of years in a job that is ideal for everyone.

Reasons one might leave a job early:

  • to broaden your experience (explore a new industry, company culture, tech stack)
  • to increase your compensation (3% yearly raise vs 10+% new offer)

Reasons one might stay in a job longer:

  • you have excellent job satisfaction
  • you are able to work on many different kinds of problems/solutions
  • you have great co-workers and a positive, fun company culture

if I decide to spend another year or two here, can this be frowned upon by my future interviewers?

Not at all -- interviewers typically like to see more years in each job. The employer is more likely to make an investment in someone who they think will stick around.


Would a well-thought answer to the "Why did you stay as much as X years at your previous job?" question suffice?

Never a bad idea to be prepared for any questions about your length of stay in any one job. Employers are typically more interested in why you are thinking of leaving your job -- good answers include:

  • I don't feel currently challenged
  • I'm looking to take on a more senior role
  • I'm looking to get into X technology

Bad answers include:

  • My co-workers told me I should leave
  • I don't want to stay in a job for too long
4
  • 2
    It's rare (as far as I know) but some interviewers do frown on spending too long in a single place. However, even for them, I'm pretty sure 3-4 years isn't too long. (If it is, I don't want to work for those people anyways)
    – stannius
    Commented Jan 21, 2018 at 19:33
  • 5
    @stannius agreed -- I think if someone has been in one job for 15+ years you wonder about that person's ability to adapt to a new situation.
    – mcknz
    Commented Jan 22, 2018 at 23:07
  • 1
    This is the best answer so far, because it enumerates issues that would inform the decision-making process. One aspect touched upon but not explicitly mentioned is that in terms of relevant work experience, it can be important to have gone through a complete product cycle at the current employer, which could be up to tree years in some industries (e.g. projects that involve hardware/software co-development).
    – njuffa
    Commented Jan 22, 2018 at 23:37
  • 2
    I like this answer the most. When I interview devs, I want to make sure that they didn't just get the same 1 year of experience over and over again. Make sure you are developing your career. Learn new skills and techniques. Let your manager know when you feel like you can handle more responsibility. Be an agent of positive change within the organization. Document your successes and learn from your mistakes. Don't fall into a comfortable pattern of doing the same job over and over or 10 years from now, you might find yourself out of a job with no prospects.
    – Brian
    Commented Jan 23, 2018 at 3:09
15

If the job is that great, why not just stay there for life?

Yes, it's true, if your pay has stagnated, and you feel they don't appreciate you, then it's time to jump ship. But I didn't get that from reading your original post.

In addition, for smaller companies, if you've been there since "the early days", you could be considered for a senior management position someday. No guarantees, of course, but when management is looking to fill a slot, they'll look at their longer-term employees first (unless it's a company that doesn't like to promote from within, but I didn't get that either).

One lesson I learned too late in life is that occasionally something good will come your way -- if it does, grab onto it and don't let it go (and I'm not just talking about jobs here). You may find yourself in a better situation somewhere else, or it may be worse (and going back is not usually possible).

Don't leave just because of reaching some number. Do what feels right.

3
  • 3
    'your pay has stagnated' is not always a valid criterion. Even if you're earning a decent salary and getting pay rises every now and then, but doing a dead-end job, you're growing more and more unemployable by anyone else. Whatever your final salary may be when you finally get laid off, you may find yourself eating through your savings pretty fast.
    – crizzis
    Commented Jan 20, 2018 at 20:19
  • 2
    I had a friend who did that. He started work at a small CAD company in 1980, and retired (early) in about 2010. Commented Jan 22, 2018 at 9:49
  • @crizzis The funny thing about IT is that it's one of those fields where it's usually pretty easy to work on other skills during your free time, if you want to. A programmer working with some obscure toolkit or language, if they can't champion for change from within, can always choose to work on a project based on some other technology stack outside of work. Sure, it's unlikely you'll want to spend another 40 hours a week doing that, but if you're, for example, making solid contributions to a well-known open source project, that's something you can put on your résumé along with your paid work!
    – user
    Commented Jan 22, 2018 at 18:42
9

You've got to move on to a new job for the right reasons.

Think about how you would explain why you moved job to an interviewer.

Personally, if you were honest with me and you said that it's because you had reached some imagined "hard limit" on your tenure at a previous employer I would probably feel less inclined to hire you because I'd know that despite how many opportunities I gave you as an employee it would be a poor investment as you'd be off again in another year or two.

If you were to say that you had moved as you felt you had explored all that your role there had to offer and wanted the chance at new opportunities and to grow as a developer I'd see you in a more positive light as these things are attributable to someone with ambition and a willingness to achieve.

All of that said, the market is competitive and moving on for monetary reasons is common and that's a fact that employers have to live with.

4

I think remuneration is a significant reason for moving on after a couple of years.

Thinking back through my own work history, I've had good-sized increases in wages when changing to a new employer. But since IT is essentially completely non-unionised, there's less likelyhood of getting a good annual increase.

I did spend 8 years doing IT stuff in an education role where I was covered by a union, and every year there was a "cost of living" increase of 1-3% depending on inflation. That just doesn't exist in the commercial world.

So the only way to get pay back up to parr is to job hop.

6
  • 4
    A cost-of-living adjustment is not an increase, it only maintains parity with inflation. It doesn't account for gained experience or contribution above and beyond the job description, which is what drives actual raises.
    – Ben Voigt
    Commented Jan 20, 2018 at 18:24
  • 2
    Aye, this. The best way to increase your salary is to job hop. You will usually - not always - get a bigger increase by moving that you can get within a company. Commented Jan 22, 2018 at 13:10
  • 2
    @TimB Sadly that isn't true for everyone. At most places I've seen or heard about, getting a pay increase isn't possible even with negotiations. I was able to negotiate a salary increase once but that's just once out of over 8 years. A lot of folks are worth more than they are and the only way to get that is with a job hop.
    – Dan
    Commented Jan 22, 2018 at 14:56
  • 1
    "That just doesn't exist in the commercial world." I'm pretty sure raises do exist in the commercial world. I've had annual raises much larger than that every year that I've been a software engineer. Because we're not unionized. Non-union companies are free to reward knowledge, skill, and overall value to the company rather than basing everyone's raises only on COLAs and years of service. Union pay schedules really only work reasonably for jobs where workers are essentially a commodity. It is a very poor model for knowledge workers.
    – reirab
    Commented Jan 22, 2018 at 22:05
  • 2
    The fact that the union pay schedule model does lead to your ultimate conclusion that you need to job-hop in order to get a decent raise is one of the largest reasons why it's a terrible model for jobs where turnover is costly to the company - like software engineering.
    – reirab
    Commented Jan 22, 2018 at 22:09
4

I would definitely recommend staying longer.

However, you should be doing research. Check the newspapers, online, and etc to see what other employers are looking for. Especially look for years of experience references. Check out other companies online and see if they are good places to work.

The key here is you definitely don't want to leave before you have enough experience to qualify for many other job posting. If other good jobs require 5 year experience and you leave with 2 you just shot yourself in the foot. You don't want to find yourself working in a terrible company because they are the only ones hiring with 2yr of experience.

If too many people leave a company after only 2 years it could be a sign of bad management or other hidden problems.

I know it seems a bit early to be thinking about retirement, but your company might already, or in future offer you benefits you can't achieve elsewhere. You need to look at the sum total of your benefits when comparing this job to another. Also sick leave,vacation, and health insurance are major benefits which also have to be taken into consideration.

The grass is definitely, not always greener on the other side nor is it always grass.

People stay at my company because of the pay and benefits. Seniority of 25+ years is common at my company, and for many it was there 1st and only job. A colleague just retired at least 5+ years early with 41 years, clearly it was his 1st meaningful job.

4

I stayed with my first employer for 8 years, it was no problem at all when looking for a new job.

However the key thing was that I was not in the same role for those 8 years. In fact in my CV I broke down my employment over that time as though it was 4 or 5 different jobs. By doing so I showed how I moved on and progressed from being a junior developer hired straight out of university through to steadily more and more senior roles.

I may have had one employer for 8 years, but I had more like 5 jobs over that time and for each one I was able to put my job title and a description of what I was doing, what I learnt, and how I built on that for the next role. I only finally moved on when I could see few options for progress within that first employer.

4

It's my opinion that 2 years is the magic number for initial term in job.

You shouldn't take a job if you can't see yourself staying that long.

And after 2 years, you should be reviewing to see 'what's next'. Brush up your CV, get a notion of your 'market value' (this helps even if you don't move when it comes time to talk about a raise) and places you could and should develop. And then decide if your current job can offer you what you need for another year.

You don't have to leave if you can look at your job and say 'yes I am satisfied that this is still interesting, challenging and the compensation is still suitable'.

But you shouldn't hold on if that's not the case. It's tempting to stay because of non-job reasons. Short commute, fear of moving, might have to relocate etc. That's ok, but don't be under any illusions - if your job is not satisfying you any more, it's time to keep an eye on the job market.

After 2 years - and each year after that - you should make your own personal 'career review' and consciously decide to stay. Or move on.

My career history seems to suggest that I stay for around 5 years despite reviewing annually after 2.

2

One way to look at it is that ideally, you should be able to divide your entire career into two phases: the phase in which you grow as a developer (in terms of training, experience, networking etc.) and the phase in which you capitalize on that.

It logically follows that at your stage (which is early in your career), the crucial question you should be asking yourself is: am I still learning? If so, there's no reason to be worried. If not, get out of there immediately. If anybody ever asks why you stayed long at a job, responding that you felt you still had learning opportunities will generally be well-received.

Don't get me wrong: if in the meantime, you stumble upon a job offer that gives you more opportunities to develop, by all means take it. All I'm saying that there is no golden rule that says 2 years is the absolute maximum you should be working for a single company. Rather, you should consider whether the job still has something to offer you.

Also, hiring and training a new employee is costly, so I can't see why any recruiter would frown upon anyone working for a single company for a prolonged period of time. I'd rather expect it to work in your favor.

2
  • I'm curious to know when you think the transition occurs from one phase to the other. I'm entering into my 9th year of experience and people seem to be suddenly using the word "management" and my name in the same sentence now. Much more often then I'd like.
    – user77891
    Commented Jan 21, 2018 at 16:54
  • I think it's strange that you think there is a point in your career when you might stop growing as a developer.
    – Mark Booth
    Commented Jan 23, 2018 at 14:30
2

Two years isn't a long time. If you're happy, stay. Just be aware that at most companies, you can now make more money and increase your skills by moving (you'll be exposed to new ways of doing things, new philosophies, new challenges, etc). But in the end its all about making sufficient money to live the lifestyle you want, and enjoying your life.

I think there probably is a point at which I wonder about the lack of ambition and stagnation of a candidate's skills, but that's at much closer to a decade, not two years.

2

I like the other answers but one thing I did not find is WHY people say it's a bad thing to stay longer than 2 years in any tech position. I heard of this as well and several co-workers in the past practiced this.

The first problem is that in a lot of tech positions, the job turns redundant/maintenance mode after a while. For example, you might build a website using hot new technologies and frameworks and practices, then you go into bug repair or adding small features or adjustments. Overall you're doing nothing new. With that said, some folks worry they won't have a good resume after a while or they will get bored.

The second problem is that in some cases things yoyo. Take for example Cobol programmers. They were the hottest thing in some early tech era. A lot of folks got retirements and a big career doing it. New generation of people don't know how to maintain/develop on these systems. I know older tech Cobol people who retired and get called back into the job to discuss certain things. With that said, if you stay someone to become ancient, you might become more valuable in the future since you outlasted everyone else and the company wants to maintain a large legacy code base for whatever reason. However, this is highly unlikely, but does happen. I known a situation 5 years ago where only one guy knew how the systems and he quit, and they had to call him. He didn't get paid for it.

The third problem is pay growth. The usual tech companies set a base, then give 2% growth. Eventually new people will get paid near or above you. I had that happen to myself where I got into a company and after my yearly growth, I got stuck getting paid less than my coworkers yet I was the most senior doing most of the work. I think this is a big one most people suggest not to stay more than 2 years unless you make a big jump in pay. You're probably worth 10-20% more if you stay more than 2 years at a company. At year 3, you're probably 20-25% underpaid, etc. Some rare circumstances like point #2 might make you more valuable but otherwise normal people won't see that huge of a pay growth without getting into management.

So consider those three things. I think the biggest is the third and first point. Most interviews ask about what current technologies you use, and if you stay in a company long enough you might not get exposed to those new technologies and on top of that a lot of places ask how much you're making now. If you're underpaid by a lot and want to make a huge jump, that might be a consideration. Overall it's not bad to stay in one place a long time if you are comfortable with it.

1
  • Why do people say its a bad thing to stay longer than 2 years? Think what they really mean -= that they did some job and then quit before it turned into maintenance, ie they did the fun stuff but then hopped away before they had to do things like support and fix their product. I've been several places where I've had their "work" dumped on my to fix for them. Its a bad smell to see job hoppers like that. As for new tech - all jobs offer cool new stuff, and then you end up working with the old stuff for 2 years anyway :-)
    – gbjbaanb
    Commented Jan 22, 2018 at 20:45

You must log in to answer this question.

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