Keyboard Navigation
W
A
S
D
or arrow keys · M for map · Q to exit

The Archive

Best practices by year — what we believed, and what happened next

1992superseded

Load All Data at Application Startup

Pre-load all reference data, lookup tables, and configuration into memory during application initialization

VB6, Delphi, PowerBuilder, FoxPro, Access VBA · community
1998inverted

Build SQL Queries with String Concatenation

Construct SQL queries by concatenating user input directly into query strings

PHP, Perl, ASP, Java, ColdFusion · official_docs
2001inverted

Move Fast and Break Things

Ship iteratively, skip comprehensive documentation, respond to change over following a plan, value working software over written specs

All · conference
2001inverted

Move Fast and Break Things

Ship iteratively, skip comprehensive documentation, respond to change over following a plan, involve stakeholders continuously

organizational, process · manifesto
2003active

Use Prepared Statements for SQL Queries

Separate SQL structure from user-supplied data using parameterized queries

PHP, Java, Python, C#, JavaScript · official_docs
2005active

Lazy Load Data On Demand

Defer data loading until the moment it is actually needed, rather than pre-loading at startup

Java, C#, Ruby, Python, JavaScript · textbook
2007active

Apply the Circuit Breaker Pattern

Wrap remote calls in a circuit breaker that fails fast when a downstream service is unhealthy

Java, Go, C#, Python, JavaScript · textbook
2014superseded

Decompose Everything into Microservices

Break monolithic applications into independently deployable services, each owning a single bounded context

Java, Go, Node.js, Python, C# · conference
2015active

Implement Health Check Endpoints

Expose a dedicated HTTP endpoint that reports application health for orchestrators and load balancers

Go, Java, Node.js, Python, C# · framework_default