The Extinction of the Programming Species
Max Goff writes "Given the recent chatter surrounding the extinction of the U.S. programmer, /. readers might also be interested in a series of articles I recently penned for java.net -- the Blacksmith and the Bookkeeper (part 1, part 2 and part 3) -- in which I posit that the postmodern programmer (the entire sub-species, not just those domiciled in the U.S.) shares much with the
blacksmith of old, and will become just as extinct in relatively short order. It is not due to work visas or outsourcing, but has much more to do with the evolution of work itself."
A proof of the demise of the programmer the article points out:
The advent of the Codeless Development Environment (CDE)
I wonder if these "Codeless Development" environments are they themselves written in a codeless environment. If you have ever coded in a pure gui environments with boxes and connectors and such you will quickly learn the limitations.
There are already some industry specific programming systems - I say systems, because they are not really languages - that use flow charts and diagrams to generate instructions instead of pseudo-code or a high-level language like Visual Basic.
However, the parent does raise a valid point - many of my co-workers are good at putting widgets together and doing similar tasks, but don't really know what to do when they need to think in terms of embedded environments or program optimization.
There's a better model than blacksmiths: musicians.
Before the advent of recorded music, if you wanted music, you paid musicians to come around and play it for you. It was expensive to keep them, they became status symbols, but they were commonplace in wealthy households and courts.
After recorded music came, the number of musicians required dropped off amazingly. Just tanked.
Programmers are increasingly headed in that direction because of automation: better and better libraries, software packages with increased configurability, better management of software projects. It's gradually getting easier to make a given problem go away with fewer and fewer programmers.
The countertendancy - as large problems become cheaper to solve, more people pay for them to be solved - is sustaining us for the moment, but there is no guarentee that those two forces will remain in step indefinitely.
But even in the age of fluidly configurable, massively integrated software packages (try: Apache 2, MySQL4 and WordPress - millions of lines of code with a nice user interface, and all it does is run your blog) there's still a need for the "rockstars" - the programmers who actually produce those systems.
Professional musicians these days have to fight to stay in the game, and they have to be really, really good at *something* even if it's just pouting on posters.
Programming is going the same way: it's no longer the easy option. If you're programming right now for a reason other than "I'm really good at this" or "I love this" and, preferably, both - get out of the game while you still have an income. You have less than ten years, possibly more like five.
Two more jobs, if you're lucky.
But for the rest of us? The people who can hack it under these conditions? I think it's going to be a return to the Golden Age of Hacking - the time when it was a game for the profoundly talented and educated - rather than these hordes of analgorithmic munchkins we've been competing with for years.
Rock star programmers, dude. Not garage mechanics, rock stars. You can see it already in the celebrity accorded to people like Linus, or EvHead. As software is increasingly "one hit, one kill" - packages which simply dominate an entire category - that kind of rapid rise and fall is going to be the norm, rather than the exception, in the publically popular software sphere.
That's the rock star niche.
And the rest of us will be like those touring rock bands you see all over America, or the players at your local symphony hall.
Hexayurt - open source refugee shelter,
The premise of the article is also similar to the kinds of arguments people were making in the '80s about expert systems:
"We can develop inference systems for all these professions with voluminous, but highly specialized knowlege bases, and then we won't need the highly trained professionals anymore".
This also harkens to a software engineering fantasy that we can standardize and simplify hard problems. There are many who disagree with this point of view, including Fred Brooks.
An interesting take on the failures of software is Jaron Lanier's One Half of a Manifesto. (Actually even more enlightening is the debate that ensued around the manifesto (responses, reply).
Chances are if you're a blacksmith in this day and age, you're actually in pretty high demand. My father-in-law does it as a side "hobby". Sells some of his stuff a local craft shows, demonstrates at schools...he's really good, and people are willing to pay decently to get him to make them stuff.
There may come a time when we need fewer programmers, like blacksmiths. But those that are will be special "craftsman". We'll just have to change our style to fit with the times.
Adapt or die...the way of nature.
Sean D.
"Hmm. I am to metaphor cheese as metaphor cheese is to transitive verb crackers!"