Writing smart contracts in Ethereum is like aerospace engineering

Smart contract code is unforgiving. Every bug can lead to monetary loss. You should not treat smart contract programming the same way as general-purpose programming.

Writing DApps in Solidity is not like creating a web widget in JavaScript. Rather, you should apply rigorous engineering and software development methodologies, as you would in aerospace engineering or any similarly unforgiving discipline.

Once you “launch” your code, there’s little you can do to fix any problems.

This is one of the many passages and charts I find in books and articles on a daily basis. They span many disciplines, including:

I occasionally add a personal note to them.

The whole collection is available here.