3 ms·
This is an hypothesis, so take what I'm saying with a lot of salt, not just a grain. I've been exploring a tool in ruby called packwerk, that helps introducing
by Fire-Dragon-DoL 3y ago
This is an hypothesis, so take what I'm saying with a lot of salt, not just a grain.
I've been exploring a tool in ruby called packwerk, that helps introducing gradual boundaries within a system (made by shopify).
The beauty is that while you can see violations you can still run your code.
Now, my thought process is that identify the core high level boundaries is very important to design a system, so this type of tooling will go a long way.
So far to enforce boundaries you either have nothing, which leads to a design that's just a mess, or you have something strong like go packages, which can slow you down.
Design is super valuable, but there are just parts of the software that have little enough business value or will never be touched again, so nobody cares.
I think design being adjusted to business and team needs make sense, but we might not have explored hoe to do it. Also, I noticed it's not something every software developer is good at, which means not everybody can do it