API design: build contracts that survive change
How to design HTTP APIs around clear resources and contracts: names, methods, validation, errors, pagination, idempotency, versioning and the evidence needed to evolve an API safely.
Read articleInsights
Technical articles on languages, databases, serverless platforms and the awkward realities of keeping systems moving.
Showing 1–9 of 23 Engineering articles
How to design HTTP APIs around clear resources and contracts: names, methods, validation, errors, pagination, idempotency, versioning and the evidence needed to evolve an API safely.
Read articleHow to use Tailwind CSS for responsive, maintainable product interfaces: design tokens, component boundaries, state variants, responsive layouts and the discipline that stops utility classes becoming a second source of complexity.
Read articleA practical introduction to Redis caching: when cache-aside helps, how TTLs and invalidation bound stale data, and how to avoid cache stampedes, hidden failure modes and treating a cache as the source of truth.
Read articleWhy clear requirements and real constraints improve software decisions: they reduce unhelpful degrees of freedom, make trade-offs explicit and give teams a shared basis for building, testing and changing a product.
Read articleA practical introduction to Docker: the difference between images and containers, a small Dockerfile, everyday commands, Compose for local dependencies and the habits that make containers useful rather than mysterious.
Read articleA practical explanation of the Waterfall approach to software delivery: its sequential stages, when clear gates and documentation help, and why uncertain product work needs earlier feedback and room to change.
Read articleHow to choose between Kanban and Scrum: match the method to the predictability, interruption rate and feedback needs of the work, then use measures and team habits to improve flow rather than following a ceremony by default.
Read articleHow startup culture can create speed, ownership and closeness to customers, and how to retain those strengths as a company grows without normalising burnout, vague decisions or layers of corporate process.
Read articleHow to reduce noise in software engineering across code, pull requests, planning, monitoring and communication, so teams can spot meaningful change, make sound decisions and spend less time sorting through low-value activity.
Read articleStart a conversation
A feature that needs shipping, an ageing service that needs attention, or a deployment that has become harder than the code. Talk to us about your problems.