Don't Repeat Yourself! Don't Repeat Yourself! Don't Repeat Yourself!
I have personally experienced the difficulty involved with modifying repetitive code, some being my own and some being left behind by previous programmers. It is horribly annoying, in any of its forms. But I must admit it is difficult to avoid if I am not taking the time to think about my code, rather than simply making it work.
On the topic of orthogonality - my lack of experience once led me to believe that different components of an application were inherently orthogonal. The UI is the UI, the database is the database, and so on. Until I worked with a system that was completely inaccessible when the database went down, because pages were rendered with html stored in a database table (correct me if I am wrong in assuming this is not orthogonal).
The last topic from this section I would like to discuss is estimating. Probably one of the simpler concepts in "A Pragmatic Approach", but includes a pro-tip I had never considered before that I will share with you all.
If you are giving your boss/customer a timeline on a project, choose your language based on the duration:
1-15 days, use the word days
3-6 weeks, use the word weeks
8-20 weeks, use the word months
20+ weeks, use something like "About x months"
Happy Coding all!