Robby has a chat with Chelsea Troy, the Staff Software Engineer on machine learning and backend systems at Mozilla. Chelsea also maintains the Zooniverse Citizens Science mobile app, the NASA landslide data processing pipeline, and a few other open-source projects. She is a maintainer for the rock programming language and mentors formerly incarcerated technologists through Emergent Works. She teaches Python and mobile development at the University of Chicago’s Master's program in Computer Science, hosts workshops for O’Reilly, and writes at ChelseaTroy.com
For Chelsea, one of the most important characteristics of well-maintained software is a conscious effort to ensure that enough context remains available for engineers who come in without existing familiarity with the system to gain that context and maintain it. She shares more of her valuable insights on how we can go about making software more maintainable and explains why she’s not a proponent of the term “Technical debt”.
She also talks about some of the strategies she uses to quantify maintenance work, how engineers can document their code with more helpful error messages that provide more context, and how to discuss the removal of features to reduce long-term maintenance load with a product team. To learn more, including what you should do when you join a new team with existing software, stay tuned.
Book Recommendations:
Helpful Links
- Chelsea on Twitter
- Chelsea’s Website
- A Rubric for Evaluating Team Members’ Contributions to a Maintainable Code Base
- Quantifying Technical Debt
- Reducing Technical Debt
Subscribe to Maintainable on:
Or search "Maintainable" wherever you stream your podcasts.