If you you ask the experts how to write ‘good’ software, they will likely emphasize precision and predictability. They may recommend great tools like functional programming, immutability, testing, and type systems - all of which aim to make software more reliable. But software must interact with the real world to be useful, and the real world always presents scenarios software does not account for. You can’t write good software by trying to architect unpredictability out of your program. To write good working software, you must build systems that work well even though they are unpredictable and incomplete. Your code has to describe and solve a real world problem without accounting for all details of the problem. Good software tells a narrative, but like all narratives leaves things out. Maybe good programmers are really just good story tellers.
AWESOME LIVEBLOG CONTENT HERE!