Vai al contenuto principale
JobCannon
Tutte le competenze

ADR Writing Architecture

⬢ LIVELLO 2Tecniche
Alto
Impatto sullo stipendio
1 mesi
Tempo di apprendimento
Medio
Difficoltà
—
Carriere
In sintesi

ADR (Architecture Decision Record) is a lightweight format for capturing technical decisions, their context, consequences, and alternatives. Writing ADRs takes 30 minutes per decision but saves 10+ hours when a new engineer asks 'why did we choose Postgres over MongoDB?' Mastery: learning format + building team discipline takes 2-3 weeks. Senior architects and staff engineers earn 15-25% more partly because they codify decisions others forget.

Cos'è ADR Writing Architecture

An ADR (Architecture Decision Record) is a structured document capturing a significant technical decision, the context that led to it, alternatives considered, and consequences of the choice. ADRs live in version control (Git) as Markdown files, numbered sequentially (ADR-001, ADR-002, etc.). They're short (one page) and written *after* the decision is made, not as a pre-decision justification. The format is simple: Context → Decision → Consequences → Alternatives. The point is decision transparency and future onboarding.

🔧 STRUMENTI ED ECOSISTEMA
Markdown formatadr-tools CLIGitHub/GitLab for ADR storagedecision-making frameworksarchitecture diagramsGit history

💰 Stipendio per regione

RegioneLivello baseMidLivello esperto
USA$85k$140k$200k
UK£51k£84k£120k
EU€56k€92k€130k
CANADAC$90kC$145kC$210k

❓ Domande frequenti

What's an ADR and how is it different from documentation?
ADR = one decision, with context, alternatives, and consequences. Docs = how things work now. ADRs explain *why* you chose A over B. 'We use PostgreSQL' (doc). 'We chose Postgres over MongoDB for schema flexibility and ACID transactions; downside is we can't horizontally scale as easily' (ADR). Much richer.
How long should an ADR be?
One page, 500-800 words. Not an essay. Title, Status, Context, Decision, Consequences, Alternatives section. If you're writing more than 1000 words, you're over-explaining. One decision per ADR.
When should I write an ADR?
When a decision is: 1) Architectural (affects system design), 2) Has alternatives (we could have chosen differently), 3) Has consequences (impacts future work). Don't write ADRs for routine coding decisions. Write for framework choice, database schema, API design, caching strategy, auth model.
Should I write ADRs retroactively for old decisions?
Yes, for important ones. If you're explaining to a new engineer why the codebase is the way it is, that's an ADR you should have written. Go back and write it. Your future self will thank you.
What happens when a decision is reversed?
Mark the old ADR as 'Superseded By ADR-007'. Write a new ADR explaining why you're changing course. The audit trail is the point. New engineers see: we tried X, it didn't work because Y, now we're trying Z.
How do I avoid ADR bloat?
Not every decision needs an ADR. Routine feature decisions? No. Database choice, API versioning strategy, auth system overhaul? Yes. Ask: 'Will a new engineer need to understand this decision in 2 years?' If yes, write it.
Can I use ADRs to slow down development?
No. ADRs should be written *after* decision, not before. Synchronous: decide as a team, then document 30 min later. Never use ADRs as a gate for shipping.

Non sei sicuro che questa competenza faccia per te?

Fai il Career Match — ti suggeriremo i percorsi giusti.

Trova le competenze adatte a te →

Trova il tuo percorso di carriera ideale

Abbinamento basato sulle competenze per 2521 carriere. Gratis, ~3 minuti.

Fai il Career Match — gratis →