Chapter 56. Make the Invisible More Visible
MANY ASPECTS OF INVISIBILITY are rightly lauded as software principles to uphold. Our terminology is rich in invisibility metaphorsâmechanism transparency and information hiding, to name but two. Software and the process of developing it can be, to paraphrase Douglas Adams, mostly invisible:
Source code has no innate presence, no innate behavior, and doesnât obey the laws of physics. Itâs visible when you load it into an editor, but close the editor and itâs gone. Think about it too long and, like the tree falling down with no one to hear it, you start to wonder if it exists at all.
A running application has presence and behavior, but reveals nothing of the source code it was built from. Googleâs home page is pleasingly minimal; the goings on behind it are surely substantial.
If youâre 90% done and endlessly stuck trying to debug your way through the last 10%, then youâre not 90% done, are you? Fixing bugs is not making progress. You arenât paid to debug. Debugging is waste. Itâs good to make waste more visible so you can see it for what it is and start thinking about trying not to create it in the first place.
If your project is apparently on track, and one week later itâs six months late, you have problemsâthe biggest of which is probably not that itâs six months late, but the invisibility force fields powerful ...
Get 97 Things Every Programmer Should Know now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.