Stop building shitty systems

March 24, 2022
#thinking 

In late 2019, I had dinner with two good friends in a dimly lit London bar. The type of bar where plans to rob casinos are forged.

We were discussing an opportunity to do some consulting work together. One friend asked, “Sometimes when consulting, you don’t know the next job you’ll have to take. Are you willing to take a project and do whatever is needed to complete it?”

“No”, I answered. I’m no mercenary. Would anyone give a shit about The Batman if he fought for payment? Nobody cares about Justice as a Service (JaaS). Besides there’s already movie for that, John Wick. And even then the plot is really about not being a mercenary. Mercenaries don’t have character.

In 2021 I tried to be a mercenary, just to test it out. I started a consultancy firm but mainly did work for a single client. 0 marketing. That felt natural. I’m still not a mercenary.

What can you build? vs What should you build?

can build vs should build

Most interviews steer the conversation towards what you can do for them not what you should do for them. They wouldn’t dare entertain doubts over their existence whilst trying to hire.

For any creative, exploring what you can do is a massively expansive adventure. Software engineering is creative - I don’t care who says otherwise.

Along this adventure, you learn 3 fundamental things - especially if you take this adventure on by yourself.

  1. How to do research
  2. Coping with being a noob
  3. How to show up again tomorrow

This isn’t a conscious syllabus. I’d say about 3 years of side/main projects should be enough. It might take longer or shorter depending on what else you are dealing with in your life. If it takes longer so what, enjoy it.

These 3 things are important because together they fortify the idea that you can build anything. Which you can. Now you have a framework for actually being able to carry it out.

At this point life looks different. You aren’t afraid to pick up something new, you aren’t overwhelmed by the fact that you know nothing, and you have confidence you can manifest reality around you. True power.

Today, I look at job postings on linkedIn and I feel nothing. That’s because a tech stack list, some obscure set of responsibilities and a salary contribute a grand total of 0 to the leading question - “should I build this?”.

How do I answer this question? Meaningful relationships and meaningful work is Dalio’s answer. I like it but it’s vague.

Meaningful relationships are easier to judge than meaningful work because the feedback loop for relationships are short. Every conversations builds or breaks the meaningfulness of the relationship between two people. Does every push to github build or break the meaningfulness of work? Hmm.

So, the search for a good way to judge meaningful work continues. Ran Prieur wrote an article on judging technology. It’s important. I’ve run out of time now but in the next post I’ll adapt some of the criteria for the context of deciding what to work on. If nothing else, it’s advice to myself on how to stop building shitty systems.