Sunday, April 29, 2012

What makes a pragmatic programmer

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.