Two years ago, I did something that I’d never done in my career before- I left a job (at Nuro) only a few months after starting it. In this post, I want to explain what happened and what I learned from the experience.

What happened

The job switch

Back in the spring of 2019, I decided to leave Stripe, where I’d been a software engineer for about a year and a half. The full details are best left to a separate post, but at a high level I just wasn’t very happy with my personal situation; the work I was doing in compute infrastructure had the unfortunate combination of being both overly stressful and underappreciated. At the same time, I felt like my career prospects were limited because the upper rungs of Stripe’s engineering individual contributor (IC) ladder put a lot of emphasis on cross-team coordination and other, managerial-like activities that I didn’t enjoy and felt I wasn’t very good at.

Given how hot the job market was at the time and the number of other, seemingly more interesting opportunities available, I figured that I had nothing to lose by interviewing elsewhere.

After a few weekends of furiously-paced Leetcoding, I was ready. Unlike my previous job searches, there wasn’t any particular company that I was aspiring to get into; instead, I just went through my backlog of recruiting emails and wrote back to a bunch that looked interesting. Among the messages I responded to was one about Nuro, an autonomous vehicle startup that was attempting to do driverless grocery delivery.

Over the following weeks, I went through the full recruitment slog, starting with lots of recruiter phone calls, then following up with technical phone screens for a subset of those, then doing onsite interviews for a subset of those. In the end, I got offers from seven places, including Nuro.

During the process, I didn’t fall in love with any of the options. But, there was something that made me feel more optimistic about Nuro than the other choices. Being a hardware-oriented, robotics company, it was just really different from all of my previous employers, and, after years of feeling stuck in my career, maybe different was good.

The company was super secretive about its technology; I wasn’t allowed to tour the office, for instance, because they had hardware prototypes lying around that only employees were allowed to see. I also wasn’t invited to ride along in their test cars, which would have been both fun and informative. The external signs were good, though- they had raised a billion dollars from Softbank and others, and the employee reviews on Glassdoor were gushing.

Aside from being in a somewhat different space than my previous employers, another potential downside was the commute. Stripe and my three jobs before that were all within a 15 minute walk of my apartment in San Francisco. Nuro’s office was 40 miles away in Mountain View, which was more than an hour each way by train. But, I had done longer commutes earlier in my career and figured that I could handle it.

In the end, I went with my impulses and signed the offer. I had my last day at Stripe, took a short vacation, and then showed up at the Nuro office, brimming with optimism, for my first day two weeks later.

Realizing my mistake

Unfortunately, that optimism lasted for a grand total of 2 days. By Wednesday of my first week, as I was riding the train home, I realized that I had made a mistake. My colleagues were friendly and smart, and the company was doing interesting things, but the job just felt like a lifestyle downgrade to me.

At Stripe and each of my jobs before that, I had had a short commute to a beautiful office, and got to experience the instant gratification associated with developing purely software-based products. Now, I was stuck taking a crowded train to a dark office littered with hardware parts, working on a product that would take many years to reach mass-market adoption due to pesky little things like manufacturing and road safety.

I had left Stripe seeking an upgrade, but instead I got a downgrade. And, while minor improvements were possible, it seemed unlikely that things would completely change for the better in the near term.

Getting back on track

At this point, I had three choices:

  1. Quit immediately
  2. Start exploring new opportunities but don’t quit until something better is lined up
  3. Stick it out for at least a year

My first instinct was to take option 1 and just go back to Stripe. When I reached out to my HR contact, though, I found out that I’d have to go through team matching again and also get a new offer; even though I’d left on good terms less than a month before, I couldn’t just revert back to my previous position and pay. This was disappointing, but after giving it a little more thought, I figured it was for the best because I had left Stripe for specific reasons; going back to my old job wouldn’t fix those or make me feel better about them.

Another variant of option 1 would be to quit and take one of the other offers I had gotten during my search. But, I had already rejected those for what I thought were good reasons, so this didn’t feel like the best way out.

Option 3 was the one that would look the least bad from a resume perspective, and this seems to be what a lot of people in tech do when they don’t like a job. But, life is short, I was really feeling unhappy with the choice I had made, and I figured it wasn’t really fair to my colleagues at Nuro to stick in a job that my heart wasn’t in.

So, in the end, I decided that option 2 was the best fit for me. I continued at Nuro and did my best to get up-to-speed and to contribute to my team’s work, but at the same time jumped right back into the job market. In addition to keeping things open with Stripe, I tried Triplebyte, responded to more recruiter emails, and also reached out to some former colleagues about the companies they were now at.

I then went through the whole recruitment process with a new set of companies. This time, though, I was a lot pickier about where I interviewed (nothing in hardware or with long commutes!); after a few weeks, I had four new choices including an updated offer from Stripe. After a good amount of due diligence, significantly more than I had done in my previous search, I decided to go to Segment.

When I put in my notice at Nuro, people were surprised that I was leaving so soon, but ultimately were understanding. I left, took a short vacation, and then started at Segment. Thankfully, the new job was a much better fit for me, and I’m much happier now!

Lessons learned

Do your due diligence

Switching jobs is a big deal, and it shouldn’t be done impulsively. Ideally, your due diligence before signing a new offer should include:

  1. Meeting with the team you’ll be working with in a low-stress, non-interview setting
  2. Touring the office and understanding what your specific workspace will be like
  3. Trying out the commute for a few days (if it’s significantly different than your current one)
  4. Trying out any new languages/technologies that you’ll be using on the job
  5. Getting hands-on demos of the company’s products (if they’re not freely accessible to consumers already)
  6. Seeing a summary of the company’s income and expenses over time (if not public)

Learning about these things doesn’t guarantee that you’ll be happy in your new job, but it at least reduces the risk of any unexpected surprises after you start.

It’s ok to quit after a few weeks (just don’t make it a pattern)

When I started my second job search, I was worried that the short tenure in the job I was trying to leave would be a turn-off to perspective employers. In reality, however, it wasn’t a big deal- people asked about it, but seemed satisfied with my 20 second summary and then moved on to other things.

The sense I get is that you’re allowed to quit a new job once in your career without any repercussions. If you do it multiple times, however, then recruiters and hiring managers might have second thoughts about interviewing you without strong internal references or some other signal that you’ll be a good employee.

Switch teams before quitting

As I noted in a previous post, switching teams is a lot easier than switching jobs. I didn’t do this before I left Stripe because there weren’t any other teams that I was super enthusiastic about at the time. But, in retrospect, I probably should have given this a try before quitting.

Even if the new team hadn’t been a perfect fit, it would have at least bought some time and given me some additional experience that could help in future work. This is what I did at Google and Airbnb, and in both cases the “second team” was what really opened up new opportunities for me.




Addendum

This post was submitted to Hacker News after publication and got a lot of comments! Feel free to add more there.