41554 blogs · [ { "id": "01a0d7a7-02c9-7280-94b4-b65bf21349c9", "title": "Multi-Tenant Best Practices Can Backfire", "url": "https://codeopinion.com/multi-tenant-best-practices-can-backfire/", "published_at": "2026-09-24T14:03:05+00:00" }, { "id": "01a0b0b8-256e-7105-8706-63d49cf85ac1", "title": "Avoid API Breaking Changes", "url": "https://codeopinion.com/avoid-api-breaking-changes/", "published_at": "2026-09-15T19:39:50+00:00" }, { "id": "01a08761-c8c7-7050-878d-f0df0737ecf5", "title": "Domain Events Are NOT Your Public API", "url": "https://codeopinion.com/domain-events-are-not-your-public-api/", "published_at": "2026-09-03T20:12:15+00:00" }, { "id": "01a08761-c8c8-737d-8143-28ca91585dad", "title": "Event Driven Architecture and Coupling: You’re Not as Decoupled as You Think", "url": "https://codeopinion.com/event-driven-architecture-and-coupling-youre-not-as-decoupled-as-you-think/", "published_at": "2026-08-19T17:57:02+00:00" }, { "id": "01a08761-c8c8-737d-8143-28ca9239f8d3", "title": "Decoupling in Software Architecture Moves Complexity", "url": "https://codeopinion.com/decoupling-in-software-architecture-moves-complexity/", "published_at": "2026-08-06T13:08:25+00:00" }, { "id": "01a08761-c8c8-737d-8143-28ca924403ff", "title": "5 Software Architecture Mistakes That Make Systems Hard to Change", "url": "https://codeopinion.com/5-software-architecture-mistakes/", "published_at": "2026-07-22T20:55:23+00:00" }, { "id": "01a08761-c8c8-737d-8143-28ca93256f08", "title": "Multi-Tenancy Isn’t About Databases", "url": "https://codeopinion.com/multi-tenancy/", "published_at": "2026-07-08T14:56:39+00:00" }, { "id": "01a08761-c8c8-737d-8143-28ca94008be1", "title": "Resilience Patterns Can Make Your System Less Resilient", "url": "https://codeopinion.com/resilience-patterns-can-make-your-system-less-resilient/", "published_at": "2026-06-24T13:36:23+00:00" }, { "id": "01a08761-c8c8-737d-8143-28ca9454f106", "title": "Stop Blaming Event-Driven Architecture", "url": "https://codeopinion.com/event-driven-architecture-mistakes/", "published_at": "2026-06-17T14:19:29+00:00" }, { "id": "01a08761-c8c8-737d-8143-28ca94e091dd", "title": "Solving the ‘God Object’ Problem with Shared Identity", "url": "https://codeopinion.com/solving-the-god-object-problem-with-shared-identity/", "published_at": "2026-06-10T14:15:12+00:00" }, { "id": "01a08761-c8c8-737d-8143-28ca95831661", "title": "Modular Monolith Boundaries Done Wrong", "url": "https://codeopinion.com/modular-monolith-boundaries/", "published_at": "2026-06-02T22:50:22+00:00" }, { "id": "01a08761-c8c8-737d-8143-28ca962d4e28", "title": "Stop Joining Tables In Your “Modular” Monolith", "url": "https://codeopinion.com/stop-joining-tables-in-your-modular-monolith/", "published_at": "2026-05-27T14:12:13+00:00" }, { "id": "01a08761-c8c8-737d-8143-28ca96454de6", "title": "Scaling Software Architecture Without Overengineering", "url": "https://codeopinion.com/scaling-software-architecture-without-overengineering/", "published_at": "2026-05-20T21:01:54+00:00" }, { "id": "01a08761-c8c8-737d-8143-28ca96e811ab", "title": "Why Sagas Feel Broken", "url": "https://codeopinion.com/why-sagas-feel-broken/", "published_at": "2026-05-12T13:59:50+00:00" }, { "id": "01a08761-c8c8-737d-8143-28ca97e68ffa", "title": "Debugging Event-Driven Systems: 5 Problems Teams Create", "url": "https://codeopinion.com/debugging-event-driven-systems-5-problems-teams-create/", "published_at": "2026-05-07T21:03:12+00:00" }, { "id": "01a08761-c8c8-737d-8143-28ca98c6bdcf", "title": "Just Use Postgres as a Queue?", "url": "https://codeopinion.com/just-use-postgres-as-a-queue/", "published_at": "2026-04-22T13:57:14+00:00" }, { "id": "01a08761-c8c8-737d-8143-28ca99bb09d3", "title": "Testing Needs a Seam, Not an Interface", "url": "https://codeopinion.com/testing-needs-a-seam-not-an-interface/", "published_at": "2026-04-15T12:59:44+00:00" }, { "id": "01a08761-c8c9-7359-bd02-d710cf3ddc22", "title": "Why “Clean Code” is Killing Your Velocity", "url": "https://codeopinion.com/why-clean-code-is-killing-your-velocity/", "published_at": "2026-04-08T16:47:34+00:00" }, { "id": "01a08761-c8c9-7359-bd02-d710cfd9d112", "title": "Is Event-Driven Architecture Overkill for Most Apps?", "url": "https://codeopinion.com/is-event-driven-architecture-overkill-for-most-apps/", "published_at": "2026-03-26T13:28:28+00:00" }, { "id": "01a08761-c8c9-7359-bd02-d710d0989799", "title": "Coding Isn’t the Hard Part", "url": "https://codeopinion.com/coding-isnt-the-hard-part/", "published_at": "2026-03-18T13:31:17+00:00" }, { "id": "01a08761-c8c9-7359-bd02-d710d0ed3e6a", "title": "Vertical Slices doesn’t mean “Share Nothing”", "url": "https://codeopinion.com/vertical-slices-doesnt-mean-share-nothing/", "published_at": "2026-03-06T14:43:38+00:00" }, { "id": "01a08761-c8c9-7359-bd02-d710d170c222", "title": "Read Replicas Are NOT CQRS (Stop Confusing This)", "url": "https://codeopinion.com/read-replicas-are-not-cqrs-stop-confusing-this/", "published_at": "2026-02-18T14:36:02+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f87c4c60c", "title": "Your Idempotent Code Is Lying To You", "url": "https://codeopinion.com/your-idempotent-code-is-lying-to-you/", "published_at": "2026-02-04T13:56:35+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f88bf3d49", "title": "You Can’t Future-Proof Software Architecture", "url": "https://codeopinion.com/you-cant-future-proof-software-architecture/", "published_at": "2026-01-20T23:19:58+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f894c1dd7", "title": "Context Is the Bottleneck in Software Development", "url": "https://codeopinion.com/context-is-the-bottleneck-in-software-development/", "published_at": "2026-01-05T21:44:22+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8a3847b1", "title": "Why “Microservices” Debates Miss the Point", "url": "https://codeopinion.com/why-microservices-debates-miss-the-point/", "published_at": "2025-12-16T22:28:29+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8a661b1e", "title": "Aggregates in DDD: Model Rules, Not Relationships", "url": "https://codeopinion.com/aggregates-in-ddd-model-rules-not-relationships/", "published_at": "2025-12-08T19:21:17+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8af50033", "title": "Domain-Driven Design Misconceptions", "url": "https://codeopinion.com/domain-driven-design-misconceptions/", "published_at": "2025-12-01T22:51:15+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8b606504", "title": "Minimal APIs, CQRS, DDD… Or Just Use Controllers?", "url": "https://codeopinion.com/minimal-apis-cqrs-ddd-or-just-use-controllers/", "published_at": "2025-11-24T22:14:32+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8bdf2eb6", "title": "Clean Up Bloated CQRS Handlers", "url": "https://codeopinion.com/clean-up-bloated-cqrs-handlers/", "published_at": "2025-11-11T20:13:00+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8ca6d642", "title": "Double Dispatch in DDD", "url": "https://codeopinion.com/double-dispatch-in-ddd/", "published_at": "2025-10-29T15:25:23+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8cf1b988", "title": "Authorization: Domain or Application Layer?", "url": "https://codeopinion.com/authorization-domain-or-application-layer/", "published_at": "2025-10-22T15:36:47+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8d0ecf4f", "title": "Your API Errors Suck (Here’s How to Fix Them)", "url": "https://codeopinion.com/your-api-errors-suck-heres-how-to-fix-them/", "published_at": "2025-10-07T21:44:31+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8dae3a7f", "title": "CRUD-Sourcing is why Your Event Streams Are Bloated", "url": "https://codeopinion.com/crud-sourcing-is-why-your-event-streams-are-bloated/", "published_at": "2025-09-24T21:08:52+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8dc6d80f", "title": "Regex for Email Validation? Think Again!", "url": "https://codeopinion.com/regex-for-email-validation-think-again/", "published_at": "2025-09-15T19:48:44+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8de73e5e", "title": "Composing Data from Multiple Services", "url": "https://codeopinion.com/composing-data-from-multiple-services/", "published_at": "2025-09-04T13:47:04+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8df557be", "title": "Why Separate Databases? Explaining Like You’re Five", "url": "https://codeopinion.com/why-separate-databases-explaining-like-youre-five/", "published_at": "2025-08-21T18:16:33+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8eb0baab", "title": "Loosely Coupled Monolith – Software Architecture – 2025 Edition", "url": "https://codeopinion.com/loosely-coupled-monolith-software-architecture-2025-edition/", "published_at": "2025-08-07T16:52:29+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8f2b3450", "title": "Database Migration Strategies", "url": "https://codeopinion.com/database-migration-strategies/", "published_at": "2025-07-25T14:55:42+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8fa73a0a", "title": "Distributed Systems Mistakes Nobody Warns You About: Consistency", "url": "https://codeopinion.com/distributed-systems-mistakes-nobody-warns-you-about-consistency/", "published_at": "2025-07-10T21:41:08+00:00" }, { "id": "01a0c503-58b9-70a7-be84-c72f8fd1e98b", "title": ".NET Channels as a In-Memory Message Bus – Beware!", "url": "https://codeopinion.com/net-channels-as-a-in-memory-message-bus-beware/", "published_at": "2025-06-26T21:26:05+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156c9cf7045b", "title": "5 Mistakes That Make Your Code Unmaintainable", "url": "https://codeopinion.com/5-mistakes-that-make-your-code-unmaintainable/", "published_at": "2025-06-19T19:45:23+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156c9d91b578", "title": "You DON’T Need Microservices for Serverless! ", "url": "https://codeopinion.com/you-dont-need-microservices-for-serverless/", "published_at": "2025-06-12T16:20:47+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156c9deb3aa8", "title": "API Caching Done Right", "url": "https://codeopinion.com/api-caching-done-right/", "published_at": "2025-06-05T16:15:39+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156c9e22e967", "title": "Database Coupling: How to FIX a Spaghetti Code System", "url": "https://codeopinion.com/database-coupling-how-to-fix-a-spaghetti-code-system/", "published_at": "2025-05-28T19:26:21+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156c9ed60fc4", "title": "10 Years of Software Architecture: Best And Worst Decisions", "url": "https://codeopinion.com/10-years-of-software-architecture-best-and-worst-decisions/", "published_at": "2025-05-13T20:51:09+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156c9f30a453", "title": "CRUD APIs are Poor Design", "url": "https://codeopinion.com/crud-apis-are-poor-design/", "published_at": "2025-05-09T14:28:05+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156c9fdbe8c4", "title": "DTOs & Mapping : The Good, The Bad, And The Excessive", "url": "https://codeopinion.com/dtos-mapping-the-good-the-bad-and-the-excessive/", "published_at": "2025-05-01T14:43:02+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156ca02a3bcf", "title": "Cloud vs Self-Hosting", "url": "https://codeopinion.com/cloud-vs-self-hosting/", "published_at": "2025-04-23T18:50:27+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156ca11ce94e", "title": "Microservices to Monolith", "url": "https://codeopinion.com/microservices-to-monolith/", "published_at": "2025-04-16T20:11:43+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156ca1385ad7", "title": "Static Variables & Methods are Evil?", "url": "https://codeopinion.com/static-variables-methods-are-evil/", "published_at": "2025-04-10T19:07:25+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156ca231f57a", "title": "I’d rather read 50 lines than Extract Method Refactoring", "url": "https://codeopinion.com/id-rather-read-50-lines-than-extract-method-refactoring/", "published_at": "2025-04-03T20:42:53+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156ca2c11ece", "title": "Commands or Events: Which One for Workflow?", "url": "https://codeopinion.com/commands-or-events-which-one-for-workflow/", "published_at": "2025-03-25T20:01:25+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156ca2ce8471", "title": "Screaming Architecture: Not Driven By Entities", "url": "https://codeopinion.com/screaming-architecture-not-driven-by-entities/", "published_at": "2025-03-19T16:08:42+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156ca2e35ab4", "title": "Do you really need that abstraction or generic code? (YAGNI)", "url": "https://codeopinion.com/do-you-really-need-that-abstraction-or-generic-code-yagni/", "published_at": "2025-03-11T16:33:01+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156ca34c31d7", "title": "DRY principle is why your codebase sucks?", "url": "https://codeopinion.com/dry-principle-is-why-your-codebase-sucks/", "published_at": "2025-03-04T22:11:35+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156ca34f6a2d", "title": "Distributed Systems Consistency: Mistake Nobody Warns You About!", "url": "https://codeopinion.com/distributed-systems-consistency-mistake-nobody-warns-you-about/", "published_at": "2025-02-25T20:26:53+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156ca42ac7d8", "title": "Multi-Tenant: Database Per Tenant or Shared?", "url": "https://codeopinion.com/multi-tenant-database-per-tenant-or-shared/", "published_at": "2025-02-19T20:52:30+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156ca4559a90", "title": "Persistence Ignorance is Overrated", "url": "https://codeopinion.com/persistence-ignorance-is-overrated/", "published_at": "2025-02-05T22:45:15+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156ca48c9093", "title": "The Power of Ubiquitous Language in Domain-Driven Design", "url": "https://codeopinion.com/the-power-of-ubiquitous-language-in-domain-driven-design/", "published_at": "2025-01-22T23:43:05+00:00" }, { "id": "01a0c515-c6b2-70b6-b8fe-156ca501d3d4", "title": "Event-Driven Architecture Issues & Challenges", "url": "https://codeopinion.com/event-driven-architecture-issues-challenges/", "published_at": "2025-01-16T22:27:28+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9a897a6b5", "title": "Design Patterns for Building Resilient Systems", "url": "https://codeopinion.com/design-patterns-for-building-resilient-systems/", "published_at": "2025-01-10T15:49:18+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9a98a7c3a", "title": "Vertical Slice Architecture isn’t technical", "url": "https://codeopinion.com/vertical-slice-architecture-isnt-technical/", "published_at": "2025-01-02T16:20:33+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9aa60e05d", "title": ".NET Framework Migration to .NET9", "url": "https://codeopinion.com/net-framework-migration-to-net9/", "published_at": "2024-12-16T22:18:12+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9aaa01a5c", "title": "Avoiding a Legacy Codebase. Keep it Evergreen", "url": "https://codeopinion.com/avoiding-a-legacy-codebase-keep-it-evergreen/", "published_at": "2024-12-05T15:57:14+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9ab19e636", "title": "Never rewrite code?", "url": "https://codeopinion.com/never-rewrite-code/", "published_at": "2024-11-20T20:41:25+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9ab6e8573", "title": "You’re not as loosely coupled as you think!", "url": "https://codeopinion.com/youre-not-as-loosely-coupled-as-you-think/", "published_at": "2024-11-13T21:58:33+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9ac36ddea", "title": "Your Customers Don’t Care About JavaScript", "url": "https://codeopinion.com/your-customers-dont-care-about-javascript/", "published_at": "2024-11-06T22:09:43+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9ac80e472", "title": "HTMX: What’s Old is New Again", "url": "https://codeopinion.com/htmx-whats-old-is-new-again/", "published_at": "2024-10-30T21:23:30+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9ad3904fe", "title": "API Error Messages for a GOOD Developer Experience", "url": "https://codeopinion.com/api-error-messages-for-a-good-developer-experience/", "published_at": "2024-10-16T21:45:35+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9adb4f5fe", "title": "Web-Queue-Worker Architecture Style for Scaling", "url": "https://codeopinion.com/web-queue-worker-architecture-style-for-scaling/", "published_at": "2024-10-09T21:49:26+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9ae5cb4fd", "title": "Keep your project structure simple!", "url": "https://codeopinion.com/keep-your-project-structure-simple/", "published_at": "2024-10-02T21:47:36+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9ae9630a9", "title": "Debunking Kafka Top 5 Use Cases", "url": "https://codeopinion.com/debunking-kafka-top-5-use-cases/", "published_at": "2024-09-20T16:45:52+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9af83c4a9", "title": "Event Sourcing 101: Terminology & Concepts", "url": "https://codeopinion.com/event-sourcing-101-terminology/", "published_at": "2024-09-11T22:22:47+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9affbe0d5", "title": "Feature Flags are more than just Toggles", "url": "https://codeopinion.com/feature-flags-are-more-than-just-toggles/", "published_at": "2024-08-28T21:29:58+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9b0491dce", "title": "Serverless Sucks?", "url": "https://codeopinion.com/serverless-sucks/", "published_at": "2024-08-21T21:45:53+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9b0bef92c", "title": "Build better HTTP APIs", "url": "https://codeopinion.com/build-better-http-apis/", "published_at": "2024-08-14T20:51:12+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9b19ec05f", "title": "Is this a Monolith or Microservices?", "url": "https://codeopinion.com/is-this-a-monolith-or-microservices/", "published_at": "2024-08-08T20:54:34+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9b27f6884", "title": "Is Vertical Slice Architecture better than Clean Architecture or Ports and Adapters?", "url": "https://codeopinion.com/is-vertical-slice-architecture-better-than-clean-architecture-or-ports-and-adapters/", "published_at": "2024-07-17T21:30:08+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9b2d25e2f", "title": "Avoiding long-running HTTP API requests", "url": "https://codeopinion.com/avoiding-long-running-http-api-requests/", "published_at": "2024-07-06T15:18:26+00:00" }, { "id": "01a0c520-da00-71f4-b7ec-7bf9b334d9ca", "title": "Enums aren’t evil. Conditional statements everywhere are", "url": "https://codeopinion.com/enums-arent-evil-conditional-statements-everywhere-are/", "published_at": "2024-06-19T22:54:26+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc0ca737f", "title": "Goodbye, long procedural code! Fix it with workflows", "url": "https://codeopinion.com/goodbye-long-procedural-code-fix-it-with-workflows/", "published_at": "2024-06-13T20:13:16+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc0fbe19e", "title": "Beware! Anti-patterns in Event-Driven Architecture", "url": "https://codeopinion.com/beware-anti-patterns-in-event-driven-architecture/", "published_at": "2024-06-06T18:32:20+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc177a3f1", "title": "The Bulkhead Pattern: How To Make Your System Fault-tolerant", "url": "https://codeopinion.com/the-bulkhead-pattern-how-to-make-your-system-fault-tolerant/", "published_at": "2024-05-30T20:19:43+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc1b376dc", "title": "Locking In On Concurrency Control", "url": "https://codeopinion.com/locking-in-on-concurrency-control/", "published_at": "2024-05-23T16:40:22+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc1bf50da", "title": "How to (and how not to) design REST APIs", "url": "https://codeopinion.com/how-to-and-how-not-to-design-rest-apis/", "published_at": "2024-05-10T14:58:44+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc2a57f96", "title": "Vertical Slice Architecture Myths You Need To Know!", "url": "https://codeopinion.com/vertical-slice-architecture-myths-you-need-to-know/", "published_at": "2024-04-24T21:55:11+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc2df7379", "title": "Google Service Weaver is a Bad idea", "url": "https://codeopinion.com/google-service-weaver-is-a-bad-idea/", "published_at": "2024-04-18T15:53:41+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc328887e", "title": "Not everything is a service.", "url": "https://codeopinion.com/not-everything-is-a-service/", "published_at": "2024-04-03T21:43:22+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc36c5d40", "title": "The WORST Domain Modeling Mistakes!", "url": "https://codeopinion.com/the-worst-domain-modeling-mistakes/", "published_at": "2024-03-21T21:21:18+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc4465ca7", "title": "Events are an API. Treat them like one.", "url": "https://codeopinion.com/events-are-an-api-treat-them-like-one/", "published_at": "2024-03-14T21:07:58+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc5387db7", "title": "Event-Driven Architecture lost its way", "url": "https://codeopinion.com/event-driven-architecture-lost-its-way/", "published_at": "2024-03-07T22:15:05+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc5fbd808", "title": "App Configuration: where does it go?", "url": "https://codeopinion.com/app-configuration-where-does-it-go/", "published_at": "2024-02-28T22:55:31+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc69fc86d", "title": "ORMs can lead to FAT domain models. Slim them down!", "url": "https://codeopinion.com/orms-can-lead-to-fat-domain-models-slim-them-down/", "published_at": "2024-02-22T22:54:08+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc76f9d28", "title": "Best Developer Interview Question", "url": "https://codeopinion.com/best-developer-interview-question/", "published_at": "2024-02-15T16:21:37+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc7f23fc3", "title": "Listen to yourself pattern: Is it an alternative to the Outbox Pattern?", "url": "https://codeopinion.com/listen-to-yourself-pattern-is-it-an-alternative-to-the-outbox-pattern/", "published_at": "2024-02-08T21:26:32+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc85ee1d1", "title": "Free your HTTP API. Misconceptions are holding you back!", "url": "https://codeopinion.com/free-your-http-api-misconceptions-are-holding-you-back/", "published_at": "2024-01-25T22:19:20+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc8e0f6c1", "title": "Want to build a good API? Here are 5 Tips for API Design.", "url": "https://codeopinion.com/want-to-build-a-good-api-here-are-5-tips-for-api-design/", "published_at": "2024-01-17T22:28:25+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc9071625", "title": "Domain Modeling Gone Wrong to Right", "url": "https://codeopinion.com/domain-modeling-gone-wrong-to-right/", "published_at": "2024-01-11T22:31:59+00:00" }, { "id": "01a0c52b-f458-7340-a3af-6e5dc9d381ea", "title": "Domain Modeling Gone Wrong – Part 1", "url": "https://codeopinion.com/domain-modeling-gone-wrong-part-1/", "published_at": "2024-01-04T21:59:19+00:00" } ] posts Claim your blog
Back to codeopinion.com
Blog · corpus.blog/blogs/codeopinion.com/posts

codeopinion.com

codeopinion.com

2026

2025

2024