Sit still long enough and eventually someone will think you’re dead. The software industry moves so fast that “normal” industry just looks like it’s standing still. How many revolutionary new toilet, shovel, doorknob, or umbrella designs have you seen hit the US market in the past decade?
In order for software engineers to stay current in this industry they are constantly re-tooling. I learn a new technique, library, design pattern or syntax at a rate of about 2 a month. Considering how long it takes for someone to become proficient with a particular tool, I doubt I’m using these systems to their full potential. But learning something (anything) has to be a good thing.
In contrast, there are many programmers that made their bed with a particular language or tool, become extremely proficient with it and continue in maintenance mode, stagnating along with their chosen system. When their chosen tool is retired or falls out of market favor, there are a lot of programmers with great skill and no problem to solve. Cobol is a good example, but I’ve see this more recently with Visual Basic 5 programmers.
This effect is most prevalent in academia, and this seriously damages our industry. Even when I was in school I had professors that didn’t understand why the examples in the new version of a C++ text book had all these silly ‘useing namespace std;’ lines and why her programs didn’t compile on the new compilers. I had another professor that insisted that our programming assignments for a data structures class had to have a GUI built in Borland Builder. I asked if I could turn in my assignment as web applications and the instructor said, “you can’t build real applications for a web browser”. I later found his frames-based website with java applets for navigation and understood why he thought so. These professors never read about on their own industry and rarely learned anything new. How will a student who has been instructed by tenured professors in maintenance mode ever learn anything about modern programming practices?
One way or another, they have to learn on their own and that’s a good thing. Students who do learn on their own will be the most successful at learning new techniques, libraries and patterns while still doing their day-to-day job. These are the kids that will stay current, have enough vision to see when their employer is stagnating, and know when to jump ship and do something else.