Решение senior можно объяснить через год человеку, которого не было при обсуждении: какие были варианты, почему выбрали этот, при каких условиях стоит пересмотреть.
Что важно знать
- Design doc — до реализации крупной задачи: контекст, цели и не-цели, варианты, выбор, риски, план. Обсуждение текста дешевле переделки кода.
- ADR (architecture decision record) — короткая запись одного решения: контекст, решение, последствия. Хранится рядом с кодом.
- Критерии: стоимость разработки и эксплуатации, риски, сроки, знания команды, обратимость.
- Проверка фактами: прототип, нагрузочный тест, расчёт на салфетке.
- Обратимые решения принимают быстро, необратимые (схема данных, публичный API, выбор платформы) — тщательно.