What is a Specialist's Skill Set?
My son
Thomas had his tonsils and adenoids out today. Huge thanks to his Surgeon, Dr. Chiodo, and the pediatric staff at Toronto Eastern General Hospital. He’s recovering pretty much as can be expected, thank you very much for asking.
One thing I noticed about the process. It all started with a referral from a General Practitioner, in this case our Family Physician Dr. Kohut. She analyzed the situation and determined that an opinion from a specialist was appropriate. This being socialized medicine, you couldn’t pull out our wallet and go straight to the specialist, we had to have our GP do a little qualifying first.
But the interesting thing is what happened next. We went to see Dr. Chiodo, he examined Thomas, and after discussing our options and the risks associated with the procedure with us, he booked Thomas for surgery.
Then today, Dr. Chiodo removed his tonsils and adenoids. This is standard procedure, and I want to mention it to compare it to programming, of course. You notice that although Dr. Chiodo is a very busy specialist, he does his own diagnoses. There is no division of labour where one doctor determines that the tonsils need to come out and the first time the surgeon sees the patient is when the anesthetist signals it’s ok to proceed.
The person performing the procedure is the most qualified to diagnose the patient and also—mark my words carefully—the person who discusses the options and risks with the patient. This is sometimes the case in programming and sometimes not.
Right now, I don’t feel like talking about what kinds of organizations divide things up so that one person sells the service to the client, another writes down the requirements, a third person estimates when it will be done and manages the process, a fourth person turns the requirements into a design and a specification, and finally the hapless programmer, the “specialist,” performs the procedure without any meaningful influence over the diagnosis or the decision-making process. Let’s skip that rant.
Let’s also skip a rant about how many programmers have the skills to diagnose the patient, by which I mean, the business acumen to discuss what a client actually needs to accomplish in business terms. Let’s not argue about how many programmers have the communication skills to present the options to a client in such a way as to guide a client to making a smart decision while still ensuring that the programmer’s business profits. (This is relevant even when programmer and client are employed by the same organization).
Let’s talk about
you. Do you have the specialist’s skill set? Can you diagnose, inform, and operate?
If not, why not?