Reading on through the remaining six dogmatic tenets, there was a gradual shift in his tenets, moving from those ideas that all developers can incorporate into their practice, to ideas more specific to developers in a UNIX environment. Which, I suppose, is somewhat needed, otherwise the book would be called "The General Development for any Environment Philosophy." So as I have yet to actually develop in the UNIX environment, I cannot say "yes you right, that is what you should do." Instead I see it more of a jump-start to programming in UNIX. I have always wondered how different my earliest programs would be (as far as structure, portability, etc.) if I had written them knowing everything I know now. It was very much a "learn as you go" process and therefore I likely spent more time coding and troubleshooting than I should have. But for me and other developers who have yet to work in a UNIX environment, we can read this book first and have more of a "learn, and then go" approach to programming in UNIX.
Tenet 4 (choose portability over efficiency) and tenet 6 (use software leverage to your advantage) not only took me back 20 years with talk of the Atari, but made me realize I will soon begin to need to change the way I program. Right now, the programs I develop basically have one task in mind, complete them to the specifications of my professor's liking, efficiently. Tenet 6 says "good programmers write good code, great programmers 'borrow' good code." Due to the UAB's plagiarism rules I may have to hold off on the borrowing aspect of this philosophy. But the portability issue I definitely need to work on. I already have examples this semester where if my code were more portable, I could just port them to other similar programs I am working on. Guess that's what happens when you learn as you go.
The remaining tenets (5, 7-9) focused much more on the UNIX aspect of development. In general I learned more from them than the other previous tenets, mainly because I have never really needed to incorporate those ideas into anything I have done. I hope that when I due begin to program in UNIX I can take the concepts that I got from those ideas, such as shell scripting to increase leverage/portability and make every program act as a filter, and incorporate them into my development. I will then know if the "learn, and then go" philosophy is a better approach, and one I should incorporate in all new aspects of software engineering I have yet to encounter.

