Over a long and slightly disreputable career in IT, I've been privileged to meet some fine programmers, some of them very well-known. Many of them have made vast fortunes for themselves and their employers. They were brilliant, but not necessarily the sort of person you'd particularly want next to you on a long transatlantic flight.
Nowadays, few of the pioneers of computing, or the greats of the Personal Computer revolution, would get past the first interview for the average IT job.
In the seventies and eighties, programmers were valued purely for their ability to produce fantastic applications. They didn't need to be 'team players' and they weren't required to interact closely with their colleagues unless they wanted to. Nobody insisted that they should work in open-office areas or engage in team-bonding exercises. We coped, and accommodated to their needs because we needed their skills. Alan Turing, for example, who did so much to crack the Enigma code, was highly eccentric and solitary. At Bletchley Park he habitually wore a service gas-mask in the pollen season, buried silver ingots in a nearby wood, and chained his coffee cup to the radiator pipes in his room, convinced others were trying to steal it. The Bill Gates I once met didn't strike me as the sort with which one would want to pair-program.
Since the emergence of Rapid Application Development, we have produced a number of development methodologies that requires the participants to have good social skills. Any description of Agile methodology will contain phrases like, 'time management, diplomacy and leadership are essential', or 'the ability to take initiative, adapt easily to new situations and frameworks', or 'Ability to work with effectively with others in an intense environment is critical'. All these are another way of saying that 'a good cultural fit trumps competence'.
This was, perhaps, excusable when such methodologies were used only by a small minority. Now, it is evil. Instead of selecting developers purely on merit, Agile Methodologies provide the justification to select candidates who are 'a good cultural fit'. Oh yeah? This is a euphemism for 'folks like us'. Where in the past, methodologies took account of the natural diversity in human personality, cultural background, and preferences, in order to manage large team projects, Agile requires a strange sort of secular sainthood amongst the participants. Interviewers can now reject extremely well-qualified people on vague hand-waving generalities such as 'team-player skills'. We are fitting people to the methodology rather than methodology to the people. Whereas, in the past, offices were built to allow a certain degree of privacy and quiet, office workers are now packed into open-office areas with many distractions, noise and obligations to be sociable.
Without realizing it, we have gradually discouraged good programmers from a career in technology. Fewer women want a career in IT now than a quarter of a century ago. Any developer over the age of forty stands out like Rumpelstiltskin. People who are natural eccentrics and who find close teamwork tiresome and stressful have no place in IT either, it would seem. The problem with this is, of course, that the people who made the industry great were often eccentric, rebellious, odd, truculent, but all blessed with the gift of creating wonderful software. What will our industry be like a generation hence, if staffed only with developers possessing 'diplomacy and leadership'?