Will Tracz ERL 402 Stanford, CA 94305
Programmers span a wide range of attitudes, experience and education. Their background influences their perception and reception of new ideas and tools. This paper proposes a scientific scheme for classifying programming personnel. It is based on the author's personal open-minded observations (and years of frustration) in dealing with software "users" and "developers". The recognition of the class or category to which they belong can prove useful in developing tools and documentation, as well as communicating, in general, with these individuals.
Programmers generally fall (or are pushed or shoved) into one of four classes:
1. NOVICES - New Overzealous Very Inquisitive ComputEr Students
2. WIMPS - Well Intentioned Mediocre ProgrammerS
3. PROS - Perceivably Reliable Omnipotent Software engineers
4. PRIMA DONNAS - PeRmanently IMmutAble software Developers Of Notorious Narcissistic AttitudeS
(Note: some programmers have no class, in which case, they don't fit in anywhere. Unfortunately, it is beyond the scope of this paper to discuss the backgrounds of my relatives.)
NOVICES are usually fresh out of school, starry-eyed, and easily motivated. They are very receptive to "playing with" new tools or adopting new development methodologies since they are still in learning mode. They have very little invested in previous techniques, and have yet to be burned by flakey software and hideous compiler bugs. They have yet to be christened into the real world and put through the school of hard knocks.
A majority, unfortunately, of the professional programming community fall into this category. Battle scarred and war weary, they are leary of innovation. This group really needs to be "sold" on the technical merits (or what's in it for them) of any new system or technique. They are "comfortable" and reasonably productive with their old, possibly antiquated, tools and methodology. Unless properly motivated (or threatened), they will dismiss any efforts to extend their capability. The rhetorical question becomes "Can you teach an old programmer new tricks ?".
These are the technical gurus in any software organisation - the people to whom the NOVICES and WIMPS (but not the PRIMA DONNAS) go for assistance. "Working smarter, not harder" is their motto, and they are always receptive to using (or abusing) any new tool or software system that they can buy, borrow, or steal. PROS do not need to be motivated since they will rapidly latch onto any technology that they perceive will offer them leverage and enhance their ability to perform their job.
PRIMA DONNAS embody the antithesis of egoless programming. They refuse to accept a new tool or technology unless they can get credit for thinking of it themselves (after all they are legends in their own minds). PRIMA DONNAS also often lose touch with reality, and develop systems that are incomplete, or totally useless to anyone but themselves. Motivating PRIMA DONNAS to step down from their thrones is a management challenge which often boils down to a battle of wills (i.e., "You will do it, or else!").
Software technology transition involves developing new tools, techniques, and associated training methods to facilitate the dissemination, assimilation, and eventual application of advances in the state of the art. The effectiveness of any approach is further enhanced when the backgrounds of the targeted individuals are taken into consideration, and the respective tools, techniques and training methods tailored accordingly. In order to address these issues, this paper has proposed an "opun" classification scheme for programming personnel.