Kenneth Teh / Lead Engineer← Portfolio

Engineering note / Backend product craft

Product judgment belongs in backend architecture

The shape of data, state transitions, contracts, and failure modes quietly defines what customers and operating teams experience.

Kenneth TehWorking model
01

Architecture encodes product behavior

A data model decides what the product can remember. A state machine decides which journeys are recoverable. An API contract decides which explanations the interface can give. These are not implementation details after the product decision; they are part of the product decision.

02

Start with the irreversible choices

Before choosing components, identify the facts that must remain historically true, the operations that must be idempotent, the transitions that need human review, and the failures customers must be able to recover from.

  • Preserve facts that will matter during disputes or reconciliation.
  • Model intermediate states instead of pretending work is instantaneous.
  • Design correction paths before the first incident.
  • Make operational cost visible in product trade-offs.
03

Use customer language at system boundaries

Domain names should connect technical state to real product concepts. That shared vocabulary reduces translation errors across product, engineering, operations, and support—and makes the system easier to change when the business evolves.

04

The Lead Engineer's role

The job is to keep product intent, system constraints, delivery sequence, and operating reality in the same conversation. The best architecture is not the most elaborate; it is the smallest durable structure that preserves the right future options.