Why I've had 7 jobs in 11 years⋅ 7 min read
At a glance, that can look bad. Any potential employer is going to think "Oh this guy has just been chasing money and/or a promotion!". Delve deeper, and you'll know my story, and I'm sure countless others', is mired with toxic workplaces and awful bosses.
My little journey
I got my first taste of computers when I was around 10, and I started building simple quiz apps in Visual Basic using a friend's computer (we couldn't afford one). When I went to high school, I finally got my own computer and started building tiny apps with C#; I was also featured on LifeHacker. I built websites for college events using Flash and PHP, and for my final year project, I built a robot that could be driven via commands from a serial port. I finally landed a job straight out of college at one of the most popular software companies (at the time) in the country.
I spent 3 years at my first job. I was young, and I was learning some cool stuff — I was part of a research group that worked closely with IBM to come up with a plan to port an incredibly popular core banking product's database from Oracle to DB/2. But working for a large multinational corporation, it became apparent that I wouldn't be able to create impact in many years, and I was being criminally underpaid. I had been teaching myself Python on the side (I'd written a bunch of scripts to automate parsing of DB/2 logs, cutting down the time my team was spending on that effort by almost 90%), and I was ready to go look for Python jobs.
And I was a Python/Django/jQuery developer for a while. Node.js was starting to become a thing, and I became a Node.js developer and found a job as one. I was also starting to work on Angular. Soon I ended up at a fantastic place that would become my engineering foundation and my baptism-by-fire; I was working on Scala, Kafka, Mesos, Ansible, Terraform & Packer at scale. I was working on unbelievably cool stuff like working around bot mitigation techniques that were sold by Distil and Akamai. This was also where I was finally in a room full of people smarter than me. The company, however, ran out of runway and was soon acquired by somebody else, and the transition was incredibly painful. I left the job really hurt, and hastily picked another one as a rebound.
Like most rebound relationships, it did not last. It was an incredibly toxic workplace — one of the founders was an insufferable bully who publicly berated people, pay disparity was huge, personal boundaries were disrespected and delivery expectations were so stressful that at some point I started literally losing my hair. I quit that job in 7 months.
I found another job, and by this time, experience and wisdom informed what I specifically wanted. I wanted a job where —
- Everybody built stuff in the open.
- People would be treated with kindness and compassion.
- I could build inclusive and diverse teams filled with smart people that were paid equitably.
- I could attempt to fix the fundamentally-broken hiring process.
- I could help solve interesting problems.
Armed with this list of goals, I started work in earnest at my last job. While the first year was spent entirely as the sole contributor building the platform frontend, it was time to grow the team, and I'd soon find out why I'd leave this job too; management reneged on promises of equitable pay, information trickled-down from the top, new product managers were solving problems that didn't exist, and I was frequently left out of hiring decisions and other important meetings.
Who's Fault Is It Anyway?
When trying to analyze what I could've done to solve these problems, I'm constantly reminded of what an old boss told me —
"You're just running away from your problems. If something isn't going your way, it's your responsibility to fix it!"
There is some truth to this — I was technically running away from those problems. But where I disagree is that was somehow my problem. In that particular case, I decided to leave because I was brought in to modernize and turn a maintenance shop into a development shop. This meant I had to bring in new processes, mentor existing employees and try to shape them into full-fledged engineers, and get a hiring budget to attract good talent. I wasn't able to do any of this because the company's overseas branch didn't like us doing any new development, the team was very resistant to all the new changes and I couldn't hire anyone I liked. Throughout all of this, I wasn't getting any support from the people who hired me either, so I was just stuck; until, of course, I decided to leave.
People don't leave bad jobs, they leave bad managers.
Should one try to solve problems at their organization? Yes, of course. Is my team falling behind on schedule? I'll try to understand why we're late, identify bottlenecks and try to fix those. Is someone on my team not being productive? I'll talk to them, see if they need a break or therapy, and I'll help them get that. But I can do all of this only if I am supported, and know that the company cares about this too. Maybe it is my ADHD brain's acute sense of fairness, but I need my employer to also care about some of the things I care about — diversity, inclusivity, fair & considerate hiring processes, kindness and compassion not just for customers but for employees too, mental health wellness and equitable pay. If they're only focussed on turning a profit (like this one job I had where a core value, enshrined in all their decor & company swag, was "Results over reason"), I'd be incredibly miserable there; you would too.
End of the rope
At every job, I've fought very hard to fix those things. I've been explicit about how I want certain things to be done. I've pleaded, begged and persuaded bosses to treat and pay people better. I've battled long and hard for better working hours for my teams, and I've learnt new ways of talking to non-technical folks to help them understand and appreciate what software engineers do. I've had honest and thoughtful responses for anyone hiring me that had concerns about me being a "flight risk". All this said, I've left most of those jobs when I no longer could pay the cost of trying to fix everything.
Stage 5: Acceptance?
My partner keeps telling me that the only way I could find happiness at a job is if I ran my own company and did everything the way I want it to be.
But I've seen great employers that know how to treat their folks really well. I've been a part of at least 1 team where I've experienced a version of happiness that is close to my ideal. And I refuse to believe that I can't recreate that again.
That said, I do realize that every organization, at the end of the day, exists to generate wealth for its founders, management and shareholders. Will a company exit by selling to someone that pays lesser to the shareholders while elevating the employees? Most probably not. I'm trying to come to grips with this hard reality by detaching more from my company as an identity and by looking for happiness outside of my job. I am also advising all of my teammates to do the same — I encourage them to pursue fulfilling hobbies, to exercise and eat right, to spend more time with their families, friends & pets and to volunteer.
How to not repeat my mistakes and instead make your own
So how does one avoid the traps of a bad job in the first place? I've learnt that there is no hard science to this, but I now do a few things —
- When approaching a new job, I do a ton of research into the company and its founders. What is their story? What does their social media look like? Are there any obvious red flags? Do they engage in the things I care about?
- I read their job listings. Do they talk about the realties of the job? (Mighty's hiring document is a great example where they're refreshingly honest about the importance of raw hours). Do they have a near-future roadmap of the role?
- When I start talking to the founders, I ask pointed questions about their mission and their long-term goals, their exit strategy, where they see my adding value immediately, in what ways the founders (if there's more than 1) are different and same, what their team could be doing better right now, their CSR plan, have they had to fire someone (and if yes, why), how they measure employee happiness (and how they define it), how much support they provide for new parents and how they plan to do appraisals. I'm always making jokes, so I see if they get my sense of humour.
- When interviewing, I also ask to meet the teams I'll be working with. This gives me an opportunity to understand more about the people themselves and to start building a relationship.
- I am very honest about all the reasons I've quit past jobs, and I explicitly state the things I want and deeply care about. I've had founders nod their head along at this stage (because they want me onboard, so they'll agree to anything I was saying), so I'm extra careful here about probing deeper and making sure they're earnest and actually mean it.
- If there are any red flags along the way, I try not to fall prey to the sunk cost fallacy ("Oh I've spent so much time in this process, I'd hate to start over again!") and still withdraw from the process.
- I do my own due diligence — I talk to current and previous employees if possible, and ask specific questions about the company culture and the reasons for their departure.
- I listen to my gut. If something feels off, I walk away.
A note on being able to afford being this way
I have to point out that this isn't financially viable in the long run, nor is it even possible in the first place if I wasn't already incredibly privileged. I would be remiss if I didn't acknowledge the things that have allowed me to take such principled decisions.
- My parents were first-generation college (or even school) graduates, and they worked hard to give me a middle-class upbringing. I never had to worry about food, clothing, a roof over my head, school fees, saving for a sibling's wedding or taking care of my parents. Consider all of this, and I was incredibly privileged to have a stable household.
- My partner is employed, and we don't have kids. Our DINK lifestyle has de-risked this a lot.
- I'm confident in my employability skills, so I could quit and take breaks in between jobs without fretting over finding a new one.