If you stay for 20 years at one job and change companies, they will be surely suspicious that you won’t learn anything new and you won’t be flexible. If you change job every year some managers might be angry because at some jobs it takes half a year to even train you. So what is an ideal?
I work for a company where average job length expectancy is about 10 years and I can tell you – it is a lot. Some people after so many years just stop doing their job properly. Yes, I get it, you do not need to train them and furthermore most times you pay them less them newcomers but … But most of the people after so many years are so confident in their positions that it is not even difficult to communicate with them, it is also difficult to get any work results from them.
It is so common that some people after so many years do not answer their phones on regular basis but not even that. They also do not answer their e-mails even after several urgencies. It might take weeks to get the 5-minute job done by someone who is in a company for 20 years and trust me – this is not good.
Of course, I saw also different scenarios when managers changed every 2 months and direction of the department every month. This is usually the case in start-ups. They just cannot keep one direction and change direction often just too much.
Personally, I have the best experience to stay with a company for two to three years in the full-time position. It is just enough to make economic sense for a company (even if training takes a half year the company investment won’t be more than 25% of all expenses) and it is a time when I and employer will usually get most of the job. I won’t become lazy in two or three years. My job won’t become a routine. But I will bring a bread to a house with my experience.
After that, it usually makes a sense to shift positions. Within or outside a company. You have to learn new things, build new relations with colleagues and change environment.