The attitude toward the development process expressed here is not uniformly accepted in all programming subcultures. There is a major cultural divide between embedded and server/desktop programming. My example is very old, but I had occasion to discuss software development with embedded systems engineers from Air Force projects in the pre-Ada days. They were all vehemently against the idea of software maintenance. They felt that their job was to deliver a "correct" implementation of a fully specified system.