Link Search Menu Expand Document

If you become a professional software developer, whether in industry, government, academia, or in an open source community, most of your contributions will be to legacy code.

The definition of legacy code that we use in this course is this:

  • Code that has a life before, during and after your contributions

In school, you start from nothing, and write all of the code yourself, or perhaps there is some relatively minimal starter code provided to you by an instructor.

Starting from a clean slate, this is sometimes called “greenfield” development.

However, most work done as a software developer is to take a preexisting piece of software and either fix bugs, add features, or refactor.

Working with a legacy code base differs in some significant ways from doing greenfield work; this is one of the major themes of the course.

For more on the ways it differs, see the paper Listening to Early Career Software Developers, available as a Free PDF Download here.

Table of contents