Programmers are liars. I was. You were. Maybe you still are. Sometimes I still am.
Here are a few gems I’ve heard…
1. “Yeah, I tested it.”
2. “It worked on my machine.”
3. “It was too simple for a code review.”
4. “Everything is fine.”
The last one is what I wrote about yesterday. How Tim quit for Ebay, even though everything was “fine.”
While I agree that Ebay would be a much cooler place to work than my little company, let’s go back to the beginning. At some point, Tim must have thought to himself “I should look for a better job.” That’s the point when Tim put his “shields down” (as Michael Lopp puts it so well.)
The point when he decided something wasn’t right. There’s a bit more to this decision as well. The decision that the current situation wasn’t fixable. That I wasn’t going to change. That it was easier to move on than to talk to me.
So, as I told you yesterday, I was blindsided.
From my perspective, it wasn’t fair. I wasn’t offered feedback that I could use to improve. I didn’t have a chance to make things right.
From Tim’s perspective, I hadn’t made it safe to approach me with the problem. Through my actions, I’d shown him that I wasn’t concerned with being a great boss, just with being THE boss.
And so I lost him, a great developer and my $180k investment walked out the door.
If I had to do it over again
In hindsight, I wish I’d been more humble about getting feedback on my work. I wish I’d asked more than just “How’s it going?” or “How am I doing?” I wish I’d explained WHY I wanted this feedback, and that I understood it was hard to give. I wish I’d created a culture of honesty about feedback, instead of the uncomfortableness that existed around it.
In short, I wish I’d had a chance to be a great boss for Tim. He deserved it.
But I can’t blame Tim; I must take all the blame for being blindsided.