The Ruby on Rails Podcast cover image

The Ruby on Rails Podcast

Episode 495: Marc Reynolds on Packwerk

Nov 8, 2023
Marc Reynolds, with experience in the medical industry, discusses the challenges and benefits of modularizing Rails with Packwerk. He explains how Doximity implemented it, fosters communication between teams, and addresses organizational structure. The importance of clear interfaces and maintaining a clean code base for companies experiencing growth is highlighted.
32:20

Episode guests

Podcast summary created with Snipd AI

Quick takeaways

  • Modularizing Rails using Packwork helps enforce boundaries between modules, enhance code clarity, and promote inter-team communication.
  • Implementing Packwork gradually and incrementally in a large codebase can improve the onboarding experience, maintain a clean codebase, and facilitate inter-team collaboration.

Deep dives

Modularizing Rails for Code Organization and Clarity

Modularizing Rails is about breaking up a large Rails application into smaller, more discoverable modules. Mark Reynolds, an engineering manager at Doximity, shared his experiences with Rails modularization at Rocky Mountain Ruby. By using Packwork, a static analysis tool, they were able to identify and enforce boundaries between different modules, ensuring privacy violation free code. Packwork helped them have clear public interfaces, promote inter-team communication, and enhance code clarity. The process of modularization required breaking down the repository into smaller packages while maintaining the system's functionality and passing tests. The ownership of packages generally aligned with feature sets or specific teams, ensuring clear responsibilities and facilitating collaboration among developers.

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode