15 ms·
It is an interesting metaphor. To what extent is it the original architect's job to show or highlight these pathways rather than the maintainer? I think the ro
by seadan83 3y ago
It is an interesting metaphor. To what extent is it the original architect's job to show or highlight these pathways rather than the maintainer?
I think the routers might be symptomatic of a lot of maintenance.
(A) maintainers are incentivized to graft fixes and additions rather than to find the way. They are not being payed enough to be able to care. They have a job, deploy a wifi mesh, so they use the way they know how because it is cheaper and easier to do something rote rather than integrate to the whole. This is the equivalent of throwing in a bunch of if statements and then walking away.
(B) rejection of the previous designers, "my way is better than what these dinosaurs hacked together - the technical debt in this system is bad and nobody knew what they were doing."
Thus is to say, I've been more intentional of late to wonder, "what types if things were the previous developers trying to make easy? Which paths did they lay out?" Even a system laden with debt, there might be patterns that are easy to continue. Same thing in the building, instead of mounting wifi as they had in other buildings, the routers could have been painted yellow and then hanging from the ceiling, perhaps mounted at head height. Which is to say, instead of respecting the art, the design, and doing something cohesive that could have been easier; instead routers (eg: springboot, orm, a new feature) were just bolted on without any thought, bolted on just as you would attach something in an assembly without care that this widget is different from another.
In sum, I see these two behaviors quite a bit. (1) this charging forward with a rote way to do something, to cheap and too hurried to understand context, to do any design, just bolt the thing on and move on. (2) no care, time, or respect to understand the existing design to know what has been made easy. Rather than sus out what us easy to do, the maintainer declares all previous developers idiors and all existing patterns and designs to be wrong. From this perspective, the new way is the only true way, even if what you are trying to do is actually something a previous developer did make easy (and following the existing pattern would indeed be easy, but nope, we need to out a feature flag in and build a new feature microservices integration, because "not built here" syndrome is strong) The thinking is hubris, the existing design is wrong, so everything is wrong and "your modern ways are the only thing that can fix it" - don't use any golden path because they are all wrong; eg: a building should be right side in! These routers should be tucked away! The building is wrong!
Really interesting metaphor!