Hills I have chosen to die on:
REST is not SQL over HTTP
Microservices is not HTTP over Docker
Agile is not Scrum
DevOps is not a tool, position, title, or department
AC/DCs music is not good
"Microservices are hard, do modular monoliths instead!"
OK but one of the hardest parts of building microservices is defining the boundaries, and those boundaries will be similar/identical in a modular monolith
people people people
do NOT unit tests your controllers
do NOT write mock-heavy tests for dependencies you control
do NOT write tests that couple to internal implementation details
we should have learned this 10 years ago
“Feature branches” vs trunk-based development is a straw man.
Branch lifetime is a primary indicator of integration difficulty.
Keep stories small, branches are short. Attack the disease, not the symptom
more free advice: if you want to be a microservices expert, focus on messaging and integration patterns, not containerization and docker. latter are just possible implementation patterns
hot take: the DDD structural patterns (entities, aggregates, repositories etc) have done more harm than good
just ENDLESS bike shedding about "this cant do that" "this cant reference that" with no connection to delivering value
Here are 9 excellent libraries I use in my projects:
1. MediatR
2. Polly
3. EF Core
4. Refit
5. Testcontainers
6. MassTransit
7. Marten
8. xUnit
9. Dapper
Which library would you add to the list?
---
Subscribe to my weekly newsletter to accelerate your .NET
People, it’s not that complicated:
REST is an architecture style to expose your SQL database as HTTP.
GraphQL is a protocol to expose your MongoDB as HTTP.
Duh.
A few things i dont want to ever deal with in my career again (unless it’s to move away from it):
MVVM (and by extension, XAML)
SSIS
AngularJS
MSI
(D)COM
DTC
WCF
What am I missing
Look if a tech dude is ranting about Trump getting an unfair trial, banana republic, etc etc just block them
If their takes are this bad in one area I promise you they’re not that Clean in any other area
current project is moving away from RPC-style microservices to event-driven, and it's amazing how much simpler the picture gets
going from ~100 "microservices" to around a dozen where the boundaries are much more explicit
Twitch streaming looks like an interesting platform for live coding. Would anyone be interested in seeing my style for an hour?
It’s cursing like a sailor for 59 minutes before realizing I made some dumb obvious mistake
It’s OK to unfollow/block someone with hateful views, that’s not creating an echo chamber. Plenty of room for discourse and disagreement without the noise of hate.
“But he’s a founder of agile!” Yes, and....? When someone shows you who they are, believe them.
i get the weirdest github feature requests in the name of Clean Architecture
"can you move all your interfaces to a separate package because we're not allowed to reference anything with concrete types"
ummm...pass
It probably won't interest too many people, but thinking my next talks will dive into the technical details of distributed systems communication patterns like outbox, inbox, sagas, process managers etc.
Because *I* enjoy talking about them
when folks say CQRS is complex and over-architected, they've been sold on some super complex variant. I use CQRS on the vaaaast majority of projects because it is such a simple pattern
🚀Folks, I explained today the facts and myths of
#CQRS
!
If you heard you need:
- 2 databases
- to use a messaging queue
- to be facing Eventual Consistency
- use it with Event Sourcing
and it's hard to apply and complicates the architecture.
Check 👇