Reliability is a matter of quality. Quality is a matter of doing fewer things well. I've struggled with reliability as an individual paradoxically as I implement systems for my customers that need to be reliable. I have been wondering where this lack of reliability comes from, and I decided it is three things:
- Doing too many things
- Doing too many unrelated things
- Context switching
Over the last couple of years, I have been doing too many things. While great as a way to enlighten myself, this additional learning only covers the surface of what any task entails. The glacier is mostly below the surface. Like a glacier, a lot of the functions that any role has are below the surface.
I excel at coding. I have seen below the surface and have gone pretty far to the underbelly of the glacier. By doing things outside of coding, I burn out, chase stuff I have little expertise in and which are in my economic interest to outsource. Doing the things I am not qualified to do, I spread myself thin and set myself for failure leading to unreliability.
The final nail in the coffin for reliability is context switching. Most of us will ever be good at doing one thing well. We are not Elon Musk. But doing too many things and doing too many unrelated things leads to context switching. Context switching is a form of waste.
I am the character Siddhartha in the book by Herman Hesse. He left his father, who ferried people across the river, to find a life of excitement, only to come back and to realize fulfillment is in focus on quality and reliability.
What does this mean for me? My goal in 2021 is to become reliable. I will no longer focus on too many projects. I am a backend and DevOps engineer. That is where I will spend my time working on expanding and making better in the world. I will focus completely on that and not take on any commitments that don't fall within that scope.
At a personal level, I enjoy Drawing & Painting, Cooking, Writing, Jiujitsu, and Poker. I want to dive into each one, figuring out how to get better at each.
Sales, Backend and DevOps Coding, and Investing are what I want to do at a professional level. I will stop doing or not put much energy into activities outside of these. I will focus on these three things because I enjoy these three things and because it removes context switching. Working on something should push the whole forward, not pieces.
I had broken up things too discreetly. In microservices, there is a cost of communication between services. There is hopefully minimal communication bottlenecks in a monolith. But if your monolith is doing too much, it can still break. A monolith should do few things well.
Hopefully, by reducing the scope of the tasks I choose to pursue and increasing depth, I will improve reliability.
So to sum:
- Focus opsZero and have all business stuff be around Backend Engineering and DevOps.
- Focus on the few things I excel at.
- Be willing to say no to projects that don't fit 1 and 2.
- Build a routine and stick to it consistently.