Pragmatic Programmer Notes #1

I finally got the chance to start reading The Pragmatic Programmer, 20th Anniversary Edition by David Thomas and Andrew Hunt. These are my initial notes from this first reading.

These are my rough notes and are intended for me to reflect on what I read. I capture the key points that I feel are important to pay attention to.

Attitude and Style

  • Think beyond the immediate problem.
  • Place it in a larger context.
  • Seek the bigger picture.

Team Trust

  • The team needs to trust me.

Own It

  • Look for risks beyond my control.
  • Have contingency plans for risks.
  • Know my options such as: prototyping, testing, automation, and learning.

Software Entropy

  • Fix ‘broken windows’ quickly.
  • Document issues as soon as they are known.
  • Don’t do additional harm while fixing additional issues.

Handling Change

  • Be a catalyst for change.
  • Make reasonable asks.
  • Avoid a narrow focus.
  • Know the big picture.
  • Use situational awareness.

Software Quality

  • Write ‘good enough’ software.
  • Meet user and system requirements.
  • Let users participate.
  • Consider modularization or microservices.

Keep Skills Fresh

  • Learn a new language annually.
  • Read a technical book monthly.
  • Take classes.
  • Participate in user groups.
  • Try coding in different environments.
  • Read current news and events.