Many years ago the instructor at an ITIL training course I attended started with the question "What is the only thing you can be sure of in IT?". In many ways their answer has become my working motto:

Things change and things break

Whatever you do; develop code, do testing/QA, OPS, Networking, IT management, a non-IT role, and even generally in 21st century life, try keeping this idea in mind!

  • Change will happen, often very quickly in IT, knowing this helps you manage and make the best of each situation. We all react in different ways, especially when something unexpected comes along: rejection, fear, evasion, ignorance, blind acceptance. If you can generally accept that things will change, you will be in a better place to rationally analyse what is happening, determine if and why it is necessary, clearly see the advantages and disadvantages. Then you can plan any actions you need to take. You may even realise that there is a better path to the desired outcome than the path originally presented, enabling you flip some of those down-sides in to positive outcomes.
  • Every program and every machine has a finite lifetime. Everything has dependencies. Accepting that at some point things will break leads to consideration of lifecycle. This helps you plan maintenance and updates, think about disaster recovery plans and create realistic budgets. Lifecycle awareness lets you procure or implement the next version, before you wake-up one morning and find the current system has irreparably died, and you are losing money or reputation by the second.

I've found that many service problems I encounter on a day to day basis can be traced back to not giving enough consideration to "things change and things break" ... This is just the tip of the iceberg, more later~