If you ask me what would be my advice to mid-level software engineers these days, it would be to stay where you are if you don’t have a stressful problem and if you’re learning. Changing the company feels exciting (new adventures, new type of learning), and often it pays more. Especially with the
great resignation job-changing wave, it is even more urging to hop to another company. However, the challenges and advantages of staying are often overlooked.
I’ve seen some engineers change jobs every 1-3 years, and some stayed in the same company for 5- 10 years. Every single time, I realized something different in engineers with long tenure. It was not easy to define. Every time, I thought they were wiser, but it was untrue. I thought the accumulated knowledge made them special. Although the knowledge made them valuable to the company, it didn’t make them special. Knowledge made their job—and ours—easier. After struggling to define it, I decided to uncover it by looking at myself.
I’ve been working in Jimdo since July 2016, almost six years now. During my time here, I’ve witnessed a lot of stuff: sunsetting projects, monoliths, microservices, native mobile apps, cross-platform mobile apps, in-office teams, hybrid teams, remote teams, unsuccessful and successful initiatives, jaw-dropping-amazing projects, and stuff that didn’t make sense at all; you name it. I’ve seen many projects completed, abandoned, over-achieved, half-completed, put into the trash. We can argue that these things happen in every company, and even I changed jobs often, I can, and will, come across them. Then, what’s the difference in longer tenure?
It’s gaining a new perspective and long-term thinking.
I think most engineers work on projects that other engineers developed. We all see how the judgment of the previous developer is “wrong” every day. We also assume that we won’t be the same and will have better judgment. Yet the next developer after us always feels the same. The story doesn’t change until we see our older self’s mistakes and failures, become the previous developer to ourselves and see how the company’s decisions had long-term consequences.
Seeing not only our past self’s wishful thinking but observing the company’s previous decisions and how they played out is an eye-opening experience. For example, Jimdo moved from monolith to microservices a few years back. Although I was not involved in that decision, I observed from the consumer side as an iOS engineer. Did we guess what would be drawbacks at that time? I’m sure we did. However, after years, we started to realize the real drawbacks and the work we had to put into it. If I have left after a year or two, how could I see any long-term impact of this decision? Now, I know how much effort this move requires and its challenges.
Let’s take a non-technical example, an extreme one. In my fourth month, Jimdo had lay-offs and reduced the workforce. Some of my amazing colleagues were out of jobs. It was a painful moment. If I had left after that event, there was no chance to see how this decision impacted the company as a whole. Now, we couldn’t be in the same position if we didn’t have this decision. Was it the best decision? Probably, no. I’m sure there were better options, but I’m also sure that the people who made the decision evaluated the other options. All I know is that the decision was for both the short-term and longer-term. Leaving in the middle would make me blindfolded to long-term consequences.
It doesn’t matter when we leave; there will always be a consequence of a decision we will miss when we do. The questions are “have we seen enough?” and “Does the leave compensate for the experience we will get in long-term thinking?”
If you’re leaving for more money or safety, I will never argue. If you’re leaving for a different type of experience (e.g., remote work vs. in-office, big co vs. start-up) or for different company culture, I won’t argue at all. If the environment is not toxic or not draining your energy and you’re still learning, then why leave the company? If you’re leaving your company because the market is hot right now and your company can’t give you a raise that might not even change your life, then maybe you should question again. Don’t get caught in the
great resignation current job-changing wave.
Even if you do leave in the end, be aware of the trade-off you’re making. If you haven’t stayed in a fast-moving company for more than four years, there is a great experience you’re missing.