When I was a freshman in college, we had an engineering seminar where the Dean told us that we should expect to re-educate ourselves many times throughout our career. This has certainly been true in my career. In the Web and Mobile development world it seems like if you blink your skills are out of date.
It does make me wonder, though: Are the new tools, languages, and frameworks improving productivity so rapidly that it is more optimal to have a vast army of engineers chase a new technology rather than using and honing their existing skills? Often the answer is yes, since both web and mobile devices have been extremely disruptive technologies. One example is Node.js, which our web development team has found to be tremendously better than the previous approach of using Java back-end code—and that seems to be borne out by others’ experience too.
However, there is also a benefit to having technology stabilize around a set of development environments that evolve slowly, allowing engineers to deeply understand their tools and become highly productive for many years.
As an example, I have friends in the scientific community who are still developing in Fortran. In the commercial world we scoff at Fortran. But the scientific world has lots of useful Fortran code that was written over the past 30+ years, is well tested and trusted, and is still in operation.
It’s difficult to imagine many web development technologies that will still be popular five years from now, much less 30. I’m not advocating that we all go back to Fortran, but there is certainly a benefit to having long-term standards supported by a large base of developers with similar skills.