I don't think programmers can be easily lumped into the analogies of mechanics and civil-engineers, but perhaps
programming as a field is analogous to the field of construction.
Small projects, like adding on to your back deck, can be tackled by do-it-yourself-ers with a little guidance
or alot of common sense. Plans can be drawn up in a evening and the job done in a weekend.
As projects get larger, the job gets more complex. A mid-sized job might require a small construction crew,
with the experience and tools necessary to do the job without alot of standing around while figuring things out.
Building things like a bridge or sky-scraper require a large investment in detailed planning, to ensure that
the materials and teams of (specialized) workers are in the right place at the right time.
Programming is no different. As the ambition of the project rises, so does the level of sophistication required
to carry it out rise. But the do-it-yourself-ers and small construction crews are not going away simply because
we can build bridges and sky-scrapers. There will always be need for projects of every size, and we'll always
be best served by using the best people and tools for the job.
[TINPC@perlcabal.com shh]$
su real