Here are some of my notes of the book
What makes a pragmatic programmer
- Early adopter/fast adapter
- Inquisitive, tend to ask questions
- Critical thinker
- Realistic, try to understand the underlying nature of each problem you face
- Jack of all trades, familiar with a broad range of technologies
Care about your craft.
Think! About your work.
Always trying to place it in its larger context, always trying to be aware of the bigger picture.
The cat ate my source code
Take responsibility for everything they do.
We can be proud of our abilities, but we must be honest about our shortcomings.
Provide options, don't make lame excuses.
Don't be afraid to ask, or to admit that you need help.
Software entropy
Don't leave "broken windows" (bad designs, wrong decisions, or poor code) unrepaired.
Take some action to prevent further damage and to show you're on top of the situation.
Stone soup and boiled frogs
Be a catalyst for change
Good enough software
If you give your users something to play with early, their feedback will often lead you to a better eventual solution.
Your knowledge portfolio
Invest regularly in your knowledge portfolio
It's important to continue investing. Once you feel comfortable with some new language or bit of technology, move on. Learn another one.
The process of learning will expand your thinking, opening you to new possibilities and new ways of doing things.
Critically analyze what you read and hear.