Other than a very interesting read for any avid programmer, I find that the books are an excellent Litmus Test for one’s inner nature. Programmers with a vision of product generally prefer Founders, while those who posses unique talent for hacking and architecture tend to prefer Coders. For me, as some of you may guess, Founders at Work has been a much more enjoyable read. I find a founder’s view to be so much richer than an experienced programmer’s, even when aforementioned founder was serving as CTO.
Both books are heavy on the technical side, however Founders tackles the software challenge from a very down-to-earth approach that considers market limitations, financial challenges and other “foreign” considerations, whilst Coders draws more attention to programming styles, best practices and so forth.
One interviewee in Founders I was particularly impressed with was done with Dan Bricklin, co-founder of VisiCalc – the first spreadsheet. Bricklin outlines their efforts at producing a spreadsheet for the Apple II computer. The whole memory of that machine was 64KB – OS included. Yet, into this crammed space they managed to deliver a program that stunned the world by it’s usefulness and usability. Bricklin emphasizes the effort put into usability, and the tricks they had to pull in order to get it to fit into memory. I have tremendous appreciation for old-timer programmers.
Nowadays, in a bloated Java runtime with a full windowing environment, it is hard to grasp the effort that had to be put into each tiny program back in the 70′s. If you want a taste of it, just try working with ed for a week (although real programmers use butterflies, of course). Now imagine you have to do everything in assembly. Some of you might be familiar with the demo-scene, which is truly mind-boggling. Sometimes it might seem as if these days are over. In the tradeoff between speed of execution and speed of development, Moore’s Law has tipped the scales in favor of rapid development. Very rarely do application programmers think of low-level performance. Even on mobile platforms such as iOS and Android a high-level abstraction level prevents developers from performing their assembler black magic.