On Building Software

It’s OK to Want to Work Alone

Ka Wai Cheung
On Building Software
4 min readMar 25, 2024

--

On my third grade report card, Mrs. Johnson wrote this note:

When problem solving together in what is called a cooperative group, I have observed Ka Wai lacking patience with some of his group members.

This came to me as a shock at first. It was the first time a teacher had said something remotely negative about me.

I was a do-gooder.

I’ve thought about this feedback a lot. About how I felt I was being misinterpreted as an eight-year old. How my shyness was often crippling and perhaps misconstrued as a lack of patience when coupled with working with others.

But as I got older, I began to come around to this idea. Maybe Mrs. Johnson hit on a personality flaw of mine.

And maybe it’s just a trait, not a flaw.

Because she was absolutely right. I was impatient working in a group. Over the years, I started noticing that I much preferred to work alone.

I felt more productive.
More fulfilled.
More powerful.
More energized.

I still am. Only now I fully embrace my flaw. Especially in situations where I don’t think the most fulfilling work is done within a larger team.

Like building software.

What I’m going to say is probably something you’ve already thought about. But, you’ve probably felt like a bad person for thinking this.

Let’s start by getting rid of this feeling.

You don’t want to work for a team? But, that just sounds like you’re not cooperative.

You’re not a team player.
You’re not good at leading others.
You don’t like people.
You’re a bad person.

Not true. You’re just responding to the invisible but palpable dread that comes with working inside a larger team.

When teams grow (and I mean when they grow to even more than say, 3 people), so too does the sheer amount of time spent on the management of the people that comprise the team. It’s no one person’s fault. It’s just how teams work.

Here’s a partial list of things you’ve been spending time on while working with a team.

Hiring.
Onboarding.
Firing.
Quarterly reviews.
Feedback.
Promotions.
Demotions.
Deadlines.
Post-mortems.
Retrospective reviews.
Capacity planning.
Micro-management.
Backlogs.
Change management.
Gantt charts.
Burn-down charts.
Office policies.
Monthly meetings.
Weekly meetings.
Impromptu meetings.
Daily stand-ups.

All of these rituals have one thing in common: None of them have a direct impact on the product you are trying to build. They all have to do with finding and orchestrating the members of the team just to get them to work together on something cohesively. They squeeze a minute or two of something useful out of hours of time spent.

And it’s not just this external stuff. Team mentality also changes your behavior during the precious moments you’re actually working on the product.

Almost all of the best practices that experts deem as the professional way to build software comes from the vantage point of working within teams. We become torchbearers for these ideas regardless of whether we truly believe they fit our mode of work.

You know exactly what I’m talking about.

You go through the motions of a process. The strange detours of an architecture. The bloated rituals of a testing protocol. The communication gaps in a code review. The half-hearted maintenance of stale documentation. You bear through it because you’ve been told this is the right way to do things. This is how good teams are supposed to work.

Consider how much time you spend on all of these formalized things at work.

Now, imagine them gone.

Depending on how some teams run, you just bought yourself back 20% to, I don’t know, 90% of your workday back for free. By working alone. By doing it in the way that works for you.

When you build it alone, all of this evaporates.

20 to 90% of your brain cycles back on the product. Self-fullfillment without feeling selfish. The ability to build fast and build with joy.

What a tradeoff.

Look, I love people! Let’s have dinner. Let’s chat. Let’s do fun things together. I just don’t like the dynamics of the traditional team work environment when it comes to building products.

Don’t feel bad for feeling this way too. There are enough people that want to work for a larger team (whatever their reasons) and now you’re no longer taking a spot from one of them.

You did a good deed.

--

--

Ka Wai Cheung
On Building Software

I write about software, design, fatherhood, and nostalgia usually. Dad to a boy and a girl. Creator of donedone.com. More at kawaicheung.io.