Patrick Logan writes:
Agreed…
We’re not so much building on the programming state of the art as continually have each generation of programmers rediscover it.
-Bill de hOra
This old fart agrees too. A far more interesting question: why hasn’t a core of professional knowledge emerged in this industry. Isn’t it normal for a craft to transition into a profession? Why am I not a member of the Association of Computing Machinery. My friends aren’t either. Why when we hire labor do we seek people who have built things rather than people who have been well certified? Why do most project managers see little value in having a few doctors of of Computer Science on their teams?
I see three reasons for the lack of an emerging professional class: fast growth, a culture of anti-professionalism, and competing institutions. I’m sure there are others, and I’m sure that at this point I wouldn’t pick one of these as the dominate one. This has kept the craft much more egalitarian than most highly technical crafts. It’s easier to get into this field because the training barrier is lower and the tools are simpler. Forces are in play which work to keep it that way.
Fast growth has meant the demand for skilled craftsmen, tools, and knowledge has continually outstripped the supply. The rapidly expanding frontier of the industry creates, time and time again, a new landscape where amateurs can achieve huge success. On this new land it’s more important to get there and build something than it is to build it well. In new markets the quantity of your customer relationships always dominates the quality of your technical execution. If your building out into these territories and the labor you can find is generally only slightly trained; well your tools better be simple to use.
Anti-professionalism - man you could write a whole book about this. The mythology of the hacker, open source, and the American cowboy. Libertarianism. The 60’s youth culture. etc. etc. But possibly I can say something a bit new about all that. The scarcity of skill results in loose social networks interconnect the craftsmen. New technology, i.e. network based social interaction tools (email, netnews, etc. etc.) have enabled that scale far better than in previous highly technical trades.
Other institutions competition to be the dominate source of legitimization in the computing industry. That’s a pattern I first noticed in the Medical profession. Medical doctors managed over the course of the 20th century to gain control over their industry. At this point though that control is falling apart as other players - insurance companies, drug companies, etc. etc. are competing to take control of the huge amounts of money in flux. Today my HMO sees to it that a person who’s not even a nurse does any minor surgery. In high tech large vendors play a similar game; but they don’t have to bother to compete with a existing strong profession. So Microsoft, Oracle, Sun, etc. etc. all provide certification programs that substitute for the legitimacy of the professional society working in tandem with universities.
Some of this I think is bad; but other aspects of it are great. It’s very bad for the respect and income that highly skilled practitioners can command. While it certainly holds back the median level of skill of our skill it appears to entrain a larger pool of practitioners. The open source projects might be a substitute for the professional society’s aggregation of a common pool of knowledge.
So it’s great that we remain a craft that sports a reasonably low barrier to entry. It makes my coworkers a more interesting diverse lot and I think it helps keep the problem solving more tied to the problems. Down in the mud not up in the ivory tower. It enables the industry to draw value out of the long tail. It is exciting how the new coordination tools have overcome some portion of the scaling problems. Open source projects are a particularly good example of how sophisticated some of that has become. These is allowed crowds to solve problems that previously only more concentrated efforts could address.
It is healthy that the righteous prideful status riddled behaviors of most professions are somewhat more rare in this line of work.
Scarecrow: I haven’t got a brain… only straw.
Dorothy: How can you talk if you haven’t got a brain?
Scarecrow: I don’t know… But some people without brains do an awful lot of talking… don’t they?
… much later …
Wizard of Oz: Why, anybody can have a brain. That’s a very mediocre commodity. Every pusillanimous creature that crawls on the Earth or slinks through slimy seas has a brain. Back where I come from, we have universities, seats of great learning, where men go to become great thinkers. And when they come out, they think deep thoughts and with no more brains than you have. But they have one thing you haven’t got: a diploma.