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

Фото: Jesse Bowser, Unsplash

Десять лет назад я написал свои первые строки продакшн-кода для сайтов небольшого бизнеса в Тбилиси. С тех пор я строил платформы, которыми пользуются сотни тысяч человек, в структурах Министерства здравоохранения, участвовал в разработке крупнейших онлайн-маркетплейсов Грузии, работал в международных распределённых командах — а сегодня переписываю банковскую платформу рассрочки в должности Senior Software Developer в Credo Bank.

Где-то по пути технологии сменились полностью. .NET Framework стал .NET Core. Серверный рендеринг уступил место SPA, а потом частично вернулся. Команды, которые раньше сидели в одной комнате, оказались разбросаны по континентам. И всё же, оглядываясь назад, я понимаю: самое важное, чему я научился, почти не связано с конкретными фреймворками.

Вот уроки, которые остались.

1. Технологии меняются. Фундамент — нет.

Когда я начинал, я постоянно переживал, что учу «не тот» стек. С тех пор я успел поработать с ASP.NET MVC, .NET Core, Web API, Blazor, Vue.js и полудюжиной баз данных — и каждый из этих инструментов за мою карьеру был переработан или заменён более новой версией.

Что не менялось никогда: понимание того, как на самом деле работает HTTP, как базы индексируют и обрабатывают запросы, как смоделировать задачу до того, как писать код, как называть сущности так, чтобы посторонний человек понял. Инженеры, вкладывающиеся в фундамент, проходят через любую волну. Инженеры, вкладывающиеся только во фреймворки, начинают заново каждые три года.

2. База данных — это место, где проект живёт или умирает.

Почти каждая серьёзная проблема с производительностью, которую меня просили решить — в банковских системах, на государственных платформах, в корпоративном софте — оказывалась проблемой данных. Отсутствующий индекс. Запрос, вытягивающий в десять раз больше нужного. Схема, спроектированная под то, как данные выглядели в первый день, а не в тысячный.

Фронтенд-фреймворкам достаются доклады на конференциях. Базам данных — звонки в два часа ночи. Изучите SQL глубоко, даже если не собираетесь становиться «человеком про базы». Особенно в этом случае.

3. Скучные технологии — это преимущество, а не слабость.

В начале карьеры мне хотелось использовать в каждом проекте самые новые инструменты. Потом я наблюдал, как системы на «скучных» технологиях — SQL Server, обычный ASP.NET, прямолинейная архитектура — спокойно работают годами, пока более модные проекты рушатся под собственной сложностью.

Банки и государственные учреждения выбирают зрелые технологии не просто так. Когда от платформы зависят 300 000 человек, «захватывающе» — это не комплимент. Теперь, оценивая инструмент, я задаю первым вопросом не «современный ли он?», а «сможет ли это поддерживать тот, кому оно достанется через пять лет?».

4. Фулстек — это не «знать всё». Это видеть картину целиком.

Я поднимал проект на Vue.js с нуля и провёл годы в глубине бэкенда. Фулстек не сделал меня ни лучшим фронтендером, ни лучшим бэкендером в комнате. Он дал кое-что ценнее: способность видеть, где на самом деле находится проблема.

Половина багов, которые перекидывают между «фронтом» и «бэком», существует именно потому, что никто не смотрит на систему целиком. Инженеры, способные проследить запрос от клика по кнопке до строки в базе — и обратно — это те, кто разблокирует всех остальных.

5. Читать код — навык более важный, чем писать.

За десять лет я, наверное, потратил три часа на чтение кода на каждый час его написания. Легаси банковских систем. Государственные платформы, написанные командами, которых давно нет. Кодовые базы, где документация была слухом.

Этому не учат в университете, но умение открыть незнакомый проект и построить его карту в голове — что с чем связано, где опасные зоны, о чём думали изначальные авторы — один из самых востребованных навыков в индустрии. Новый код — это просто. Работа заключается в понимании существующего.

6. Коммуникация — это инженерный навык.

Я работал в гибридных командах, полностью удалённых и международных, где утро коллеги было моим вечером. Успешнее всего работали не обязательно сильнейшие программисты — а те, кто писал понятные сообщения, задавал вопросы рано и делал свою работу видимой, не дожидаясь просьбы.

В распределённой команде хорошо написанное сообщение в Slack или точно поставленная задача в Jira — это инженерная работа. Код, контекст которого никто не понимает, — это обязательство, каким бы элегантным он ни был. Если бы я мог дать джунам один совет, он был бы таким: навык письма накапливается точно так же, как навык программирования.

7. Пользователям всё равно на вашу архитектуру.

Я работал над платформами, которыми пользовались соискатели на государственном портале, покупатели автомобилей и сотрудники банка. Ни одного из них не волновало, красиво ли разложен бэкенд по слоям и использовали ли мы новейший паттерн. Их волновало, загружается ли страница, верны ли данные и работает ли система тогда, когда она нужна.

