
The Consequences of Your Code - rubinelli
https://www.youtube.com/watch?v=LZM9YdO_QKk
======
ken
I'm no longer convinced there's any meaningful difference between incompetence
and malice.

By now every programmer on the internet knows their systems can have
widespread consequences, and that users won't hit the happy path on the first
try, and that systems will live far longer than planned, and so on.

The only place where this has a meaningful distinction is amateurism. You can
only claim you didn't know any better if you weren't expected to. A
professional carpenter doesn't get to say "Oops, I didn't think someone would
lean on _that_ wall." Sorry your building collapsed, but at least I didn't do
it maliciously? Professionals don't take mulligans.

~~~
ken
Corollary 1: This also applies if you build a system which is 'technically
correct' but so complex nobody could be expected to understand it.

Corollary 2: This also applies if you build a system which lacks proper
documentation. It's functionally equivalent to a system which is so complex
nobody can understand it.

