Программная инженерия

Для меня программная инженерия — это способность менять систему, не теряя над ней контроль. Архитектура — не схема на стене. Это набор решений, которые продолжают работать, когда сдвинулись команда, нагрузка и сам продукт. Большую часть карьеры я работал внутри уже больших систем: платёжные и рекламные стеки, игровые бэкенды, контентные платформы. Это редко была чистая разработка с нуля. Это была задача снова научить зрелый код поставлять изменения, удержать ментальную модель достаточно маленькой для команды и не принять случайную сложность за прогресс. Этот раздел — про этот слой. Архитектура и ответственность. Эволюция legacy. Поставка и надёжность. Ревью кода как способ держать общий стандарт. Тесты как контракт с будущим. Разработка с AI тоже здесь: не как отдельная религия, а как изменение скорости правок, которое по-прежнему требует инженерного суждения. Система здорова, если компетентная команда всё ещё может её объяснить, изменить и выкатить. Всё остальное — декорация.
  • 04.09.2026 · 17 мин чтения

    Code review с AI: что проверять, когда код стало слишком легко писать

    AI удешевил написание кода, но не понимание. Review смещается с синтаксиса на intent, scope, архитектуру и вопрос, должен ли этот код вообще существовать.

  • 04.09.2026 · 12 мин чтения

    Кто отвечает за код, написанный AI

    AI поменял, кто производит текст, но не то, кто решает оставить его в системе. Ownership остаётся у человека, который понимает изменение и принимает merge.

  • 11.01.2026 · 8 мин чтения

    AI ускоряет внесение изменений быстрее, чем мы успеваем их осмыслить

    ACDD, атомарное мышление и контроль ответственности в эпоху AI. Как история коммитов отражает инженерное мышление и почему атомарные изменения особенно важны при работе с AI-кодингом.

  • 01.01.2026 · 3 мин чтения

    Системные языки

    Системными языками программирования обычно называют такие, на которых создают низкоуровневые ПО вроде операционных систем, драйверов или новые языки программирования.

  • 26.01.2024 · 6 мин чтения

    Как компилируется Rust

    Компилятор Rust, известный как rustc, проходит через несколько стадий, чтобы преобразовать исходный код на языке Rust в исполняемый файл.

  • 19.01.2024 · 4 мин чтения

    Немного про Rust

    Язык программирования Rust был создан для разработки безопасного и эффективного ПО, позволяя контролировать низкоуровневые детали, при этом обеспечивая безопасность и предотвращение ошибок.

  • 16.01.2024 · 4 мин чтения

    Хвостовая рекурсия

    Хвостовая рекурсия — это форма рекурсии, в которой рекурсивный вызов становится последней операцией в функции. Хвостовая рекурсия быстрее за счет оптимизации компилятором.

  • 15.01.2024 · 3 мин чтения

    Ранний возврат ошибок

    Ранний возврат ошибок — это подход, при котором функция возвращает ошибку как можно раньше, если ее можно определить. Это облегчает чтение и понимание кода.

  • 14.01.2024 · 3 мин чтения

    Garbage Collector

    Сборщик мусора (Garbage Collector, GC) — это автоматическое управление памятью, которое избавляет разработчиков от ручного выделения и освобождения памяти, предотвращая ошибки и сбои программы.

  • 14.01.2024 · 3 мин чтения

    Зачем изучать СИКП

    СИКП (Структура и интерпретация компьютерных программ) является одним из наиболее известных учебников по программированию. Изучение СИКП полезно по нескольким причинам.

  • 14.01.2024 · 2 мин чтения

    Zero Cost Abstractions

    Благодаря отсутствию GC в Rust мы получаем нулевую стоимость абстракций (zero cost abstractions). Дело в том, что абстракции обычно не даются нам бесплатно.

  • 16.11.2023 · 4 мин чтения

    TOML

    TOML (Tom's Obvious, Minimal Language) — это простой язык конфигурации, разработанный Томом Престон-Вернером. Активно используется в Rust для указания зависимостей библиотек Cargo.

  • 02.11.2023 · 5 мин чтения

    Стек и куча

    В большинстве языков разработчик не думает о том, как данные хранятся в памяти. Но в языках системного программирования, одним из которых является Rust, то, какое значение находится в стеке или в куче, влияет на поведение языка.

  • 04.09.2026 · 15 мин чтения

    Как внедрить AI в legacy-систему без переписывания проекта

    Legacy остаётся system of record, а AI появляется рядом как новый слой: adapters, read-only сценарии, shadow mode и постепенное расширение возможностей.