Derek Comartin retweeted
It's such a strange time to be a programmer. In a two-minute span it's "DDD and domain modeling generally are more important than ever" then "reading code is a waste of time, just let the agents manage it" then "classical software design principles are what matter." Please help.
Derek Comartin retweeted
So…are you updating data or performing an action? codeopinion.com/crud-vs-task…
Derek Comartin retweeted
CRUD vs Task Driven - codeopinion.com/crud-vs-task…
Derek Comartin retweeted
Multi-Tenant Best Practices can Backfire - codeopinion.com/multi-tenant… @codeopinion
Derek Comartin retweeted
Replying to @raimeyuu
Ask a model to build out a public http API. It will be horrific to you. Why? Because is doing what it's told. You need to tell it how to handle your resource model, conventions, consistency, rate limiting, etc. None of this is "best practice" or a default, it's specific to your context that you need to define. And if you don't to ask you're left with, for example, a resource model that leaks your data model, that you can't change.
Derek Comartin retweeted
Alan K. said what was important: the messages in between the objects; that always been the tricky part ...
The older I get, the less I care about algorithms, data structures, and programming languages. Ai accelerated that.
Most algorithms, data structures, and programming languages are render trivial given that you understand the data, information and messaging between your components.
That is also why, sometimes, it is better to hire somebody with the domain knowledge than somebody that is purely very good at programming.
One of them is too expensive to get it wrong, and I testify this by the only failure in my entire career that I attribute to myself alone, and, it was not a problem of hard programming skills, but the fact I was not fast enough to discover all edge cases around the data.
The wisdom to avoid dead ends, and what NOT to do, comes from the understanding of the data in most contexts.
Derek Comartin retweeted
Avoid API Breaking Changes - codeopinion.com/avoid-api-br… @codeopinion
Derek Comartin retweeted
Good integration events don't just announce that data changed. They communicate a meaningful business event to other systems. Integration events are part of your public API. Design them deliberately. codeopinion.com/domain-event…
Derek Comartin retweeted
Domain Events are NOT your Public API - codeopinion.com/domain-event… @codeopinion
Derek Comartin retweeted
If you’re using event driven architecture and asynchronous messaging, you need to be clear about what you’re actually doing. You’re not necessarily decoupled just because you removed direct synchronous calls. codeopinion.com/event-driven…
Derek Comartin retweeted
Event-driven architecture promises loose coupling, but are you actually decoupled? @codeopinion on the hidden temporal, semantic, and behavioral coupling that survives even after you add a message bus. #eventdriven #distributedsystems codeopinion.com/event-driven…
Derek Comartin retweeted
Are you just shipping a CRUD API over pub/sub messaging and calling yourself "event-driven"?
@codeopinion has a good post about modeling events around business concepts and behaviors.
codeopinion.com/event-driven…
Derek Comartin retweeted
Replying to @dreamsofcode_io @matt503ea5sf9z5
I think people are stuck in their own bubble of how software teams work.
Eg, I haven’t worked in sprints for 10 years. Mostly continuous flow, small pieces of work, and constantly changing priorities.
Code matters. But if all you were doing was turning tickets/issues into code while following existing guidelines, you were mostly typing.
In complex domains, the value is understanding the business. That can take years to develop. I'd argue that assuming reasonable technical skills, deep domain knowledge is often more valuable than technical ability.
Especially because that understanding ultimately shapes how the domain gets represented in the system.
Derek Comartin retweeted
5 software architecture mistakes that make systems hard to change … Preach Brother Derek, for we have seen each and every one of these… codeopinion.com/5-software-a…
Derek Comartin retweeted
"Every step away from an in memory method call changes where the complexity lives. You might improve scalability, availability, extensibility, or independent evolution. But the complexity did not disappear.
You moved it."
codeopinion.com/decoupling-i… < from @codeopinion
Derek Comartin retweeted
Sometimes the right answer is a direct call. Sometimes it is an abstraction. Sometimes the work can happen later, so a queue makes sense. Sometimes independent consumers genuinely need to react to an event without the producer coordinating them. codeopinion.com/decoupling-i…
Derek Comartin retweeted
Replying to @karlclement @ethancorded
Curious, who decides if the design is actually correct and aligned with the system's long term architecture? You can enforce guidelines and tests, but they can't fully capture the specific context and trade-offs.
Put another way, I'm not talking about code at all. It's not about nitpicking code. It's about the overall implementation and the trade-offs you're making.
For example, does the implementation have a high degree of coupling to something existing? But it's actually a different concept and should be its own, even though it seems like a duplicate.
Derek Comartin retweeted
Replying to @codeopinion
@codeopinion dropped a video talking about architecture that speaks to exactly this problem. I touch on it as well in the latest version of My book.
youtu.be/aGgmY0kgJTA?is=yHf6…
Derek Comartin retweeted
Ever notice how a codebase can look clean and organized, and still be a nightmare to change? Derek Comartin walks through five reasons that happens, and none of them are about messy code. @CodeOpinion codeopinion.com/5-software-a…










