This recent blog post by Seth Godin reminded me a lot of my introduction to Effective Oracle by Design of a few years ago. What was true then is still so true today...
Here is an excerpt from my book that mirrors what he just wrote:
I will use yet another analogy to describe how this book will present information. Pretend for a moment that the developer is instead a medical doctor and the application is the patient. There are many types of MD’s:
- The emergency room (ER) doctor. They do “triage” – separating the hopeless from the ones that can be helped. Performing quick fixes to keep patients alive for as long as possible. They strive for short term band-aids to fix up the patient. They will take a patient with a heart attack induced by smoking, bad diet and no exercise and get them stabilized.
- The operating room (OR) doctor. They get the patient after the ER doctor has triaged them and patched them up. They strive for long term fixes to keep the patient not only alive but as fully functioning as possible. They perform the by-pass operation on that heart attack attempting to clear the arteries.
- The physical therapist (PT). They get the patient after the operating room doctor is finished and begin a long and painful (not to mention expensive) process of rehabilitation.
- The preventative medicine doctor. They strive to avoid the above three doctors at all costs. They counsel the patient to quit smoking, eat a healthy diet, and exercise – developing a phased plan to get them in shape. If they do their job right – with the exception of unfortunate accidents (like a car accident), the patient will never see the ER, OR or PT doctors.
Now, the world needs all types of doctors – accidents do happen after all. But one of the most important types of doctors is that last one, the preventative medicine doctor. The one that tries hard to avoid having their patient need the other three.
It is my belief (experience) that most people and books approach tuning using the mindset of the first three doctor types above. They are in support of the hero developer
; e.g. the ER or OR doctor. Perhaps that is partially due to my observation that pre-emptive good design and implementation is mostly a thankless exercise. These developers seem to get all of the fame as they snatch the patient from the grasp of death (save the system by doing something miraculous). They get called in at the last moment; work horribly hard for an extended period of time trying to keep the patient alive (and get paid handsomely as well). The physical therapists are the unlucky souls that get the system after the ER/OR doctor has patched it up. They are the ones responsible for keeping this system going.
I feel I am well equipped to speak from that perspective. I am in fact one of those “heroes”. I am called in to “lay hands on” systems and make them better. I could write that book, I’ve been told I should write that book – but I won’t.
What is missing is the comprehensive approach that includes the preventative medicine doctor training. There are some out there – my favorites being Guy Harrison’s developer book, as well as Jonathan Lewis’s DBA book. These books, including my own “Expert One on One Oracle” work to remove the need for the hero. Remember – firefighters are heroes when they do their job, we all just hope we
never need them personally!