Most of the important, useful programs have already been written. Let me rephrase: Shrink-wrap software has to appeal to a broad audience, so it has to address a very common need. Aside from needs created by the use of computers in the first place, the list of these should be fairly small, and smaller as the size of the audience increases. I think the market for zillion-copy software is tapped out. The cheese has moved to dealing personally with smaller and more defined audiences. Their pains won't be addressed by mass-market office software packages or current well-known web sites. Their pains will be defined by their affiliations or demographics. (For example, the Elbonian expatriate community in Fort Willy Mite needs different things from the Habitat for Humanity branch in every major city, and shrink wrap software can't help either one of them.)
At this point, software development has forked into three areas: research (what computer science is supposed to be), business systems (which is really about putting a pretty and secure face on a database) and a hazy middle-ground where people are trying to do all kinds of weird stuff for money, like fee-based wireless print service in public places. The weird stuff is systems integration.
Systems integration work is often attempted with poor tools and ill-prepared people. In fact, most of the failed software startups of the late 90s and early 2000s are companies that were fundamentally trying to shrink-wrap solutions to uncommon (or non-) problems before the next guy trips over the same idea on his way to the local marijuana dealer. Because there was so much venture capital and so little time to build a reputation, everyone was forced to compete on price alone. That made everything suck and prevented anybody from make any more money than the Elbonian outsourcers who worked for a dollar a week.
Some of the better universities might still have a decent computer science curriculum with research opportunities and a search for genuinely new insight. To the extent that such programs result in programming, nobody complains about the programmers, because they're all brilliant.
Lots of places and people can teach a workable business systems development curriculum. The professionals who graduate from such a course of study need to be able to apply a consistent, prescribed modus operandi for analysis, design, development, and implementation (which may be learned or refined on the job) and they need to learn a few different frameworks that provide a built-in separation of several concerns, mainly so that they're capable of also learning the one they'll ultimately use on the job.
The big difficulty comes from the hazy middle ground of systems integration, and I've neither seen nor heard of a decent course in the subject, let alone a curriculum built around it as a specialization. The MIT media lab is probably a great example of systems integration, but is there a course centering on it and its evolution?
For now, our main source of inspiration might be to review what has worked in custom software. But this resource is generally buried in electronic vaults inaccessible to the internet and unorganized for education in any event. So if you have any insights, please drop me a comment or an e-mail.
Thank you.

0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home