Хорошая архитектура важна — но только как средство достижения этой цели. В момент, когда архитектура становится самоцелью, вы строите для собственного удовольствия, а не для людей, ради которых софт существует.

8. Каждая предметная область учит тому, чему не научит ни один туториал.

Банкинг научил меня, что на самом деле значит «безопасно», когда через твой код проходят реальные деньги. Государственные проекты научили строить с расчётом на масштаб и на пользователей, которые никогда не читают инструкций. Маркетплейсы научили тому, что производительность — это фича, которую пользователь чувствует мгновенно. А переписывание легаси-платформы в банке учит меня, что некоторые системы настолько переплетены с бизнесом, что самое сложное в работе — понять задачу, а не написать решение.

Технические навыки переносятся с работы на работу. Но именно знание предметной области превращает разработчика в инженера, которому доверяют важные системы. Учите не только стек — учите бизнес.

9. Удалёнка вознаграждает дисциплину, а не часы.

Я работаю с распределёнными командами ещё с тех времён, когда это не было мейнстримом. Неудобная правда: удалёнка не делает инженера лучше или хуже — она усиливает то, чем вы уже являетесь. Организованные становятся крайне эффективными. Неорганизованные тихо тонут.

Мне помогло отношение к самодисциплине как к части профессии: понятные рабочие часы, честные отчёты о статусе и смелость сказать «я застрял» на первый день, а не на четвёртый. Доверие в удалённой команде строится из мелких, скучных, регулярных моментов.

10. Через десять лет цель — уже не выглядеть умным.

Главный сдвиг за десять лет произошёл у меня в голове. Джуном я хотел доказать, что я умный: сложные решения, неочевидные приёмы, защита своего кода на ревью. Теперь я измеряю себя иначе: решение простое? Сможет ли коллега поддерживать его без меня? Стали ли люди вокруг работать эффективнее?

Лучшие инженеры, которых я встречал, разделяют эту черту. Они перестали оптимизировать себя под «выглядеть впечатляюще» и начали — под «быть полезным». По иронии, именно тогда окружающие и начинают считать вас впечатляющим.


Как выглядит следующее десятилетие

Индустрии, в которую я пришёл, больше не существует. Той, в которой я работаю сегодня, не будет и в 2036-м. ИИ уже меняет то, как мы пишем код, и, честно говоря, меня это скорее воодушевляет, чем пугает — потому что если это десятилетие меня чему-то и научило, так это тому, что наша настоящая работа никогда не заключалась в наборе кода. Она заключалась в понимании задач, проектировании решений и работе с людьми.

Эти навыки не автоматизируются. Они только дорожают.


Это перевод моей статьи, впервые опубликованной на Medium.

Какой из этих уроков совпадает с вашим опытом — а с каким вы бы поспорили? Интересно, как это выглядит из других уголков индустрии. ?

Комментарии (10)


  1. andi123
    06.08.2026 07:14

    Отлить в граните!


  1. rusegal
    06.08.2026 07:14

    потому что если это десятилетие меня чему-то и научило, так это тому, что наша настоящая работа никогда не заключалась в наборе кода. Она заключалась в понимании задач, проектировании решений и работе с людьми.

    Только лишь за эту фразу, человека сразу можно отнести в "разряд" опытных профессионалов. Абсолютно верное утверждение, любой даже самый "сильный" разраб, который пишет идеальный код, или даже академический - суть ничто, если он не понимает для чего он пишет. И уж тем более если он все это пишет "на ходу" без проекта(хотя бы в голове). Именно поэтому, на мой взгляд ИИ больше гораздо большее добро, чем зло. Ведь если взять за условие что программист это Архитектор/Координатор/Руководитель, а ИИ рабочая сила, которая пишет код - то в чем разница между условным Техлидом, который понимает задачу, проектирует решение, а сам код пишет 5 вчерашних студентов?


  1. Vedomir
    06.08.2026 07:14

    Очень хорошие пункты. Соглашусь со всеми.


  1. sanekmkarov
    06.08.2026 07:14

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


  1. rexen
    06.08.2026 07:14

    ППКС, как говорится. Прям от души. Статья - лозунг.


  1. ilemusic
    06.08.2026 07:14

    Понравилось! Хорошо сформулировано. Буквально о том, чем отличаются инженеры от "операторов фреймворков" (недавно статья была, где автор ввёл такое интересное понятие).


  1. lolikandr
    06.08.2026 07:14

    Вот про “как называть сущности так, чтобы посторонний человек понял” с удовольствием бы почитал )


  1. wii
    06.08.2026 07:14

    Так, скорее всего, в любой профессии. И дело не в деле. Это про взросление, а не про инженеров. Автор говорит про то, что понял за 10 лет саморазвития на примере собственного опыта. Профессия ни при чем, она просто была рядом с человеком, способным мыслить и развиваться.