As a software engineer I get really excited when a language feature or pattern allows me to eliminate whole classes of error.

A concrete example is that Go’s strict type system means I never need to worry about checking whether the argument to my function is actually undefined. The fact that Elm’s variables are all immutable means I never ever need to wonder whether something has been changed unexpectedly.

These features usually take some work on my part in order to use them but it’s very rarely a bad investment of time. The payoff is that I have a massive cognitive load lifted from my mind. I no longer need to worry about any bug in that particular domain. That’s a benefit that I reap during every single moment that I think about code.

I realised today that operating as a solo founder gives the exact same effect. The entire class of “Co-founder problems” is just… not a thing.

There are absolutely no worries about whether one founder is contributing more time/energy/capital to the business. There are no discussions about how equity should be divided or who should have a controlling interest. That’s a cognitive load removed from me during every single moment I think about my company.

That’s rather a lot of moments.

There are costs to this clarity, certainly. I write types in function signatures in my Go code, I have to do all my sales calls for the business by myself. Two sides of the same coin.

Just as I’m happy about paying the cost to eliminate a class of errors in my code, though, I’m happy about making the same investment in my business.

— David Banham, Notbad Software