There is a pleasant dream where the world is black and white, problems are discreet, and solutions are straightforward. People that live in this dream are an obstacle unto themselves. The harsh reality is that we struggle daily to simplify things because they tend to be so complex. Most choices lead to outcomes that have both positive and negative aspects. This includes the choice of inaction (wrongfully referred to as "not choosing"). When presented with options, by and large people tend to make decent choices. The conundrum is identifying good options when none are presented. This skill, in many people, just plain sucks.
There is an old proverb: "Give a man a fish and you have fed him for today. Teach a man to fish and you have fed him for a lifetime." Perhaps I am oversimplifying fishing, but I struggle to adapt this proverb to systems operations. Perhaps it is due to the intangible nature of computing, but the one-step-closer proverb fits better (at least in my twisted brain): "Fix a man's car, and he can drive to the repair shop. Teach man to fix his car and he can go where he pleases." Why is this better? Perhaps it is just how my mind works. Perhaps it is because of the way symptoms present:
Dave: my car has issues.
Carl: what's wrong with it?
Dave: not sure.
Carl: why do you think it has issues?
Dave: It seems sluggish when pulling onto the interstate.
Carl: so it accelerates inadequately?
Dave: I guess.
Carl: What kind of car do you have again?
Dave: a brown one.
Carl: Uh, I mean make and model.
Dave: a Ronda Jackel.
Carl: is that carbureted or fuel injected?
Dave: um... um... it's got carbs.
Carl: really? what year?
Dave: oh, 2007.
Carl: okay, it's fuel injected.
Dave: oh, yeah.. That's right.. it's the Jackel GT, with the sports pack.
Carl: That has low-profile tires; are they properly inflated?
Dave: I think so, they look good.
Carl: when was the last time you checked?
Dave: last week, when I filled up. It costs like $58 to fill up. Gas prices are crazy!
Carl: *thinks*
Carl: Wow, where did you find high-test gas at that price?
Dave: Oh, I put 87 octane in that... that expensive stuff is a sham...
Carl: really? who told you that?
Dave: Alan
Carl: Who's Alan?
Dave: This great guy who taught me to fish.
Most people simply have no idea how their systems operate. They just know they are supposed to "go." Now, the purpose of this rant is really not to complain about car owners and their lack of knowledge (I'm one of them!), but rather to ask a wider audience about techniques to make the Carl's of the world better at their jobs.
Computing systems, like cars, can be immensely complex systems. When things go wrong, as they so often do, I feel you need someone who knows every single part. Not only should they know the part, they should know who built the part, why they built the part, when it was introduced into the system, what component it obsoleted, and what general advantages (and disadvantages) the newer part has over the older part. In car-speak, you should know who invented fuel-injection and when the industry transitioned, what advantages (and disadvantages) FI has over carburetor-based design. That should extend to every other part of the car down to the rubber on the tires and the stitching method used on the seat upholstery.
Note that I said "I feel you need someone..." I know a few people that can walk into a room with systems engineers and (knowing nothing about systems operations) assess a situation, ask a handful of high-level questions that results in at least two engineers slamming their heads into their desks. I call these people "Critical Thinkers." Critical Thinkers have the ability to critically think (surprise surprise), as well as understand other people's thought processes and deduce where they did not think critically.
Critical Thinkers are hard to come by, but they are out there. People with experience in computer science and operations are a little less hard to come by. It would make sense to take a Critical Thinker and teach them systems. However, to be really good at operations work, it takes years (probably five to ten). What is more challenging is finding a good Critical Thinker that actually wants to work in systems operations. What I constantly strive to do is mold people with solid technical skills and knowledge into critical thinkers. This brings us to the heart of this post.
I can hardly articulate my method of teaching critical thinking skills. Much of it is teach-by-example, but that has serious shortcomings in critical thinking scenarios. I could really use some breadth in my teaching/mentoring techniques. Does anyone have any good training materials that could be used to develop critical thinking skills? How do you cultivate and improve intuition?
Wednesday, November 5. 2008 at 03:26 (Reply)
> How do you cultivate and improve intuition?
I guess there are books on the subject. This is what school does/should do to some extent, teach you subjects and how to use that information in your thinking process.
Asking questions and leaving room for people to develop seem like sensible things to do as well (and I'm not saying you don't do that :)
Wednesday, November 5. 2008 at 11:08 (Link) (Reply)
I'm also interested in what you find in ways of teaching this sort of thing.
Just like an older mechanic that can diagnose engine problems by simply listening to it run, great systems people are those who can drill down instantly into what's going on, or have an innate sense as to what will go wrong next.
Running firedrills, I find, can be helpful, but doesn't really get people in the frame of mind for everyday practice. Maybe we need a Parris Island for ops. :)
Wednesday, November 5. 2008 at 16:59 (Link) (Reply)
A very cursory google search lead to this page, which has several lessons of unknown quality, since I didn't walk through any of them all the way: http://philosophy.hku.hk/think/
I think the root of critical thinking is being to identify what is, and what is not, applicable to the problem at hand. Hence, critical thinking, as you noted, requires a lot of knowledge as well. You need a deep and accurate mental model of the system in play before you can think about it critically.
Once you have that fleshed out model, you need to be able to develop a tree of possible causes from the problem symptoms, then traverse the tree looking for an option that fits the scenario, and build a more edges when you hit a leaf node.
That's my graph theory model of critical thinking ;)
Saturday, August 29. 2009 at 02:04 (Link) (Reply)
This is what school does/should do to some extent, teach you subjects and how to use that information in your thinking process.