Back to all posts
Tech 04 September 2019 · 3 min read

The two hardest things

The frustration of being stuck on a problem

It’s not about you. It’s about the customer waiting on the other side.

There’s a quote that gets passed around in developer circles:

“The two hardest things in computer science are cache invalidation and naming things.”

I used to think that was funny. Then I had a day where both of them broke me.

The problem

I was trying to get a JS template to load via a Magento header and footer on to a WordPress site. On paper it was straightforward. In practice, nothing was showing up.

Hours in, I finally worked out what was wrong. I wasn’t running both environments locally; I’d been testing against staging the whole time. The fix itself wasn’t the hard part. Finding it was. And by the time I did, I’d already spent far too long going in circles.

The harder thing

Here’s what I didn’t want to admit: I needed help earlier than I asked for it.

There’s something about being stuck on a problem as a developer that hits your pride in a specific way. You feel like you should be able to figure it out. Asking someone feels like admitting you couldn’t. So you keep at it. You try one more thing. Then another.

I stayed stuck longer than I needed to because I didn’t want to be the person who had to ask.

When I finally did ask, the answer came quickly. Of course it did. And I felt that particular mix of relief and annoyance that only comes from solving something you should have solved sooner.

The reframe

What shifted it for me was remembering who was actually affected.

It wasn’t about my pride. It wasn’t about how it looked to ask for help. There was a customer and a user on the other side of that problem, waiting for something to work. Every hour I spent protecting my ego was an hour they were waiting.

When you make it about the customer instead of yourself, asking for help stops feeling like a failure. It starts feeling like the right call.

That’s a mindset I’ve carried into leadership too. The goal is the outcome, not the performance. Get the right people involved. Get it solved. Move on.

On naming things and cache

The quote is still funny. But I’d add a third hard thing now: knowing when to stop going it alone.

That one takes longer to learn.