Pragmatic Programmer

Date Read:April 17, 2005

this is my go to reference book for any software engineering work/life problem. it contains a lot of wisdom gathered from the tranches of multiple software projects

Some tips/phrases I remember the most:

  • Mob programming: when more than two programmers work in the same code, same time.
  • Take responsibility, provide options , Don’t make lame excuses
  • Stone soup and boiled frogs
  • Invest regularly in your knowledge portfolio
  • Good design is easier to change than bad design
  • Orthogonality: in geometry two lines are orthogonal if they meet at right angles. In vector terms the two lines are independent. Unfortunately in Computing science this term is thought indirectly, decoupling or independent
  • Code That Glows in the Dark: tracer bullets projects
  • Keep Knowledge in Plain Text
  • Tip 32 Read the damn Error Message
  • Dead programs tell no lies. Crash early, do not try to catch every exception
  • Inheritance is Rarely The Answer it produces coupling, here some alternatives
    • Interfaces and protocols
    • Delegation
    • Mixing and traits
  • Tip 62 Don’t program by coincidence. You should program deliberately:
    • Always be aware of what you are doing
    • Can you explain the code, in detail, to a more junior programmer? if not, perhaps you are relying on coincidences.
    • Do not code in the dark. Always know what tech or app you are using/building
    • Proceed from a plan, whatever that plan is in your head or napkin or a document.
    • Rely only on reliable things, if you can’t tell if something is reliable, assume the worst.
    • Document your assumptions.
    • Don’t just test your code, but test you assumptions as well.
    • Prioritize your effort
    • Don’t be slave to history

Do you want to know something?→Click!