On decision making

In my day job, I'm what's called an "Engineering Manager" or an "Engineering Team Lead", that means that I lead teams of software engineers to help them build better products, write better code, build their careers and make better decisions. Because of my role, I have the privilege to make a number of decisions every day. They range from what features we'll work on, how we'll approach the work, whether code is introduced into our applications, what technology to use and so on.

Something that I continue to realise whilst working in this role is that decision making is hard, it's much easier to sit on the fence and not do anything. In fact, I think the latter is more akin to my nature. I remember when learning to drive my driving instructor said to me that it was like every decision I had to make about a specific manoeuvre or turn was being decided by a committee - "just decide!". However, I've got better at this. One of the ways I've improved is by focusing on the current context that the decision is being made in and then disassociating the result with the decision, as Seth Godin says:

A good decision can lead to a bad result

And that is perfectly fine.

The decision that you make may well be correct for the circumstances you're in but later on, might not lead to the result that you really wanted - a good result. I can think of several decisions that I've made - especially technical ones for applications I work in - that fit this perfectly.

Recently I've been wrestling with myself on a specific technical decision - whether we should continue using a particular technology or not at work. For each pro there was a con - I was on the fence. Concerned whether the use of the technology would yield the result that we wanted in ~12 months, I was focusing on the wrong thing. I had to decide whether this was the right decision in the context we're in now. In my case, I asked myself a few more questions:

  • does this technology add value to our customers right now?
  • does this technology speed up or slow down our teams right now?
  • if we weren't to use it, what else could we focus on? Where else could we provide value?

In the end, after toiling away, coming up with my decision and then a quick discussion with my peers we've opted to not use that technology. It's definitely the right decision, but we'll soon see if it gives us a good result.

Decision making is hard, but we can make making those decisions more comfortable by:

  • taking a step back and looking at the context we're in to help understand whether this is the right decision
  • looking beyond just you or your team even if it's a technical decision - is this decision right for our customers as well?
  • remembering that a good decision can yield a bad result and that's fine