There's no such thing as a decision without a downside. You're always picking the least bad tradeoff you can live with. So here's the test I run on every ADR I review: if the "Consequences" section reads like nothing could go wrong, it isn't finished yet.
ADRs get a bad rep.
I've written and championed them for years, so I'll say it plainly: that reputation is earned by ADRs done badly. It isn't a problem with ADRs.
Can we detect it earlier? Do we put a guardrail around it? Or do we look at it and decide it's a risk we can live with? Any of those is a fine answer. Inheriting the failure quietly, because nobody wrote it down, is not.
If you're running a multi-agent pipeline, this is probably its weakest link: nothing checks whether the agents reasoned correctly, only whether they produced output. Add a skeptic and don't let it see the code, so it has to judge the argument rather than redo the work.
I built a multi-agent code review pipeline, and deliberately barred one agent from seeing the code.
It's a critic. Its job isn't to find bugs. It's to judge whether the other agents reasoned well: did they back their claims, or just wave their hands?
The critic sees only the aggregated report. No diff, no source. That sounds like a handicap, but it isn't.
Give the critic source access, and it stops critiquing and starts reviewing. Keeping the code away from it forces it to interrogate the reasoning.
Once the scope is at the top, the rest falls out of it. How hard you escalate depends on it; how carefully you assess depends on it. Background goes last, because at 3 am, nobody reads the architecture section first.
What's the one line you wish every runbook opened with?
Most runbooks are written to be complete, not to be read during a 3 am panic.
That's understandable. There's no agreed-upon standard for how to structure one, so people optimise for what they can measure, and end up with a thorough document that nobody can actually navigate.
The first beat is the one everyone skips: scope. Before a single step, tell me the blast radius, and put it in numbers. Not "this could affect performance." How many replicas are in play, how much concurrency, whether this is one customer or the whole fleet.
It was amazing to see how the students were grasping each concept and highlighting the limitations and trade-offs that a framework usually abstracts away.
If you want to truly understand AI agents, build one without the abstractions.
#AIAgents#HandsOn#42Berlin#SAP#Java
Why I taught AI agents without using any framework:
Last week, I spent 3 hours at 42 Berlin. 20 students built an AI agent from scratch with me.
We used raw Java. No LangChain. No orchestration libraries. No frameworks. No SDKs.
The point was not to rebuild what already exists but to show what an agent actually does when it runs:
โ How it parses prompts and responses.
โ How it manages context.
โ How it calls tools.
โ How it decides the next step.
Ever lose track of time while coding for hours? ๐
Long stretches arenโt always productive. Iโve found that 25 minutes of focused work + a short break keeps me balanced and sharp.
Try Pomodoro if youโre in a coding trance. It might just boost your focus!
#Productivity#WorkSmart
During a recent interview, I saw firsthand how discrepancies between a teamโs language and the codebase can cause confusion. ๐ค
Shape a language that keeps your code aligned with the business reality. Your team will thank you for it. ๐
#DevLife#UbiquitousLanguage#CodeClarity
As developers, we work on multiple levels: Personal, Team, and Product.
Letโs strive to be developers who think beyond our immediate scope and contribute to building products that matter.
Align with the bigger picture! ๐
#DevLife#TechLeadership#ProductMindset
Simplicity in code is underrated. It's easy to write complex solutions, but it takes real skill to simplify. Clean, understandable code is easier to maintain and scale. โจ
#CleanCode#Java#SoftwareCraftsmanship
No one writes perfect code in isolation. Collaboration is key to building great software. Whether itโs pair programming or peer reviews, multiple perspectives make the code stronger. ๐ค
#Teamwork#CodeReview#JavaDev