Discussion about this post

User's avatar
bloowper's avatar

Good modularization requires taking a moment to pause and think about how the components interact with each other, where the responsibility for a particular decision should fundamentally lie — how a given question should be exposed, and so on.

But honestly, I get the feeling that people don’t like to think. They just want to start banging on the keyboard right away — or nowadays, just copy the task into GPT or some other cloud tool, then paste the result back in. :/

Expand full comment
Jeremy Cox's avatar

I enjoyed this very much. I like how it all comes full circle to use modular design, a relatively very old concept. There is some truth ringing here that first principles of good software design are not pre-empted by fancy new approaches. I think it was revelatory and honest to say compartmentalization (of any kind) is great until you need to use data from multiple sources and then the elegance is gone and the problems come in. There are no easy answers. It's sort of like the only way to keep a computer secure is to power it off and put it in a locked room. The only way to have elegant system design is to not allow any business logic. Real world problems are messy, and so are the programs that handle them. An excellent point towards considering the trade-offs of any design.

Expand full comment
9 more comments...

No posts