Кто это и зачем нужен
Software Engineer — базовая инженерная роль, тот, кто превращает план в работающий код. Его миссия — реализовать задачу надёжно: чисто, по конвенциям, с тестами, починив весь класс проблемы, а не один частный случай. Это «рабочая лошадка» команды и одновременно ядро вайб-кодинга — именно эту роль ИИ усиливает сильнее всего.
Боль, которую он закрывает: идея, дизайн и требования бесполезны, пока не воплощены в код, который работает и не ломает соседнее. Инженер закрывает разрыв между «придумали» и «работает в проде».
Что ломается без качественной реализации: код «лишь бы работало» — без тестов, с дублированием, чинит симптом а не причину, ломает соседнее при изменении. Техдолг растёт, скорость падает, баги возвращаются.
День из жизни
Утро. Берёт шаг из плана/историю, читает спеку и существующий код (переиспользовать > писать заново). Пишет тест на ожидаемое поведение (TDD: red). День. Реализует минимально, чтобы тест позеленел (green), затем рефакторит (refactor) — убирает дублирование, чистит. Думает о краях и ошибках. Чинит весь класс проблемы, а не один случай. Вечер. Прогоняет все проверки (типы, линтер, тесты — зелёные), оформляет PR, проходит ревью, фиксирует решения в заметках/JOURNAL. Убеждается, что соседнее не сломано.
Ключевые навыки
Hard: язык и его идиомы (TS/Python/Go/…), структуры данных и алгоритмы (база), TDD и тестирование, рефакторинг, Git, чтение чужого кода, отладка, чистый код (SOLID/DRY/KISS без культа). Soft: инженерная дисциплина (тесты, проверки, не оставлять «почти готово»), внимание к краям, любознательность, умение задавать вопросы на развилке, аккуратность в ревью.
Артефакты, которые пишет
- Код — чистый, по конвенциям проекта.
- Тесты — на поведение, края и ошибки.
- PR — с понятным описанием.
- Заметки в JOURNAL — решения и «почему».
Реализует по
User Storyи критериям приёмки; готовность —Definition of Done; оценку даёт вstory points. Декомпозицию берёт изДекомпозиция работы.
Как ИИ/вайб-кодинг усиливает роль
Это ядро вайб-кодинга — здесь ИИ усиливает сильнее всего:
- Код под спеку. Промт: «Реализуй по спеке <вставить>: чистый код по конвенциям проекта <стек>, обработка краёв и ошибок. Сначала покажи тесты, потом реализацию (TDD).»
- Тесты на края. Промт: «Напиши тесты для функции <…>: happy path, граничные значения, пустой/некорректный вход, ошибки. Покрой класс проблемы, а не один случай.»
- Рефакторинг. Промт: «Отрефактори этот код <…>: убери дублирование, упрости, сохрани поведение и тесты зелёными. Поясни, что изменил и почему.»
- Поиск бага. Промт: «Баг: <симптом>. Вот код <…>. Найди причину (не симптом), предложи фикс всего класса проблемы и тест, который его ловит.»
- Объяснение кода. Промт: «Объясни, что делает этот код <…>, какие у него предположения и где риски при изменении.»
Путь развития: Junior → Middle → Senior → Lead
- Junior: реализует чётко поставленные задачи, пишет тесты, работает в готовой архитектуре, активно учится на ревью.
- Middle: ведёт фичи самостоятельно, ловит края, рефакторит, делает ревью, чинит класс проблемы.
- Senior: проектирует решения уровня модуля, задаёт планку качества, наставляет, влияет на архитектуру.
- Дальше: развилка в Tech Lead (лидерство+качество), Architect (глубина решений) или Engineering Manager (люди).
Частые ошибки и как избежать
- Чинит симптом, не причину. → Докопайся до корня и почини весь класс проблемы, иначе баг вернётся.
- «Работает» без тестов. → TDD/тесты на поведение и края; без них любое изменение — риск.
- Сломал соседнее. → Прогоняй все проверки и думай о blast radius; «не ломать одно, фикся другое».
- Пишет заново вместо переиспользования. → Сначала ищи готовое в коде/библиотеках, потом пиши.
- «Почти готово». → Доводи до конца: зелёные проверки + (для веба) браузерный прогон + отчёт.
Что освоить (мини-программа)
- Концепции: TDD, чистый код (SOLID/DRY/KISS), рефакторинг, структуры данных/алгоритмы (база), отладка, Git-флоу, code review.
- Инструменты: язык + фреймворк, тест-раннер, линтер/форматтер, отладчик, Git, ИИ-ассистент (Cursor/Copilot/Claude Code).
- Почитать: «The Pragmatic Programmer»; «Clean Code» Р. Мартин (критично); «Refactoring» М. Фаулер; «Test-Driven Development» К. Бек.
Зарплатные ориентиры (RU)
- Junior Engineer: ~70–140 тыс ₽/мес.
- Middle Engineer: ~140–280 тыс ₽/мес.
- Senior Engineer: ~280–450+ тыс ₽/мес.
Зависит от грейда, стека, индустрии, города и года — проверяй актуальное.
Маппинг на агента Laskoff
Прямой mapsTo: engineer. В Quest агент engineer — исполнитель фазы Execute: реализует каждый шаг через TDD под единый spec, переиспользует до написания, чинит весь класс проблемы, держит проверки зелёными и не ломает соседнее (проверка после КАЖДОГО шага). Это и есть роль Software Engineer, перенесённая в ИИ-конвейер — и именно её вайб-кодинг усиливает максимально.
🤖 Промт-персона
Ты — сильный Software Engineer, дисциплинированный и аккуратный. Помогаешь мне превращать план в работающий код. Работай по TDD: сначала тест на поведение (включая края и ошибки), потом минимальная реализация, потом рефакторинг. Чини причину и весь класс проблемы, а не симптом. Переиспользуй существующий код и библиотеки прежде, чем писать заново. Держи код чистым по конвенциям проекта (DRY/KISS без культа). После изменения думай о blast radius — не ломай соседнее, прогоняй все проверки. Никаких «почти готово»: доводи до зелёного и (для веба) браузерного прогона. Объясняй решения и подсвечивай риски.