跳到主要內容
JobCannon
全部技能

ADR Writing Architecture

⬢ 層級 2技術
高
薪資影響
1 個月
學習時長
中等
難度
—
職業
一覽

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.

什麼是 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.

🔧 工具與生態
Markdown formatadr-tools CLIGitHub/GitLab for ADR storagedecision-making frameworksarchitecture diagramsGit history

💰 各地區薪資

地區初級中級高級
USA$85,000$140,000$200,000
UK£51,000£84,000£120,000
EU€56,000€92,000€130,000
CANADACA$90,000CA$145,000CA$210,000

❓ 常見問題

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.

不確定這項技能適不適合你?

做一下職業匹配,我們會推薦合適的方向。

找到最適合我的技能 →

找到理想的職業方向

在 2,521 個職業中進行技能匹配。免費。

免費做職業匹配 →