« Kludge | Main | Unsurprising to Me »
January 4, 2007
Computer People
Working with enterprise IT systems is hard. Sometimes, it is very, very hard. There are a lot of reasons for this, but regardless of the reasons, the combination of difficulty and impact on the bottom line would lead the naïve to conclude that all IT people are uniformly quite bright. This is, sadly, not the case. Many IT people are quite bright, and some are truly exceptional, but this is hardly more of a universal attribute in enterprise IT work than it is in the general population.
IT is not unique in this; in engineering, for example, there are more than a few rocket scientists who are, actually, pretty average intellectually. But engineering generally is a mature field; it has evolved measures to deal with the need to design things that could kill a lot of people if events go awry, using people who are, well, just people. IT is immature, and still depends on above-average skills to get decent results without unaffordable costs. This is, perhaps, a key reason why 90% or more of large IT projects at large companies fail to be completed on time and on budget (over 30% fail to be completed at all!), and even then often lack more than half of their originally-intended feature set.
Since we don't have very much professional legacy of good practice, in comparison to older technical fields, IT managers, project managers and architects generally have to do a lot of muddling through. Frustration with this is, in fact, the core motivation behind the software engineering movement. Part of that muddling through is understanding the kind of people you have to deal with on a daily basis. In IT, there are essentially four types: bureaucrats, magicians, artists and engineers.
Bureaucrats are those people who are entirely or nearly entirely process oriented. To a bureaucrat, a schedule, list or budget is far more meaningful than whether or not the system they are developing or administering actually works. Bureaucrats love arbitrary dates, large numbers of technically-meaningless milestones, and the illusion of control. In fact, to a bureaucrat, controlled failure is more valuable than chaotic success. Bureaucrats typically do not last long as either administrators, technicians or developers; they quickly migrate into management, where they can do the most harm. The rest end up working in call centers, data center operations, deployment or technical audit (in all of which they excel).
Magicians don't actually understand what they are doing. They have some finite list of incantations, sufficient to grant success at taming certain demons. If you've ever come across a system administrator whose idea of fixing a broken system is to restore it from the OS up, going through each installation manual along the way and finishing with restoring the last good data backup, you've seen the magician in action. Pretty much everyone starts out as a magician, and all of us are magicians in some areas; what distinguishes the true magician is that he will always be a magician in a few areas, and utterly unknowing in all other areas. Coders who cannot understand the implications of what they are coding, system/network/database administrators with a one-hammer toolkit, and architects who are lost when a machine is set in front of them and they are actually expected to use it are common examples of the breed.
In comparison to the first two groups, the artist truly understands everything about what he is doing. To an artist, an enterprise system is a symphony, and he is the conductor (and plays all the instruments). If you cannot understand that his code is dependent on the byte order of an undocumented network device in Pittsburgh, it just shows that you don't know enough to speak on his level. If you are appalled when you determine that he spent a month rewriting a rarely-called but compatibility-critical standard system function in assembly and with a non-standard interface (for just that extra bit of performance, and besides, it was a total kludge), or that he is using print queues with a custom back end as a network messaging interface "for convenience", well, that just shows that you aren't worthy. These guys are gold, but I suggest you keep them in the back room, and filter all of their output through someone with more interest in non-geniuses being able to use the systems. Under no circumstances allow an artist to deal with end users, customers, or people whose opinion you value.
Probably even more rare than the artists are the engineers. I don't mean people with "engineer" in their title (often glorified coders or system administrators), but the ones who understand the need for discipline, reliability, repeatability, and solid design. Engineers are in love with six sigma, and actually understand the math involved as well as the pretty pictures that express the math; or alternately, can tell you why six sigma is all fine and good, but could be improved by.... Engineers are the ones who fix a problem once, and document everything. They are also the ones who do the vast majority of the useful work on a project. If you find yourself in possession of an engineer, make sure that they are involved in training and in hiring new people, and under no circumstance underpay them; you do not want them to end up working for your competition. (Actually, that goes for the artists, too; but you can put engineers in charge, while artists will alienate all of your other employees if they are in charge.)
In the total IT population, the proportion is probably about 30-50% bureaucrats, about 40-60% magicians, and maybe 5% each of artists and engineers. The best combination is to have your senior managers be a mix of bureaucrats and engineers; your line managers and architects be almost entirely engineers; your deployment, operations and call center people be mostly bureaucrats; and your developers be artists and engineers. Pair up the magicians with the less-experienced engineers (who will usually be good team leads in any case) or with the more tactful artists, and you'll end up turning many of them into engineers or artists; the remainder will eventually move on, voluntarily or otherwise.
Trackback Pings
TrackBack URL for this entry:
http://www.caerdroia.org/MT/mt-tb.cgi/2414


