Code stays fixed. People don't, and that's the good news

Back in 2010 I was a young team lead, and I’d worked something out. Fixing bugs was easy. Fixing people was hard.

When you fix a bug, it stays fixed. You write the test, the test goes green, and it stays green. People aren’t like that. You have the conversation, things improve, and a few months later they’re back where they started. People change over time. They go back to old habits.

What I got wrong

I thought my job was to make my team more like me. I had three or four devs, and I’d commit to the same kind of work they committed to. I was a dev with a few extra meetings.

Then my boss asked me a question I’ve never forgotten. Sure, I could outperform five devs. But could I outperform 50? What about 500?

He was inviting me to consider leadership. I went back to the tools.

Looking back, I was treating people like bugs. “Fixing” someone meant making them more like me, and when they drifted back to being themselves, I called it a regression. The problem wasn’t that people don’t stay fixed. It was that I thought my job was to fix them at all.

The long way back

I moved to a new job, and eventually into consulting with SSW. I’d applied after watching them give talks. They’re world-class conference speakers, and yet there I felt accepted as one of them. They lifted me to a level I hadn’t put myself, and that gave me the confidence to go out on my own as a contractor.

Each contract, people asked me to stay. As a contractor I was even given a mentee, which I thought was wild. Then one client asked me to stay on and mentor their staff. Not one person: coaching a whole department. I was definitely interested.

I lost that first opportunity in the interview. They asked about leadership, and I told them it was the best and the worst job I’d ever had. I’m a bit too open sometimes.

Eventually I did step into leadership, and I enjoyed it. As a Principal, the role was influence: nobody reported to me, so anything I achieved, I achieved by persuading people. Then a restructure moved me into tech lead. Now I’m actually the boss, and people report to me.

That’s when the 2010 question came back. Influence or authority, I still couldn’t outperform 50 devs. And having people report to me didn’t make fixing them work any better than it did in 2010.

What I learned as a tech lead

These days I spend far less time on the tools than I’d like. What I’ve got in exchange is a much better view of people, and they’re far more interesting and varied than the 2010 version of me gave them credit for. They don’t regress to a known-good state, because there isn’t one. They grow, and they grow in directions you won’t predict.

The job isn’t fixing them. It’s more like hosting a party.

Leading like a host

A good host can’t make everyone have a good time. What they can do is set things up so people do.

Introduce people. I pair people deliberately. It’s how culture spreads, and it’s how you match skills and personalities: someone strong where another is still learning, two people who’ll actually enjoy working together.

Don’t let the party split into corners. Pairing has a catch. Leave the same pairs together long enough and you get cliques, then silos. People need to keep moving. Not only in the “move resources where they’re needed” sense, although, honestly, partly in that sense too.

Make it safe to move. People can only move like that if they feel safe, and they only feel safe if they know what’s coming. You can’t order someone to thrive. You can provide the conditions.

Hand out the opportunities, even the ones you’d rather keep. I raised someone up to backfill me. Then a new opportunity came up that suited them, and I had to put them forward for it. SSW lifted me to a level I hadn’t put myself; this was my turn to do the same. That’s the job. A host who keeps the best conversations for themselves isn’t hosting.

Doing more through people

My old boss’s question has a simple answer: no. Nobody outperforms 50 devs, let alone 500. On the tools, what I can build is limited by my own hours. As a lead, it’s limited by how well the people around me can do their best work, and that’s a much bigger number.

These days I don’t even hand out the work. I delegate that too, and use gemba walks from lean (“go and see”) to check things are working the way they should. Delegating isn’t optional: if I take on a job myself, I can block several streams of work at once. Not because it’s good leadership on a poster, but because I’m the bottleneck if I don’t.

I’m still learning this. I learn a lot from people like David Fowler about doing more through others, and I don’t think I’ll ever be finished.

If you’re a new lead, try this: next time you reach for a ticket, ask what you’ll block while you’re holding it, and who you could hand it to instead.

← All posts