Two ways of using packwerk: blog post

During recent work it became clear to me that there are two very distinct ways of using packwerk: For modularization within a monolith vs extraction from a monolith. Doing one vs the other leads you to want to use the available enforcements quite differently.

Check out the post: stephanhagemann.com !

Thank you! Notice that the introduction is repeated twice

Thanks for the note. Fixed!

Thanks for the post Stephan, I have the same experience in my own usage of packwerk. Is there anywhere I can read about why Gusto shifted focus away from modularisation in the monolith and to extracting services?

Great question!

It would be more accurate to say that we have evolved our approach to work on modularization in service of extraction.

And, as for that priority switch, I have said elsewhere that packwerk’s modularity tooling is like drawing with a pencil whereas making gems or extracting services is taking a sharpie (better yet, scissors) to the same thing. And while we were making progress with those pencil strokes, we determined we wanted something more permanent as well. Analogies aside, there are interesting new learnings to be made and wins to be notched when doing extractions.

Recently, two engineers from our team talked about this work on the On Rails Miguel Conde & Peter Compernolle: Inside Gusto’s Rails Biolith podcast.

1 Like

Thanks Stephan, in my own work we’ve made a similar evolution very recently so it is interesting to see others doing the same. I kind of see it as switching from a horizontal focus to a vertical focus where we target specific areas.

Also that talk was fantastic, I really appreciate how in depth Miguel and Peter went :star_struck:

1 Like

haha, indeed! I listened to it and thought “dang, I work with these guys… pretty cool :smiley:

1 Like