There's been a lot of discussion on X recently about job hopping. And I've thought a lot about it, because I've had five jobs in the past seven years, and it was never really my intention to end up here. Moreover, we're in a crazy startup cycle, so I hope some of what I say here can be useful and timely for early career folks considering making a switch.
I've thought a lot about my motivations, why I made certain decisions and whether they were the right ones or the wrong ones. I think the biggest insight I've come to, the thing that's most important for others on this journey to know, is that recruiters are salespeople.
It sounds obvious when I say it like that. They're selling you a job, and they get paid when you take it. But when you're young and in your early career and you have a bit of experience and you have all these recruiters reaching out to you, it doesn't feel like they're selling to you. It feels like they're buying, and you're selling. And it feels good to have something that is desirable to buyers. People want to feel like they are valuable.
It's easy to fall into this trap. You say, I'm just gonna take these interviews. Everyone says to interview frequently just to keep your skills sharp, so why not, it's responsible of me. And I'm going to do well because these are mostly technical interviews and I'm smart and good at computers. And I'm just going to listen credulously and buy into the narrative, because I like feeling desired, and these are name brand companies.
There's an asymmetry to it. When you're at a job, there's no one selling you on the company or role day-to-day. The CEO is doing this sometimes. But they also have to tell you the bad news about things. Recruiters aren't telling you bad news.
So, being in a job is never going to feel as good as being sold the dream of a new job. And that makes it kind of a dangerous situation for people in their early career, like I was. I guess I'm sort of at the tail end of my early career, 7 years in.
I don't want this to sound like I'm playing a victim. I signed the docs. But I'm imploring you to drive your own career decisions. The truth is that being able to turn down recruiters and turn down jobs and opportunities requires you to know what you want. And knowing what you want is hard. It's probably the hardest thing in life, honestly. Everybody I know struggles with it to some extent, or has struggled with it. It's a lot easier when you're a hot item on the job market to just let the recruiters drive. But they don't know what you want. They don't care what you want. Their job is to sell you a job. They get paid every time you change jobs. If anything they want you to change jobs frequently.
So to get back to this question of job hopping: when does it start to catch up to you? I think I'm at that point now. I'm starting to become too experienced for mid-level roles. But I also don't have the depth of tenure that people often want to see for more staff+ roles. I think it's okay, it's not over for me. It's not the end of the world. I can adjust because I've recognized this problem and can change how I make future decisions based on it.
I don't really regret the jobs I've had. I learned a lot and I've met a lot of good people. But if I could go back and make different choices, knowing what I know now? I would.
the jobs
For my own sake, I think it's worth contextualizing how I got here. Maybe it'll be cathartic, and maybe you'll learn something.
The first one was at Linode in Philly. I started January 2019. I did well. I dug into some really weird performance issues and ended up halving our public API latency across the board, which made a huge impact on our UI since it was a React app consuming said API. I fixed a lot of bugs, wrote some features, learned a lot about SDLC practices, testing, code review, etc.
At some point I was recognized as competent and was put on this strategic project. It was a small team, three of us, and it involved working with a team in Ukraine via a partnership deal. I was made the point person since I was owning the app-layer implementation - my more-senior teammate was handling the architecture and infra work. And it was just a very, very frustrating project, for various reasons I won't go into. At some point I realized it was never going to see the light of day. Being young and impatient, I didn't recognize that this stuff happens, and that dealing with it effectively is actually the job, not writing the code.
Around this time I was being recruited for this startup called Perpay. We were several months into Covid and I was getting sick of being at home and going kind of stir crazy with this frustrating project. I'd always been interested in finance and consumer finance and such (part of my problem is that I'm interested in nearly everything.) It was a very different culture, much less engineering-driven, but it was cool to work on. It was consumer and very data-driven, a very different approach to product. I learned I didn't love the culture (turns out I like engineering-driven cultures) but I had a lot of respect for the management and team.
Meanwhile it's now 2021 and things are going absolutely bananas. Twilio reached out to me for a role with Segment, which they just acquired. It was a huge raise compared to what had been available to me in the Philly market, not to mention a much larger scale. It was a no-brainer.
Twilio was my longest stint, a little over 2.5 years. Looking back, it was the job I should have stayed at longer. I was promoted to L4, which they called Staff, which is their terminal senior level. I liked my team. I had the trust of my management all the way up to my director. But I was really unhappy. And not really because of Twilio, though it contributed. We had just had a baby, and we'd moved across the country to SF. It was still the tail end of COVID. I was fully remote in a small SF apartment. I was very lonely, I didn't have any of my friends nearby.
The vibes were very bad at work because frankly the Segment acquisition didn't go well. To the point where I tell people who know Twilio from that time that I worked on it and they're like, damn, I'm sorry. (I literally had a guy say that to me at a meetup.) I think I internalized a lot of those bad vibes because my situation was very insular, and in that frame Slack becomes your whole world. My home life was not very fun. Looking back, I should have taken a step back and tried to externalize myself.
It wasn't just bad abstractly. There were lots and lots of layoffs, round after round after round, a lot of leadership changes. And in that environment, I found that it was really hard to find good work to do because nobody wanted to do anything. Everybody was just kind of in wait-and-see, rest-and-vest mode. Most of the people I had really admired and enjoyed working with had all left.
I also felt pretty insecure because Twilio was laying people off and then backfilling with people from cheaper locales. So I was kind of like, well, is my head on the chopping block because I live in San Francisco now? It didn't feel good.
I think had I stuck it out another year, things probably would have brightened up a bit. Twilio stock seems to be doing better, which did seem highly impactful on company mood.
So I started testing the waters and interviewing, and I took this interview at Benchling as a warmup, I didn't intend to really consider working there. The interviews went well. The team seemed really good. And it was in person a few days a week, which I really wanted. I was sick of being at home full time, having nowhere to go during the day.
The recruiter sold me a good story about growth and how Benchling was growing and, you know, great metrics, big scale-up opportunity. I joined and it just wasn't true. Had I done more digging and been less unhappy I think I would have recognized that because the facts were out there. But I think I just kind of rationalized them away with the recruiter's narrative and tactics. I did really like the vibe I got from the manager of that team, and he remains a good friend.
My work was fine, it was a little less pure-infrastructure than Twilio which was nice. It was nice to write more code again. I was put on an important project and did a good job of it I think.
But I was pretty restless. I felt like I really needed to have this career-defining experience of "we've got to scale this thing up super quickly because growth is exploding." I came up reading all those 2010s Facebook engineering blogs and QCon architecture talks. At the same time, Claude Code had come out and I was starting to go a little crazy with the possibilities of it.
I had these acquaintances that I had connected with earlier about their AI startup. They had just raised some money, and they were hiring. It was a space I care a lot about, and had a lot of experience in. I figured, well, I guess it'll never be a better time than now to do it. I only have one kid now, probably more in the future. So I decided to go for it.
I don't have any regrets because it's been super fun. I've learned I really, really enjoy startups, it just fits my personality. But it's been a year, and it's still not certain that we'll make it as a business. That's okay. I knew that going in, of course. You don't join a seed-stage startup under the assumption that it's going to work with P=1. But from a hiring manager's perspective it's just another short stint.
I don't think it's a terminal problem. I still have lots of contacts, I have lots of recruiter inbound, I've got good references. I'm sure I could get another job if I needed to, barring an AI-driven labor market apocalypse.
lessons
So what do I want younger versions of myself to learn from this?
- If you're working a W2 in a big company, you've really got to figure out how to disconnect your own emotions from the trajectory of the company. If you can't do this, you should either find a startup where at least you'll feel some agency over things, or you should open a bakery.
- Managers value long tenures for senior roles. This never comes up in early/mid-level roles, but it becomes important once you start becoming eligible for Senior/Staff roles.
- Generalizing the second point, the world rewards reliability, not raw output. Businesses are valuable because they turn lumpy supply and demand into steady, predictable profit. Employees are valuable when they provide steady, predictable performance over long periods of time.
- You will never find the perfect job. You can't control the macro environment, the business cycle, or industry trends. You can't control pandemics or technology breakthroughs. You can't control every project you get put on, or every decision that might get made that affects you. You can't control being acquired or being spun-off. All you can do is perform and try to slowly grow your influence and trust. A job that is perfect now might be terrible six months from now, and that's probably not a reason to quit right away.
- At a certain point, your resume becomes less about each individual role and more about selling career trajectory and growth. This is easier to do with longer stints with demonstrated growth in responsibility, vs individual lateral moves.
- Optionality is overrated. Most of my bad decisions were made out of fear - fear of being pigeonholed, fear of missing out, fear of being laid off. My natural response was to seek breadth and optionality, but this is a trap, because of points 2 and 5.
- You've got to figure out what you want for yourself, and then actually think about how to get there. Otherwise you'll stumble around for a while, which isn't the worst thing, but if you can avoid it, that's better.
- If you're the kind of person that just has to go and learn lessons the hard way (me) then you know what, go and do it. I don't think I've nuked my career or anything.
- If nothing else, work on building good relationships. Be nice to people, meet up with them, express interest in what they're working on. Even if you do leave, these relationships compound.
- Be extremely critical of new opportunities. There's always going to be a huge asymmetry between what you know about your current job and what you know about a new one.