How do you think about staying within a company versus looking for opportunities outside? When do you know it's time to leave?
To make this decision, I think of opportunity, ambitions, passion, and time:
- Opportunity - obviously there is a matter of compensation, but there is also an opportunity for professional growth. For example, joining a startup allows you to grow much quicker -- you will be wearing different hats and working much closer to the company leadership. You will make a lot of mistakes, but the learnings will be much greater.
- Ambitions - depending on where you at in life, different things might take a priority and it's important to keep that in mind e.g. you are starting a family or want to work remote from an island in Hawaii. If you are ambitious and feel that you can do more, you can tell your manager you want more work or go to another company or start a project/your own company.
- Passion - you can gain your initial experience in one company, but if your heart is in the other place e.g. music, you probably want to consider getting a job at Spotify or Apple Music. That is where you will have the most fun.
- Time - from my experience, it takes ~2 years to get up to speed with a new product area and make significant contributions. That is why it's common to see PMs going to other companies or seeking other roles within the same company. This allows you to grow and shift gears a little. In my 5 years at MuleSoft for example, I worked on 3 different product areas -- I've learned how to build marketplaces, identity products, and API platforms.
There are some absolutes, which may be self-evident, but I'll still mention them for the record: disrespect, discrimination, excessive stress, unreasonable and unhealthy workload, workplace toxicity in all it's forms, the company is unethical or is visibly tanking...and many more.
Otherwise, I suspect the most common reason to leave might be simply put as: a better opportunity elsewhere. Now, this is a very personal calculus that becomes harder if things are not exactly terrible. Perhaps you are holding out for the promotion and it is taking longer. Perhaps the economy is too "risky" at the time. Perhaps you feel like you have something more to learn in the current role that you want to then leverage in the next job search. On some level, any reason is a fine reason to stay, as long as you know that you are consiously making the choice and it is a choice that in your best estimate takes you to where you want to be in the long-run. Most importantly, you don't want someone else to be making that choice for you. It is easier to get a job while in a job vs. when out of a job. And how do you ever know what is a better opportunity elsewhere? So network, look passively, field exploratory calls. From that perspective, it is never a bad time to be passively looking and neither is it necessarily time to leave.
In my own career, I've had situations where I started looking into a new role within a few months, due to some of my "absolutes" above being violated. In practice, I stayed on for many years, despite getting viable offers roughly every 6 months, i.e. it wasn't innertia, but a consious choice taking into account an ever-evolving org, company, and economic backdrop.
There are a couple of factors to consider here:
- Are you learning anything new in your current role? If not, would staying with the company, even if it is in a different role, or a more senior role (be that IC or management), satisfy your learning?
- Do you enjoy the domain, vertical, and business model of the company that you work for?
- What are the company's growth prospects (or if a startup, prospect for success -- however you define success?) Be very honest and don't just take company management's word for it.
- Are you excited and passionate about the product that you're currently working on?
- Do you enjoy the people that you work with? (your manager, your peers in engineering/design, your peers in product management, etc.) If not, is it likely to change over the next 6-12 months or whatever is your window of tolerance?
- Are you and your ideas respected and given a fair shake? How much autonomy do you have versus how much do you want?
- Does the company's appetite for risk match your appetive for risk? (e.g. are you working on a horizon 1 product when in reality you would rather be working on a horizon 3 product)
There is no right or wrong answer to these questions but I hope they will spur an honest assessment about what is tolerable (and also if currently intolerable, is it likely to change to tolerable within period of time) versus what is a hard red line for you.
The answer here is extremely nuanced and will vary from situation to situation. There's a phrase from Graham Weston that has stuck with me from my time at Rackspace:
“What we all want from work is to be valued members of a winning team on an inspiring mission.”
When that phrase no longer rings true for me, and I see no way to achieve that in my current role, it's time to look for opportunities within the company. If there is no way to achieve this within the company, then it is time to look for opportunities externally.
As a general rule of thumb - always be on the lookout. Dedicate whatever time works for you: 1hr/week or 1 hr every other week in making connections outside, thinking about a new problem to see if that area is exciting to you, talking to new recruiters to see how your skills are being perceived in the market.
If you are thinking about this question, that might be a signal itself. Having clarity on what you're looking for professionally can be useful as well - what do I want vs. what am I getting in the current job? $$, growth, new skills, impact, respect, peace of mind, closure at the end of the day to spend time with family - these are all important parameters to put in a order and validate vs. what you're getting.
We all feel a certain pride and dedication towards our existing products and companies. That is good. However, earlier in my career, that pride caused me to shut-off against exploring other teams and companies. I don't think that is a good idea :)
When considering whether to stay at a company or look for opportunities elsewhere, I always reflect on the reasons I joined the role initially and evaluate how these align with my current experience. For me, a significant factor is the leadership I work under. I often say, "I join a role for various reasons but leave when the boss leaves." The departure of a boss whom I respect and have learned from can be a signal to reassess my position. It's important to evaluate if the change in leadership affects my ability to grow, contribute, and stay aligned with my professional goals. If these elements are compromised, it might be the right time to explore new opportunities where I can continue to grow and be challenged.
I like 2 use 2 things to evaluate a job: I should either learn a lot, or earn a lot (or ideally both!).
We try to always favor learning, but sometimes your familial situation makes that earning may become the main criteria at some moment in your life.
Overall, your career is not the most important, your life is. Nothing beats feeling good in your life, and this is what you should look for.
I don't think there is any way to measure when it's time to leave, but usually you know it. Deep in you, you hear this little music telling you "it's time". And when you hear it, just look for other opportunities.