Estimation
Listed inEstimationIntroductionon
Why estimates are always wrong, how to be wrong usefully, and what to do when the number is not believed.
Page 16 of 18
Listed inEstimationIntroductionon
Why estimates are always wrong, how to be wrong usefully, and what to do when the number is not believed.
Listed inRubyProgramming Languageson
Optimised for programmer happiness, and still the fastest route from idea to a working product via Rails.
Listed inString AlgorithmsData Structures & Algorithmson
KMP, Rabin-Karp, suffix arrays, and edit distance — pattern matching beyond a nested loop.
Listed inWorking with Legacy CodeCode Crafton
Characterisation tests, seams, and changing code you do not understand without breaking it.
Listed inData FetchingFrontend Engineeringon
Caching, revalidation, optimistic updates, and cancelling the request whose response nobody wants.
Listed inORMs and Query BuildersDatabaseson
What they save you, the N+1 they generate, and the point at which you write the SQL yourself.
Listed inDesign a Unique ID GeneratorSystem Design Questionson
Snowflake-style IDs, clock skew, and why auto-increment stops working the moment you shard.
Listed inTesting in ProductionTestingon
Canaries, shadow traffic, synthetic checks, and feature flags as the safety net for the untestable.
Listed inMaking Technical DecisionsWorking as an Engineeron
Reversible versus one-way doors, deciding with incomplete information, and committing once you have.
Listed inImmutabilityLanguages & Type Systemson
Why shared mutable state is the root of so many bugs, and the cost of copying instead.
Listed inStacks and QueuesData Structures & Algorithmson
LIFO, FIFO, deques, and ring buffers — the structures hiding inside schedulers, parsers, and undo.
Listed inPull RequestsVersion Controlon
Sizing a change so it can actually be reviewed, and writing the description that gets it merged.
Listed inWebSockets and StreamingAPIs & Protocolson
Long-lived connections, server-sent events, backpressure, and reconnection with resume.
Listed inReadable TextAccessibilityon
Size, line length, spacing, and reflow at 400% zoom without a horizontal scrollbar.
Listed inRead-Heavy vs Write-HeavySystem Designon
The single question that most shapes a design — replicas and caches on one side, partitioning and buffering on the other.
Listed inActors and ChannelsConcurrency & Performanceon
Sharing by communicating instead of communicating by sharing, and where each model fits.
Listed inDeployment StrategiesBuild, CI & Deploymenton
Blue-green, rolling, and canary releases, with the rollback path decided before you deploy.
Listed inHow a Program RunsComputing Foundationson
Source to machine code to process — compilation, linking, loading, and what the OS hands you at startup.
Listed inElixirProgramming Languageson
Ruby-flavoured syntax on the Erlang VM — the shortest path to fault-tolerant, massively concurrent systems.
Listed inRecursionData Structures & Algorithmson
Base cases, the call stack, tail calls, and converting a recursive solution to an iterative one when the stack runs out.