Building off of legacy code
The ADER code was the primary project of my graduate thesis at UC Berkeley. ADER was developed by myself, Daniel Wooten, and it represents a first-of-its-kind modeling solution for an emerging class of nuclear reactor. ADER exists as more than 30 thousand lines of C code written as a direct integration into the very popular nuclear simulation tool, SERPENT 2 - itself composed of more than 1 million lines of C code which is why ADER was written in C.
I took ADER through every stage of development, from conception and whiteboarding to documentation and distribution. From the beginning ADER was designed with the end-user as the priority and the future developer always in mind. The error messages are plentiful and informative while the code comments are crisp and meaningful just as the code itself is clean and straightforward. ADER's creation as a test-driven development saved myself dozens of hours in terms of debugging and adaptation. The development of ADER spanned many years and of course the design requirements and objectives changed along the way with its comprehensive test suite easing that process.
Just because I built ADER does not mean I worked alone. ADER is an extension to an existing, and massive, nuclear simulation code which itself is in continual development as is the nature of leading research codes. As such the biggest challenge in creating ADER was integrating with and understanding the base code as it was not written cleanly or with future developers in mind. My favorite error message from SERPENT may have been "Error: [****] we shouldn't be here". That said, the development team for SERPENT 2 is very easy to work.
ADER is not my only software project by far, but it is my largest and one that I'm proud of - not because I 'completed' it but because I know I built it such that it would live on past my care of it.