Nguyễn Đình ThuyênSystems · Perspective
Principles

Design for
a way back.

I design for controlled loss and recovery, rather than keeping everything at any cost.

RESILIENCE FIRST

Explore a situation

One device lost. An anchor remains.

I treat devices as things that can fail or go missing. A way back needs an anchor outside that device, with instructions clear enough to follow under stress.

My question: with only what exists outside this device, where would I start?

A way back
  1. An independent anchor
  2. Recover the core
  3. Return to work
Explore the system

Four layers. Four priorities.

I separate the foundation for recovery, the core for operation and the parts that can be rebuilt. Choose a layer to explore its role.

An anchor for recovery.

Foundational identity and ownership need an independent recovery path. I keep this layer small, with few dependencies on services that may change.

Identity / ownership / anchor

The essentials for operation.

What makes daily work possible needs protection and a way to recover from outside. The only key should not be inside the box it opens.

Access / configuration / recovery

Infrastructure that can be rebuilt.

Domains, services and connections extend the system. I make dependencies and recovery paths clear so a failure here need not take down the foundation.

Infrastructure / dependencies / replacement

Tools I can let go of.

Applications and conveniences should make work easier. I keep the core and its data independent enough to change or leave a tool when it no longer fits.

Tools / experiments / choice
From first conversation to handover
  1. 01

    Context

    Understand the people, constraints and purpose.

  2. 02

    Structure

    Map the essentials and the dependencies.

  3. 03

    Build & check

    Work in small, inspectable steps.

  4. 04

    Leave a way back

    Document, hand over and preserve recovery.

A good system leaves room for human error.

01 / An independent anchor

A recovery path needs to exist outside the thing being recovered. I avoid loops where opening A requires B, while opening B requires A.

02 / Different parts, different priorities

I use ROOT, CORE, BRANCH and LEAF to decide what to preserve first. This is my way of thinking about design, not a security standard that applies identically to everyone.

03 / Recovery that can be carried out

Having data somewhere else and being able to retrieve it are separate things. A dependable recovery path needs clear instructions and checks under appropriate conditions.

04 / Change in manageable steps

I prefer changing one part at a time, keeping a known working state and reviewing the result before continuing. When the situation is unclear, I begin by understanding what is still available.

Keep the essentials. Leave room for error. Know the way back.