DHH за год прошёл от страха потерять навык из-за AI до отказа писать код руками. Почему разворот одного инженера меняет то, какие инструменты другие считают допустимыми, и где заканчивается применимость его опыта.
Резерв товара сгорал за пять минут вместо тридцати: приложение и база писали в одну таблицу время из разных поясов. Как это найти, почему стейдж молчал и зачем проверять таймзону при старте.
ИИ помогает быстрее писать код и проверять идеи, но ускорение разработки не означает ускорение всей системы. Что происходит с тестированием, ревью, метриками и выращиванием инженеров.
Почему самодельный планировщик джоб это костыль и как заменить его периодическими задачами River: расписание у лидера, диспетчер вместо жирной задачи и защита от повторной постановки.
Интеграционные тесты Go-модуля: изоляция схемой на тест, проверка репозитория на настоящей базе, откат транзакции, участие в чужой транзакции и сквозной тест сценария.
Как тестировать модульный монолит на Go: стабы для локальных интерфейсов, табличный unit-тест оркестрации, проверка перевода типов и ошибок в адаптере и тест HTTP-клиента на httptest.
Как проверить границы Go-модулей на практике: преобразовать модели хранения и DTO, вынести внешний вызов из SQL-транзакции и запретить нежелательные импорты.
Почему общий ErrNotFound смешивает разные причины ошибки, где объявлять sentinel-ошибки и как переводить ошибки GORM или database/sql на границе репозитория.
Проект это папка, и то, что получит в ней агент, зависит от области установки, приоритета клиентов, файлов инструкций и каталога запуска. Как увидеть все четыре причины и сравнить два репозитория.
Что накапливается в Claude Code, Codex, Cursor, GLM и OpenCode за год и как это разобрать: откуда взялся каждый файл, что находит сканер, сколько он стоит на каждом запросе и срабатывает ли скилл вообще.