If I could give some advice to someone starting out in their software development career, it would be this: Don’t stay in the same place too long. The first company I worked at, I stayed with them for thirteen years, which I now feel was way too long. I have to admit, the work was hard and challenging, but I was young and had a lot of energy and was willing to work the long hours. I was good at the work and the enjoyed the company of the people I worked with so in a certain sense I got comfortable with the status quo and stayed a bit too long. But given a do-over, I would probably prefer to have left after maybe 4-5 years.
Hopping jobs too quickly can be fantastic for your salary growth, but it has some disadvantages - you don’t build close enough relationships, and too many hops doesn’t look good on your resume. Four to five years seems like a good period to stay, long enough to learn as much as you can and build your network before moving on.
The main advantage of not staying too long comes in the form of personal growth. When you stay at a place too long you tend to stagnate. Sure, it’s software development so somehow you’re always improving, but not improving as quickly as you would be if you were to be thrust into a new environment every few years. Your personal network of like-minded professionals will grow quicker as well when you switch companies. I was thinking about this because I was recently asked if I could refer any senior developers and I realized my personal network of high-level senior technical guys wasn’t that deep because of me staying in the same place for so long.
I don’t consider this a regret, I’m still pretty happy and satisfied with where I am in life. Thinking about this is more of an alternate universe “what if” scenario. I have to admit that staying that long did have some advantages - I got to work with and meet some good people, younger ones even, who became good friends. But this is not an argument in favor of staying that long, as you would still have the chance to build relationships even if you move on. It’s possible in that alternate universe I may have made even better friends or may have even been friends with the same ones I have now somehow.
So, given a chance to give advice to my younger self, I would probably recommend the second path. There is more uncertainty there to be sure, but life is risk, and to live is to explore. Taking the change to move to a new environment optimizes for personal growth, and it’s probably better to be doing it when you are young and full of energy.