65

How do I know when it's time to leave a team/company?

Profile picture
Mid-Level Software Engineer [Senior Associate] at Capital One2 years ago

Given this industry, switching is always somewhere in my mind. How can I figure out if it makes sense to pursue that or stay? When it comes to staying, how do I know if my current team is conducive to my overall growth and goals going forward?

3.8K
3

Discussion

(3 comments)
  • 88
    Profile picture
    Meta, Pinterest, Kosei
    2 years ago

    The not-so-actionable advice here is "when you're not learning or earning as much as you want".

    A better answer (more actionable) is that you should be evaluating opportunities and making an active choice to stay at your company. What you want to avoid is staying at a company for 6+ years simply because you were on auto-pilot. So talk to friends about companies they're joining, and I'd recommend even interviewing around at least every 4 years to see how excited you are by external possibilities.

  • 78
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago

    For you and anyone else reading this, I highly recommend making a stack-ranked list of your priorities. Here are some example priorities when it comes to choosing a job:

    • Product space
    • Compensation
    • Level
    • Stability of the company
    • Quality of the manager and team
    • Growth opportunities

    Seriously thinking through these and ranking them in order of importance is a really formative exercise that makes the picture a lot clearer. From there, you know it's time to leave when your current environment isn't really satisfying your 2-3 top priorities.

    Zooming out, here's 2 core angles to consider "in a vacuum" with this question.

    The Current Hiring Market

    • In general, the tougher the market is, the less you should think about switching.
    • Right now, the landscape is very rough. A lot of companies aren't hiring, especially among Big Tech. I think trying to make things work on your current team is a way stronger option than it has been historically.
    • It's important to realize that the time you spend doing interview prep and just having job switching at top of mind in general is lost on your actual growth. A failure mode I've seen sometimes is engineers constantly job switching and never truly leveling up.

    Quality Of Your Team

    • One thing I will say is that people seriously underestimate how hard it is to find a truly supportive team. Even if you go to a prestigious FAANG company or whatever, it's still really easy to end up on a crappy team there.
    • 2 main bars to clear evaluating a team:
      • Are my teammates nice and great to collaborate with?
      • Are my teammates pushing me to get better and challenging me with new insights and opportunities?
    • If your team doesn't even clear the 1st bar, you should probably leave ASAP.
    • Things get interesting if the 1st bar is cleared but the 2nd isn't. I can see an argument for leaving, but I also feel like a lot of software engineers (mainly mid-level and earlier-senior engineers) don't spend enough time trying to create scope on their own.
    • If both bars are cleared, you should seriously consider staying (unless you have a burning need for higher compensation). I've talked with a lot of engineers who say they love their teammates and are learning a lot but are also pretty set on leaving for a FAANG company soon - I don't think that's the right mentality to have, especially in this economy.

    This topic is so important that we gave a masterclass about it, which you can watch here: [Masterclass] How To Choose A Good Company And Team As A Software Engineer

    To learn more about the priorities I mentioned above:

    More related resources on the topic of team selection:

  • 24
    Profile picture
    Meta, Robinhood, Baidu
    2 years ago

    One perspective to look at this is to think about what drives you.

    First of all, what drives you to stay in your current job? Is it a negative emotion like "if I lost my job I can't pay the mortgage" or "if I quit in this situation people around me would think of me as a quitter for the rest of my life"? If this is true, you should always keep your eyes open and look for opportunities that can drive you with positive emotions.

    Opportunities that reduce the negativity may look attractive -- isn't great that the new job pays more when I worry about money in case of losing a job? However, that's not going to drive you better in a healthier way. You can pick up this new job and get paid more but you also get a bigger negative drive -- "if I lose this job I'm leaving even more money on the table!" Be diligent in the trade-off you make in this case.

    A better opportunity is one that attracts you with positive emotion. "I grew up poor and I believe I can help people in a similar situation by working on this financial product". "More and more friends in the tech industry are suffering from mental health issues and that makes me want to work in a company that addresses the mental health market". Just to give you some examples.

    If you find something that positively pulls you towards working on it, take that opportunity. Leaving because worrying about career growth is better than other materialistic reasons but it's still a negative drive. You change jobs and you will still think about "am I not growing fast enough" or "am I not promoted as quickly as my peers". That's not great.