Every three years new project...

It is good practice in developers' professional life to change job or project more or less every 3 years. I have a feeling that it is even a sort of expectation that comes from the market and so far I was following this expectation.

For the last 17 years, I have been working for 7 companies, usually spending in a single place for around 3 years with one exception.

For sure I have learned a lot. I had a chance to work in different environments and with different technologies. I have met a lot of great and interesting people. That experience for sure has big value now and it was for me every time very refreshing experience.

On the other hand, I wonder from time to time what my career would look like if I decided to stay longer in a single company. What I have missed.

I think that every time we move to a different company we are doing a sort of reset in our career. We need to prove our value. Wait for others to see what we are capable of. So, in fact, every time we change jobs we need to repeat the same effort to build ourselves in a new workplace.

When we are joining a new team as developers there is no guarantee that there will be a possibility to play more responsible roles as team lead or tech lead. In teams with already built structures, these roles could be already occupied by others.

It is not my intention to say that as developers we shouldn't change jobs, or projects often. For sure it is the easiest way to gain new experience and skills. I just think that before changing workplace we should consider all the options we have in our current job. It is worth remembering that after two or three years we have big value for current employees and that fact could open new, exciting opportunities. For sure our domain knowledge and company-specific experience is something our current company would like to keep and invest in if possible.

Good luck on your career path!