Friday, June 5, 2009

Frivolous Friday, 06.05.2009: Murphy's Law for Programmers

Just a small sample of the law's sub-clauses:
  1. If your boss bought the office a book about it, it's already obsolete.
  2. The backup tape you need the most is the one that's corrupted.
  3. Hard drive crashes will occur immediately before a major source commit rather than immediately afterward.
  4. The "WTF" code you just ranted about in front of your teammates will always turn out to be your own.
  5. Bugs resulting from weekend rollouts lie dormant until Monday morning.
  6. Any user granted the power to screw up data will.
  7. Your duct-taped-together proof-of-concept demo. will be in production faster than you can say "Screenshot for a Marketing Power Point slide."
  8. ... and you won't be informed until it corrupts the second client's production data with values you hard-coded for the first client.
  9. There is a strong relationship between a salesperson's technical ignorance and her/his pretensions to software design.
  10. Impending release dates are merely evolution's way of culling robust and forward-thinking features from the weak and sickly herd.
  11. You say, "It looks like we'll make the target date." The Powers That Be hear: "We have time to add features."
  12. No feature/fix should ever take very long...so far as the person delegating it is concerned.
  13. Documenting code is not the same thing as writing code, and thus must be considered a drag on your productivity.
  14. There is a direct correlation between the importance of an infrastructure/design/security/etc. decision and the amount of effort put into avoiding it.
  15. Ultimately, these decisions will be made by the person or committee that possesses the least relevant information.
  16. Management's favorite method for introducing new technologies is to hire someone who knows bupkis about your legacy infrastructure, but is beady-eyed and slavering over the latest programming fad.
  17. The most promising result for your esoteric Google search was copyrighted five years ago, or links to Experts-Exchange.
  18. The people responsible for your code's dependencies will always be too busy working on something else to fix the bugs you found.
  19. The "cowboy" programmer with no consistency in style is actually "sourcing" code from the internet. This person will invariably be hailed as a miracle-working "genius."
  20. The Richter-scale-registering sneeze will only come when your finger is on the F5 key. And you're logged into the production database.