Developers are starting to realize that what you learn is school does not prepare you for the real world. You get taught to develop small projects with new code. Real jobs start you out doing software maintenance. That’s because you can learn a lot by doing maintenance.
Many feel like maintenance is just not as exciting as new development. But the old salts like me treat it all the same. Perhaps we are ready for a new computer science course in maintenance. You could work on an existing project. It will be a complex and real application.
Look here. This idea is not my own. Somebody pitched it in a magazine I read. However it makes a lot of sense to me. In fact, I would not mind teaching such a course. The first order of business would be for them to read up in the Software Maintenance blog.