Principles of engineering excellence

For the past 12 years of creating software for money, I started to sense the presence of generic principles of engineering excellence. This sense includes not only code decisions but also concepts around software development: collaboration, management, product evolvement and others. Violating these rules feels like "bad smells" mentioned in [["Refactoring" by Martin Fowler]] but more generically.

I plan to update this note from time to time because the "sense" mentioned above is blurry, and so is the interpretation.

Core principles #

Why #

How #

Trade-offs #

Engineering excellence is not an ultimate goal (see "Why"). These aspects of product development should be taken into consideration each time before investing time in engineering excellence:

#software engineering


Since you've made it this far, sharing this article on your favorite social media network would be highly appreciated 💖! For feedback, please ping me on Twitter.