Draw the boundaries before you parallelize

Decomposing a monolith into services and parallelizing its computation look like one project. Doing them in the wrong order makes the second one much harder.

  • distributed systems
  • architecture
  • data contracts

The reconciliation layer earns its keep

A validation framework isn't a tax on a performance redesign — on the benchmark system, it's what made the aggressive part of the redesign possible.

  • validation
  • financial systems
  • reliability

On unfamiliar hardware, tooling isn't overhead

An assembler and debugger for a custom processor. Diagnostic tooling for a fax protocol nobody could see fail. Neither shipped as a feature, and both were the reason anything else could.

  • embedded systems
  • tooling
  • debugging

What might come next

Topics pulled from real project history that haven't been written up yet.