Thanks for your appreciation guys. I've written programming books so writing a story would be easy I thought. Creative writing is similar to programing I told myself. Writing has grammar, software has syntax; writers plot their stories, we engineers create architecture diagrams. But there are important differences as I found out. We engineers are proud of our knowledge software patterns but writers snub their nose at word-patterns, calling them clichés. Why, George Orwell's essay "Politics and the English Language" shook my belief system to the very core! The pinnacle of our skill set is our ability to abstract objects, and the highest animal in our food chain, the software architect is paid big bucks because he can make "John" a "Man". Our abstract objects are like the Platonic archetypes: if there is John, then there is an archetypal form of John called "Man" up there in the sky. But writers snub their noses at abstractions. We want to know about John, not "Man" they say; show & tell, they say; be concrete and not abstract, they say.
These writers, these omnipotent, omnipresent gods, are in the minds of all their characters at the same time. Natural laws do not bind them: John can slip from the past to the present tense whenever he likes; but for an engineer if a font is out of place, or if he uses a hex code not specified in the style guide, the wrath of the QA department is upon him. We are the ants, the workers, the technicians forever bound to technical specs, UX and style guides. Writers have the magical "voice," which their characters echo. The closest we poor engineers can get to articulating a "voice" is through a spirited /debug comment/ which is an inadequate substitute because, mindful of the peer review, we dare not be too spirited in our comments.