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

32 ratings


More shows like Maintainable

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

Software Engineering Radio - the podcast for professional software developers

272 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

283 Listeners

LINUX Unplugged by Jupiter Broadcasting

LINUX Unplugged

265 Listeners

The Bike Shed by thoughtbot

The Bike Shed

121 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

627 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

272 Listeners

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

Syntax - Tasty Web Development Treats

983 Listeners

REWORK by 37signals

REWORK

210 Listeners

Remote Ruby by Chris Oliver, Andrew Mason

Remote Ruby

34 Listeners

Code with Jason by Jason Swett

Code with Jason

14 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

64 Listeners

ACQ2 by Acquired by Ben Gilbert and David Rosenthal

ACQ2 by Acquired

209 Listeners

Code and the Coding Coders who Code it by Drew Bragg

Code and the Coding Coders who Code it

6 Listeners

Oxide and Friends by Oxide Computer Company

Oxide and Friends

47 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

52 Listeners