Maintainable cover image

Maintainable

Austin Story: Making Software Easier to Change, Remove, and Evolve

Dec 10, 2024
Austin Story, Senior Engineering Director at Doximity, dives into the art of creating maintainable software. He discusses critical traits like testability and simplicity, along with the principle of YAGNI that ensures only necessary features are built. Austin shares insights on migrating to a federated GraphQL architecture from a monolith, addressing both benefits and challenges. He emphasizes the importance of collaboration between data and application teams, using tools like Kafka, to enhance workflow efficiency. Tune in for a masterclass on software evolution!
47:08

Episode guests

Podcast summary created with Snipd AI

Quick takeaways

  • Maintaining clear business value and functionality in software allows for quicker iterations and better alignment with customer needs.
  • Migrating to a federated GraphQL architecture empowers independent team management of microservices, enhancing flexibility and response to user demands.

Deep dives

Characteristics of Well-Maintained Software

Well-maintained software typically exhibits clear business value and functionality, allowing teams to iterate quickly and meet customer needs. From a technical standpoint, it is characterized by modular design principles that make features easy to add or remove. The application of solid principles ensures that components are isolated, which prevents complications when changes are necessary. This approach allows developers to work efficiently without leaving behind potential pitfalls that could affect other parts of the system.

Remember Everything You Learn from Podcasts

Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.
App store bannerPlay store banner