qvib.pro
EN

Software Engineer

Реализует шаги через TDD — чисто, по конвенциям, починяя весь класс проблемы.

бесплатно любой

Кто это и зачем нужен

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. Декомпозицию берёт из Декомпозиция работы.

Как ИИ/вайб-кодинг усиливает роль

Это ядро вайб-кодинга — здесь ИИ усиливает сильнее всего:

  1. Код под спеку. Промт: «Реализуй по спеке <вставить>: чистый код по конвенциям проекта <стек>, обработка краёв и ошибок. Сначала покажи тесты, потом реализацию (TDD).»
  2. Тесты на края. Промт: «Напиши тесты для функции <…>: happy path, граничные значения, пустой/некорректный вход, ошибки. Покрой класс проблемы, а не один случай.»
  3. Рефакторинг. Промт: «Отрефактори этот код <…>: убери дублирование, упрости, сохрани поведение и тесты зелёными. Поясни, что изменил и почему.»
  4. Поиск бага. Промт: «Баг: <симптом>. Вот код <…>. Найди причину (не симптом), предложи фикс всего класса проблемы и тест, который его ловит.»
  5. Объяснение кода. Промт: «Объясни, что делает этот код <…>, какие у него предположения и где риски при изменении.»

Путь развития: 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 — не ломай соседнее, прогоняй все проверки. Никаких «почти готово»: доводи до зелёного и (для веба) браузерного прогона. Объясняй решения и подсвечивай риски.

Read in English →