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.