Interesting how my main takeaway from Shopify’s write-up of a major refactoring - “Under Deconstruction” - is less about code and more about people.
As it is ultimately humans that produce code, refactoring a big code base is about changing code as much as it is about changing humans. Shopify used keynotes, guilds, handbooks and trainings to create “ability” and “motivation” to support the desired changes, only added “prompts” in the form of rules and tooling later afterwards. Without ability and motivation to act on them anybprompts are bound to fail ir worse followed superficially.
My second big take away is to understand (and ensure) value is created along the way and not only if and when a (maybe over idealistic) goal is reached. No product, no architecture, no code base will be perfect any day, but it can become better everyday.