Gosha The Engineer (ep 9)

Alexey Surkov
2 min readNov 23, 2020

Imperfection

Gosha once read a smart book, most of which he immediately forgot. One thought from the book stuck in his mind though. The thought sounded roughly like this: one quality of a mature mind is the ability to be comfortable with imperfection.

In software engineering, there seemed to be two ways of dealing with imperfections: one could fight them or one could accept them.

For some period of time earlier in this career Gosha was convinced that only the former was justified, and the latter meant releasing a low quality product that is good for nothing.

He later learned that it didn’t have to be this way. Being comfortable with imperfection simply meant accepting the reality of software development: each product has bugs and is missing important features. In the future (although only if the product is successful), there will be even more bugs and even more missing important features in it, simply because its complexity, its scope and its team will all grow significantly, but the human nature won’t change.

The key to the success therefore wasn’t in fighting all imperfections, but rather making sure that imperfections were under control. It was about the assumption that engineers are imperfect and make bugs and sometimes write low quality code, for various reasons. That even the best and most widely used dependencies and building blocks have their own flaws. That the processes are imperfect and significant changes will be rushed in at the last minute before the release date. That there won’t be enough time for thorough quality assurance and manual testing.

What did it mean to get comfortable with imperfections?

It meant writing code as if your code is going to be the only sane piece of functionality in an otherwise totally insane environment.

It meant heavily investing into automated testing.

It meant compassion and understanding towards coworkers and towards yourself.

Also it meant enjoying your work regardless how crazy it could get.

--

--