Patrick Logan writes:
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. Why hasn’t a core of professional knowledge emerged in this industry? Isn’t it normal, even natural, 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 hiring we have a strong preference for people who have built things rather people who are well certified? Why do project managers see little, if any, value in having a few doctors of Computer Science on their teams?
I see three reasons for the absence of a professional class: fast growth, a culture of anti-professionalism, and competing institutions. I’m sure there are others reasons. I’m sure that at this point I wouldn’t pick one of these as dominate.
This outcome is not necessarily a bad ting. The craft much more egalitarian than most highly technical crafts. It’s easier to get into this field. Training barrier is lower. The tools tend to be simple. They have to be. I see forces in play which 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 continually creates a new frontier where amateurs can achieve huge success. In this situations it’s much 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. The fresh frontiers plus scarce labor creates a demand for simpler tools.
Anti-professionalism – man you could write a whole book about this! The mythology of the hacker, open source, the American cowboy. Libertarianism, the 60’s youth culture. etc. etc. But possibly I can say something a bit new. The scarcity of skill results in loose social networks. On the frontier everybody is new in town. So the fabric, the social networks, that interconnect the craftsmen are thin. But, new technology – network based social interaction tools – have enabled much to compensate for that. One of the theories about the function of a profession is that it act to create knowledge pools. The network’s social tools have allowed knowledge pooling inspite of thin social networks. This is new and might well cause other professional networks to erode as they are less necessary.
Another story people tell about professions is that they are a form of union, which naturally leads to realizing that any profession competes against it’s complementary institutions. Other institutions in high-tech would like to be the source of legitimization in the computing industry. This is a pattern I first noticed in the Medical profession. Medical doctors managed over the course of the 20th century to gain hegemony over their industry. Today 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; and they don’t have to bother to compete with a existing strong profession. 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 – it appears to entrain a larger pool of practitioners. We get a longer tail. And, as open source projects demonstrate, we are getting better at aggregating knowledge from an extended tail.
Mostly I think it is great that we remain a craft that sports a reasonably low barrier to entry. It makes my coworkers a more interesting diverse lot. I think it’s healthy to keep the problem solving closer to the problems. Down in the mud not up in the ivory tower.
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.
Amusing post on related topic: http://www.unfogged.com/archives/week_2009_04_26.html#009755