AI написал проект, команда ушла. А поддерживать теперь вам
Что делать, если вам передали работающий проект на незнакомом стеке, большую часть кода написали AI-агенты, а прежней команды уже нет.
01 / Материалы
Подробные разборы инженерных решений, архитектуры, баз данных и процесса создания продуктов.
Что делать, если вам передали работающий проект на незнакомом стеке, большую часть кода написали AI-агенты, а прежней команды уже нет.
AI позволяет добавить в продакшен незнакомую технологию раньше, чем команда успеет её понять. Почему так появляются технологический зоопарк и долг компетенций.
Rails получает релизы, большие системы работают, но вход в профессию сузился: рынку нужны middle и senior, а мест, где ими становятся, заметно меньше. Почему ставка на агентов этот разрыв не закрывает.
Консоль для прода на Go: отдельный процесс с тем же composition root, read-only по умолчанию и REPL на Yaegi
DHH за год прошёл от страха потерять навык из-за AI до отказа писать код руками. Почему разворот одного инженера меняет то, какие инструменты другие считают допустимыми, и где заканчивается применимость его опыта.
Резерв товара сгорал за пять минут вместо тридцати: приложение и база писали в одну таблицу время из разных поясов. Как это найти, почему стейдж молчал и зачем проверять таймзону при старте.
Как декомпозировать задачу, учесть зависимости между задачами и довести пользовательский сценарий до результата.
ИИ помогает быстрее писать код и проверять идеи, но ускорение разработки не означает ускорение всей системы. Что происходит с тестированием, ревью, метриками и выращиванием инженеров.
Как провести онбординг разработчика: что подготовить до его выхода, как договориться об ожиданиях и почему это важно для бизнеса.
Почему высокий приоритет перестаёт работать, когда его получают почти все задачи, и как вернуть команде понятный порядок работы.
Личный опыт ручной поддержки: цена человеческой ошибки, постоянных переключений и внутренних инструментов, которые не успевают за продуктом.
Почему самодельный планировщик джоб это костыль и как заменить его периодическими задачами River: расписание у лидера, диспетчер вместо жирной задачи и защита от повторной постановки.
Личная история о командном KPI, премии за выполнение плана и о том, почему одной метрики оказалось недостаточно.
Когда метрика становится целью, люди начинают улучшать метрику, а не то, ради чего её придумали.
Интеграционные тесты Go-модуля: изоляция схемой на тест, проверка репозитория на настоящей базе, откат транзакции, участие в чужой транзакции и сквозной тест сценария.
Как тестировать модульный монолит на Go: стабы для локальных интерфейсов, табличный unit-тест оркестрации, проверка перевода типов и ошибок в адаптере и тест HTTP-клиента на httptest.
Три неочевидных нюанса в связке Gin, GORM и pgx, из-за которых интеграция с Elastic APM работала лишь частично: GORM незаметно игнорировал настройку simple protocol, SQL-спаны не доходили до Kibana, а передача gin.Context вместо request context заодно ломала отмену запросов и таймауты.
Работа заполняет всё время, которое на неё выделили.
Чем больше группа, тем меньше в среднем вклад каждого отдельного человека.
Как проверить границы Go-модулей на практике: преобразовать модели хранения и DTO, вынести внешний вызов из SQL-транзакции и запретить нежелательные импорты.
Как описать зависимости use case в Go локальными интерфейсами, перевести типы и ошибки в адаптерах и связать реализации в Composition Root.
Как открыть транзакцию на уровне use case, передать её репозиториям без зависимости бизнес-логики от ORM и правильно обработать вложенные вызовы.
Почему общий ErrNotFound смешивает разные причины ошибки, где объявлять sentinel-ошибки и как переводить ошибки GORM или database/sql на границе репозитория.
Практический сценарий Team Canvas для инженерной команды. Как обсудить цели, роли, ожидания и превратить ответы в рабочие договорённости.
Как поставить задачу River в ту же транзакцию, что и бизнес-запись в PostgreSQL, а затем безопасно выполнить её в отдельном воркере.
Проект это папка, и то, что получит в ней агент, зависит от области установки, приоритета клиентов, файлов инструкций и каталога запуска. Как увидеть все четыре причины и сравнить два репозитория.
Что накапливается в Claude Code, Codex, Cursor, GLM и OpenCode за год и как это разобрать: откуда взялся каждый файл, что находит сканер, сколько он стоит на каждом запросе и срабатывает ли скилл вообще.
Инженерный блог без CMS и базы: статья это файл в репозитории, локальная и production-сборки идут по одному коду, а в бою работает только nginx.
По выбранным фильтрам материалов нет.