Questions to ask yourself when deciding whether to stay in your current team, change teams or look for new opportunities.

Engineers have great flexibility in choosing employers or projects to work on thanks to the ever growing demand for computer scientists. I am documenting questions I ask myself every 6 months to make sure I’m working on projects I want to work on with people I can learn from and enjoy working with. Some points may be specific only for engineer but I’ll try to be generic.

When To Change Jobs

One or more of these are good reasons for jumping ship:

  • Dissatisfaction

    If you absolutely do not like your job, feel stuck or have a bad working environment (that you’ve tried and failed to fix).

  • Personal growth

    If you are not learning new skills or if you want to try something new. Like if you want to pursue a new interest or passion and know that you will be able to figure out your finances (because if the change means you’ll start with no experience, you will be paid less too).

  • Monetary reasons

    You are paid less than current market rates.

  • Change of environment

    You want to change the environment: startup v. big corporation, different city/country, new challenges.

  • Healthy job market

    When everyone seems to be hiring in your area of expertise. You apply just to see what’s out there and you find something you really like. Salaries are also generally higher in a competitive market.

  • Lost faith in the leadership

    If you lose faith in the team or the org’s mission, try to change teams is a possibility. However if you don’t believe in the company or the main product, you should leave to something you believe will succeed or aligns with your life mission.

When To Stay Put

You will have to sacrifice these if you switch jobs:

  • Time

    There’s a significant time investment associated with finding new opportunities: These depend on your occupation, but general steps to it which take time are:

    1. Prepare for interviews
    2. Look for companies that are hiring
    3. Interview
    4. Comparing offers, make a decision
    5. Quit and move
    6. At the new place: understand new processes, frameworks and workflows before you can get productive

    You want to make sure that there’s at least a fair chance that this time investment will be worth it; whether it’s better pay, able to work in a better environment, or the satisfaction from the new role.

  • Context

    Longer tenured employees perform significantly better, navigate through problems faster and are more resourceful because they have a significant context built through the time spent at a given place. The reasons for this are:

    • Network

      They can get help faster because the know more people, know who’s doing what and can cut through the hierarchies or “internal document searches” which are never really up-to-date.

    • History

      Older employees have seen systems and processes evolve. They know why a service was built that way and how the hiring process evolved. So when it comes to revamping the hiring process again, they’ll know exactly what has worked before and what hasn’t, leading to better and faster decision making.

    • Clout

      There’s a good chance the Director knows about the older employee already. Newer projects will fall in their laps and higher level decisions will include them, even if there’s a newer, more experienced hire. People will also go to them for help first, leading to more learning and increased clout.

  • Growth/Promotions

    For the same reasons mentioned above, longer tenured employees have an advantage of faster promotions: they can get things down faster and take on crucial challenges that could be unknown to newer employees. On the flip side, joining a new firm means you’ll have to learn new intricacies of the job and demonstrate skills before being considered for a promotion.

  • Known unknowns and unknown unknowns

    These will be risks associated with change. Maybe you don’t like New City after all or New Company is actually not a great place to work. These can be minimized by converting unknown unknowns to known unknowns by researching and talking to people.

Thought Process for Making a Decision

Ask yourself the following questions in this order:

  1. Is the dissatisfaction temporary?

    You don’t want to make knee-jerk decisions!

  2. Is the unhappiness truly related to work?

    Maybe all you need to do is fix the relationship with your manager or take an overdue vacation.

  3. Did you talk to your boss about it? Maybe you haven’t clearly communicated what you would and would not like to do?

    If you really want to work on another project, or want a raise, asking for it should be light-weight. I know of a lot of instances where the managers were completely unaware and could have made the right accommodations to fix problems instead of losing the person.

  4. Did you consider other opportunities within your company?

    Hiring good talent hard, time consuming, risky and expensive. Most company should be happy to let you transfer to a new team or department instead of seeing you go.

  5. Are you falling for “grass is greener on the other side”?

    It’s easy to hear good things about other work places, but what if the problems you are leaving for also exists at the companies you are considering to interview for? Talking to others will help get an answer.

  6. Have you weighted your pros and cons?

    The points from section When To Change Jobs should help.

  7. Is the job market in good shape for you to get an ideal role/company/position right now?

    You don’t want to spend the efforts looking for a new job when not a lot of places are hiring. This will limit options.

  8. Is it worth to pay the significant cost of time for the change? Are you willing to put in the effort?

If the answer to all the above questions are yes, then you should strongly consider looking for a change. All the best for your job hunt!

Short Circuiting

Here are some points to reach to decision faster:

  1. A way to short-circuit the decision making process is to see if you’re going to regret not changing jobs later in life aka Jeff Bezos’ Regret Minimization Framework. It’s always nice to experiment, and the cost may be worth it rather than regrets later in life. Remember, this is a reversible decision. If you quit on good terms (as you should), you can always choose to go back.
  2. You can talk to others about their job satisfaction and work to compare notes so you can make informed decisions.
  3. If money or role is a concern, it’s easier to interview at other places to see what they have to offer. This has the added advantages of learning what options are other there, what are the current trends in your industry and how other companies are doing; as you talk with people who are hiring. This also helps you keep your interview skills up. Coding interviews need practice!