Archive for November 15th, 2010
I wonder sometimes if road trips will become a thing of the past. For my wife and me, they’ve certainly dropped a bit on the list of things to do, but that may simply be a product of schedules, interests and rising gas prices. We used to drive multiple many miles just to see things, turn around and drive back. In California, 13-14 years ago, we decided one day to take our kids to see the sequoias, so we drove 400 miles, saw them, said, “Cool.”, and drove back. In the same day. Now, a custom van makes it a comfortable option, but we take fewer of those trips.
Nertz is a card game that is best described as group solitaire on speed. There are different sets of rules, but we play a “Navy” way taught to us in the 1990s and almost always play in teams of two. We have since evangelized it across the continent and halfway across the world, and my wife taught it to many of her Korean students during our seven years there. After teaching the game to very good friends also stationed in Korea, we would often answer the door at 10:30 on a Friday night to Barb, pitcher of margaritas in hand, saying “Rick’s taking out his contacts and grabbing a bottle of wine….you guys up for some Nertz?”
Road trips and Nertz converged this past weekend as we decided to drive from Dallas (actually Rowlett), Texas to Memphis (actually Atoka/Millington), Tennessee to see Rick and Barb, our friends from Korea; a weekend which we thoroughly enjoyed and did manage to squeeze in several hours of Nertz playing. We left at 5:00 pm on Thursday with me driving the one way 7.5 hours (without stops) of 440 miles in a different (but now 11 year old) custom van, accompanied by my wife, two younger sons and the ADD-wired brain that has been my companion for near 50 years.
I sometimes wonder what it is like to be “normal”.
[More . . .]
I recently read (yet another) column in the journal Communications of the Association of Computing Machinery about deficiencies in programmer education, that reminded me of a recent paint job for which I’d recently paid “professionals”. The connecting point is a certain lack of meticulousness, precision, and professionalism that we now seem to accept in most professions. This lack goes back to how crafts people are trained.
In software, as in many crafts on which our daily lives now depend, the problem is that beginners are quickly taught the rudimentary skills, and then exhorted to creatively solve problems as presented. If a program appears to give the correct result for expected input, then it gets an “A” grade. Similarly, if a paint job looks to be the right color at completion, then it also is judged superlative.
However, what if the input is different than expected? What will the paint look like after a few seasons? What will happen when someone tries to add on to the current code/coat? That is where the basic training process fails. Code written to accept “2 + 2″ and return “4″ might take “7 + 3″ and possibly return “10″ or “4″ or “21″ (fellow geeks will see how). What happens when (not if) the input is “G + #”? Likewise, a perfect paint job over a dirty surface won’t last a season. If it does last that long, then it may peel when the next coat of paint over it dries.
What is missing is a basic principle of craftsmanship: Depth of knowledge. The best painter on my recent job had decades of experience. But all he really knew was how to lay color on a clean surface, and basic prep work. He didn’t understand enough about architecture to know what did or did not require caulk (he sealed sashes to frames, and left gaps between frames and siding). He didn’t know that many surfaces should not have been painted with latex, like hinges and sash runners. He didn’t know the implications to longevity of using a brush versus a roller.
I would have thought that he might have learned these things in his first couple of jobs, or years, or decades of practice. But one aspect is overlooked in training these crafts-folk: Temperament. Certain people have the curiosity and meticulous dedication to understand every aspect of a task, while others (the majority) just do as they are told, at best. But in America, everyone is created equal. One cannot discriminate.
Back in the bad old days of exclusionary guilds, only those who showed the necessary aptitude were accepted to apprentice. Only those who proved themselves adept moved on to journeymen, and eventually mastery. One therefore knew that any carpenter could make solid chairs, and a random tinker could permanently fix a leak. Now, anyone who can pony up the price of the tools, the schools, or union dues can call himself a programmer or a painter or what have you, and hang out a shingle.
I freely admit that I am a self-taught programmer, and painter, and carpenter, and plumber, and electrician, and so on. But I’ve got the borderline OCD tendencies to read the full manuals (Kernighan & Ritchie, NEC, whatever) and I like to play with things to find out their limits. Part of my self-education is also to find and work with or study from someone who got good results, to see how it is done.
The point is, a true craftsman has the temperament to know what he is doing, plus several levels of abstraction on either side. A painter should know what pigments actually are, beyond the color they produce. That way he can choose paint either that is safer around kids, or better at preserving wood (generally complementary characteristics). A painter should know how different binders work, to choose a paint that is better for metal, or vinyl, or wood. But to my chagrin, given the universe of things that I think every painter should know, few that I’ve hired even knew the questions for, or even that there was an issue to wonder about (2nd or 3rd orders of ignorance).
And this is part of why our civilization is coming apart.
Note: Earlier posts here on similar themes: Incompetence as the Basis of Civilization and Incompetent people don’t realize that they are incompetent.