Maintainable

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


Listen Later

Austin Story, Senior Engineering Director at Doximity, joins Robby to explore the intricacies of building maintainable systems, fostering team accountability, and enabling faster iteration without sacrificing quality. Austin shares how his team approached migrating from a monolithic GraphQL architecture to a federated model, why simplicity matters for long-term success, and how guiding principles like YAGNI influence his decision-making.

Doximity is a leading digital platform for medical professionals, and their technology blog offers deep dives into the systems and tools that power their innovative solutions.

Key Topics Discussed
  • [00:00:41] What is maintainable software? Austin highlights key traits, including testability, simplicity, and ease of removal.
  • [00:02:09] Designing for removability: Why it's important and how it enables iterative progress.
  • [00:03:05] YAGNI (You Aren’t Gonna Need It): How this principle shapes Austin's approach to feature development.
  • [00:04:13] Migrating to GraphQL Federation: Benefits of breaking up a monolithic GraphQL server and the challenges faced during the transition.
  • [00:05:56] GraphQL vs. REST: How GraphQL aids developer productivity while maintaining backward compatibility.
  • [00:10:53] Collaboration between data and application teams: Using tools like Kafka to bridge gaps and improve workflow.
  • [00:17:00] Upgrading Ruby on Rails applications: Balancing autonomy with central guidance for seamless updates.
  • [00:27:55] Fostering ownership on teams: The cultural practices that empower engineers to take initiative and drive results.
  • [00:34:29] Prioritizing work effectively: How Austin's team uses quarterly planning and measurable "goalposts" to align efforts with impact.
  • [00:40:00] Avoiding bike-shedding: Keeping meetings and reviews focused on meaningful progress.
Key Takeaways
  • Simplicity Wins: Maintainable software is easier to adapt, remove, and iterate on when it's kept simple.
  • Iterate and Refine: Use principles like YAGNI to avoid over-engineering and ensure systems are built to evolve.
  • Collaboration Drives Success: Bridging communication between specialized teams can unlock untapped potential.
  • Focus on Outcomes: Define clear goals and track measurable results to ensure projects align with business needs.
Resources Mentioned
  • YAGNI (You Aren’t Gonna Need It)
  • GraphQL Federation Overview
  • Doximity Technology Blog
  • The Mom Test by Rob Fitzpatrick
  • Austin Story on LinkedIn
  • Austin Story's Website
Stay Connected

Follow Austin:

  • LinkedIn
  • Website
Thanks to Our Sponsor!

Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error-tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and other frameworks.

It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications.

Keep your coding cool and error-free, one line at a time! 

Use the code maintainable to get a 10% discount for your first year. Check them out!

Subscribe to Maintainable on:

  • Apple Podcasts
  • Spotify

Or search "Maintainable" wherever you stream your podcasts.

Keep up to date with the Maintainable Podcast by joining the newsletter.

...more
View all episodesView all episodes
Download on the App Store

MaintainableBy Robby Russell

  • 5
  • 5
  • 5
  • 5
  • 5

5

30 ratings


More shows like Maintainable

View all
Hanselminutes with Scott Hanselman by Scott Hanselman

Hanselminutes with Scott Hanselman

378 Listeners

Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

Software Engineering Radio - the podcast for professional software developers

265 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

285 Listeners

Thoughtworks Technology Podcast by Thoughtworks

Thoughtworks Technology Podcast

43 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

580 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

624 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

271 Listeners

Go Time: Golang, Software Engineering by Changelog Media

Go Time: Golang, Software Engineering

128 Listeners

JS Party: JavaScript, CSS, Web Development by Changelog Media

JS Party: JavaScript, CSS, Web Development

94 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

987 Listeners

REWORK by 37signals

REWORK

212 Listeners

CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

CoRecursive: Coding Stories

185 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

62 Listeners

Oxide and Friends by Oxide Computer Company

Oxide and Friends

48 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

50 Listeners