Part of this is that people generally want their work to have a lasting impact, so working on a system that is soon to be replaced is seen as a waste of time. Another reason is that the organization often wants to tie its own hands by letting the existing system degrade, thus making the replacement more necessary.
Let's first zoom in on the personal motivations of system developers, why they prefer to work on new systems rather than old. One reason can be that they believe (perhaps correctly) that having been a part of launching a new system will look more impressive when negotiating for a higher salary or applying for a new job. Working on a successful system can bring prestige, whereas the old soon-to-be-replaced system is by definition not a successful system (at least, it is not seen as successful at the time). The new system also typically takes advantage of some new technology such as cloud or machine learning that is seen as the future. Working on the new system gives the developer a potentially valuable competence free of charge, so this is a strong incentive.
Another personal motivation has to do with the psychology of developers. Almost all have a background in STEM, and as such they will have several role models who were inventors or discoverers. And the people who polished work are usually much less famous, than the ones that history has remembered as the main discoverer. Take for instance Oliver Heaviside, who compressed Maxwell's equations from an unwieldy 20, to an elegant 4 [1]. He is most famous for the simple step function, that sometimes bears his name. And again, by moving the spotlight of praise from Maxwell to Heaviside, we leave out countless others who came before and after them, and whose work was essential for our understanding of electromagnetism. By this, I mean to say that developers are not only economically, but also culturally biased towards invention over maintenance.
No comments:
Post a Comment