Introduction
This post will be short and sweet. I personally enjoyed The Pragmatic Programmer and would recomend to any software developer looking to improve how they work.
Lessons
- I don’t know the answer but I will find out
 - Project psychology - Don’t let broken windows go unrepaired - It will reinforce the patterns throughout the team and start the decline
 - Remember the big picture
 - Make quality a requirements issue
 - Invest regularly in knowledge portfolio. Technical books, Non tech / soft skills, communicating with people. Stay current, read blogs, learn 1 new programming language per year.
 - Use the reoccuring why’s to drill down into problems
 - Communicate via documentation, Embrace docs, Know what you want to say, Choose your moment, Make it look good, Involve audience, Get back to people, Keep code and docs together.
 - Emails are forever give them attention and care.
 - Check the pragmatic programmer site for extra resources.
 - Etc means easier to change. Use Etc principle to guide decisions.
 - Document decisions I choose to make this decision because x and y.
 - Make it easier to reuse.
 - We want orthogonal systems, eliminate effects between unrelated things.
 - Assess orthogonality during bugs and determine how localized the issue is.
 - Prototype to learn.
 - Decoupling is good Single responsibility principle.