Sometimes, your job sucks, and it’s time to move on. Maybe you’re looking for something new and the company can’t provide it, or maybe something bad happened that’s the extra push you needed put in your notice. It happens. However, in finding something new, it’s important to differentiate leaving your current job from finding a new job.
I was unhappy at a job once. A few events made me realize that engineering no longer had the same voice that it used to within the company and that my growth path was no longer obvious. I had a specific set of complaints, and in looking for a new job, I sought to address them. I found a tiny high-frequency trading firm started by friends-of-friends, and it looked like a great opportunity. I wasn’t big on the industry, the technologies, or the customers (they yelled very loudly). But, as a small team of mostly engineers, engineering’s voice within the company was very obvious, and my personal growth would be tied to the growth of the company, something on which I had a direct ability to influence.
I left after a week. There wasn’t anything specific that made me snap, but as I was ramping up, it became clear to me that this was not going to be a good fit for me long-term. I hadn’t done any paperwork, and they hadn’t paid me, so it was a pretty easy split. They kept the few tools I’d written, and I kept the lunches they’d fed me (good thing, as they’d be tough to return). We’re still friends, and the team has since created a new company that’s doing quite well.
My problem was that in fixing the specific things I was upset about led me to take for granted what I loved – working with unbelievably kind and brilliant engineers, having a strong community woven into the fabric of the company, learning from folks in other functions, experimenting with new technologies, etc. I was running from my previous job without thinking holistically about where I should go next. I’m a passionate person and know that it’s easy to get myself worked up, but I’ve learned that it’s important not to lose sight of the greater picture beyond my immediate frustrations.
After leaving two jobs in ten days, I took a couple of weeks off to clear my head and restart my job search. I’m glad I did, as I ultimately ended up in a much better situation. Taking time between jobs helps reduce the frustration bias, but even if you can’t for whatever reason (financial, immigration, etc), it’s important to be conscious of that bias and not let yourself overreact and end up in an environment that’s potentially worse than the one you’re leaving.
It goes without saying that the luxury to be picky in our career choices puts many software engineers near the top of Maslow’s hierarchy of needs, but just because we have such a luxury doesn’t mean that we should squander it!