Robert C. Martin said:
What would I rather work on? It happens to be my chosen profession to
help people turn their brown fields green again, and keep them green.
A good point. The real heros in a software organization are not those
who write code for new systems. Instead, they are those who are able
to keep current systems current, extend current systems with new capability
while not breaking them, and solve problems created by those who originally
coded those systems.
There is a reason why we put new programmers into maintenance jobs. It is
largely about apprenticeship. Rare is the recent computer science graduate
who has the skill, the knowledge, and the experience necessary for building
good software from scratch. Rarer still is the a manager to take that kind of
risk.
Consider someone who has graduated from medical school, served one
or two years as an intern, and thinks himself ready to do open-heart surgery.
Do you want that person as your surgeon? Software is no different. In
our modern world, software flies our aircraft, operates our cardiac care
units, and controls the switching systems on our rail transportation facilities.
No development method, no amount of theoretical foundations, no experience
writing toy programs for an academic environment, and no overblown sense
of self-confidence will compensate for the skills acquired over a longer
period of time; skills developed actually writing and maintaining such software.
Too many things can go wrong, and even the most aware novice is probably
not ready to understand what s/he does not understand.
On the other hand, those old-timers are no good unless they keep their
own knowledge up-to-date. Some of them, instead of having ten
years experience, have "one year of experience, ten times." It is important
to listen to the newcomers, those with fresh bachelor's and master's degrees
because they do have something to offer. Further, they will eventually take
over when we are out to pasture.
Richard Riehle