Why I Quit My First Job

Posted

My early years as a developer sound familiar: I loved computers, studied CS, and yearned for grown-up conversations with people who shared a similar passion for software and the promise of what computers could do.

I quit my first job after eight months and considered leaving software completely.

I’m glad I didn’t, but the fact that I came close has always stuck with me. I realized the problem only over years and several companies: cynical programmers are a sign of low-performing teams.

Big Company

Memorable moments of my short time at that job (Fortune 500 firm):

  • Documenting a LISP framework nobody cared about (“Oh god, they put you on that? Haha- good luck.”)
  • Programmers hoarding documentation to get the upper hand on their peers.
  • Developers whose managers didn’t get along collaborating in secret.
  • A project that did not ship anything important during my time there.

It’s easy to say the project’s failure was my reason for leaving, but in hindsight, it was the apathy of my peers which proved significant. I was junior, but after seeing people subjected to a process, resigned to the flaws in how the company operated and not invested in change, I had enough.

Small Company

I moved on to have some great and transformational experiences, bolstering my career confidence. However, during my second week at my second startup, I met a developer who took issue with an email I sent concerning a failing build nobody was fixing. The build took fifty-four minutes, and it had also been failing for months at the time I started. Months!

This developer leaned on my desk and thanked me for the email before suggesting I do not rock the boat on this.

“You know, I’ve worked at these kinds of companies, and all these projects eventually go to shit.

I’ll skip through the rest1, but suffice it to say I realized something that day, which has remained true fourteen years since: I reject cynicism like this. I reject it because software teams who carry it around as scar tissue are terrible teams to be a part of.

And So…

You see this at big companies, small companies, and startups, but over time the outcome is the same: lower standards on the team invites a form of creeping toxicity, and (for the people who measure these sorts of things) high turnover.

Having interviewed developers for 20+ years, here are a few things I’ve heard repeated, all of which were red flags:

  • I wanted to do it the right way, but my team didn’t listen.
  • The system had issues, but it was like that before I started.
  • The system had problems, but everyone seemed okay with it.

You can imagine how someone jumping from company to company may encounter cynical, under-performing teams and get by with these outcomes. You may have also met developers who come to rationalize low standards like these, through no direct fault of their own.

Keeping this attitude from taking root in your team is another reason why the way you interview at companies (and conversely, hire into your company) is so important.


  1. I found a group of like-minded folks who helped get the build in a good place and the team came to see it as a source of truth. Success! ↩︎