ИТ и разработкаНаписано ИИ, провереноОбновлено

Разработчик C++: должностная инструкция, обязанности и вопросы для собеседования

Набор для найма разработчика C++: должностные обязанности с долями времени, компетенции, вопросы для собеседования с картой оценки, текст вакансии, должностная инструкция в Word и план испытательного срока.

Раздел 1 из 11

Зачем нужна эта должность

Разработчик C++ создаёт и развивает программные компоненты, которые решают задачи бизнеса и надёжно работают в составе продукта или внутренней системы. Он превращает требования в код, проверяет его и помогает поддерживать качество решения.

Когда пора нанимать

Нанимайте разработчика C++, когда компании нужно создавать или развивать продукт на C++, а текущая команда не успевает выполнять задачи без ущерба для сроков и качества. Роль также нужна, если поддержка и развитие существующего кода регулярно отвлекают руководителей или других специалистов.

Раздел 2 из 11

Должностные обязанности разработчика C++

Из чего состоит рабочая неделя. Доли времени показывают, на что человек будет тратить больше всего сил, а что останется фоном.

  1. Разработка функциональности

    40 %

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

  2. Проектирование решений

    15 %

    Разбирает требования, оценивает варианты реализации и согласует технические решения с командой. Уточняет риски и зависимости до начала разработки.

  3. Тестирование и отладка

    20 %

    Проверяет собственные изменения, находит и исправляет ошибки. Добавляет или обновляет тесты, подтверждающие корректную работу функциональности.

  4. Поддержка кода

    15 %

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

  5. Работа с командой

    10 %

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

Раздел 3 из 11

Компетенции разработчика C++ и как их проверить

Всего 8, обязательных 4. Уровень: 1 базовый, 2 уверенный, 3 опытный, 4 эксперт.

  • Язык C++

    НавыкОбязательно

    Как проверить: Попросите объяснить и улучшить небольшой фрагмент кода с использованием ключевых возможностей C++.

    3 из 4 · опытный
  • Отладка программ

    НавыкОбязательно

    Как проверить: Предложите разобрать пример с ошибкой и описать последовательность поиска причины.

    2 из 4 · уверенный
  • Алгоритмы и структуры данных

    НавыкОбязательно

    Как проверить: Дайте небольшую задачу и попросите объяснить выбор алгоритма и его сложность.

    2 из 4 · уверенный
  • Контроль версий

    НавыкОбязательно

    Как проверить: Попросите описать рабочий процесс с ветками, изменениями и разрешением конфликта.

    2 из 4 · уверенный
  • Модульное тестирование

    Навык

    Как проверить: Попросите составить тесты для функции и объяснить, какие случаи они покрывают.

    2 из 4 · уверенный
  • Чтение чужого кода

    Навык

    Как проверить: Дайте незнакомый фрагмент кода и попросите кратко объяснить его поведение.

    2 из 4 · уверенный
  • Командное взаимодействие

    Качество

    Как проверить: Попросите привести пример согласования технического решения или передачи блокера команде.

    2 из 4 · уверенный
  • Ответственность за результат

    Качество

    Как проверить: Обсудите пример задачи, где возникла проблема, и выясните, как кандидат довёл работу до результата.

    2 из 4 · уверенный

Раздел 4 из 11

KPI разработчика C++: показатели работы

По ним вы поймёте, что человек справляется. Цели подставьте свои: модель предлагает рамку, а не цифры.

  • Выполнение задач

    Задачи приняты по согласованным критериям и срокам

    Период
    Каждый месяц
    Откуда
    Учёт задач и результаты приёмки
  • Дефекты в изменениях

    Ошибки, связанные с изменениями, выявляются и исправляются в согласованные сроки

    Период
    Каждый месяц
    Откуда
    Учёт дефектов и история изменений
  • Покрытие тестами

    Для изменений добавлены или обновлены необходимые автоматические тесты

    Период
    Каждый месяц
    Откуда
    Результаты проверок и история изменений
  • Качество оценки задач

    Оценки и риски сообщаются заранее, существенные отклонения объяснены

    Период
    Каждый квартал
    Откуда
    Оценки задач, фактические сроки и обсуждения с командой

Раздел 5 из 11

Этапы отбора

  1. Этап 1: Первичное интервью

    Уточнить опыт разработки на C++, задачи кандидата и соответствие ожиданий роли.

    Кто проводит
    Рекрутер
    Длительность
    30 мин
  2. Этап 2: Техническое интервью

    Проверить знание C++, алгоритмов, структур данных, отладки и контроля версий на примерах из опыта и рабочих задачах.

    Кто проводит
    Технический руководитель
    Длительность
    1 ч
  3. Этап 3: Практическое задание

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

    Кто проводит
    Разработчик C++
    Длительность
    1 ч 30 мин
  4. Этап 4: Финальная встреча

    Обсудить взаимодействие в команде, ответственность за результат и рабочие ожидания.

    Кто проводит
    Руководитель команды
    Длительность
    30 мин

4 этапа, около 3 ч 30 мин живого общения с кандидатом.

Раздел 6 из 11

Вопросы для собеседования с разработчиком C++

Задавайте вопросы по порядку и ставьте оценку сразу. Вес показывает, какие ответы важнее для решения.

  1. Язык C++вес 5

    Вопрос 1: Расскажите о задаче, где вам пришлось использовать сложные возможности C++. Как вы выбрали подход и каких ошибок старались избежать?

    Хороший ответ

    Называет конкретную задачу и объясняет выбор возможностей языка с учётом владения памятью, времени жизни объектов, типов и читаемости. Может разобрать компромиссы и привести детали реализации.

    Тревожный ответ

    Описывает только общие знания или перечисляет возможности языка без примера. Не может объяснить поведение своего кода или выбор подхода.

    Оценка ответа кандидата на вопрос 1Оценка
    не оценено
  2. Отладка программвес 5

    Вопрос 2: Расскажите о сложном дефекте, который вы нашли и исправили. Как вы сузили область поиска и проверили результат?

    Хороший ответ

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

    Тревожный ответ

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

    Оценка ответа кандидата на вопрос 2Оценка
    не оценено
  3. Алгоритмы и структуры данныхвес 5

    Вопрос 3: Опишите задачу, для которой вы выбирали алгоритм или структуру данных. Какие варианты рассматривали и почему остановились на выбранном?

    Хороший ответ

    Объясняет свойства входных данных, сравнивает варианты и связывает выбор со сложностью по времени и памяти. Может назвать ограничения решения и случаи, где оно не подходит.

    Тревожный ответ

    Выбирает решение без объяснения сложности и ограничений либо не может описать, как оно работает на граничных случаях.

    Оценка ответа кандидата на вопрос 3Оценка
    не оценено
  4. Контроль версийвес 4

    Вопрос 4: Расскажите, как вы вели изменения в командном проекте с помощью системы контроля версий. Как разбирались с конфликтом или неудачным изменением?

    Хороший ответ

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

    Тревожный ответ

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

    Оценка ответа кандидата на вопрос 4Оценка
    не оценено
  5. Модульное тестированиевес 3

    Вопрос 5: Расскажите о модуле, для которого вы писали модульные тесты. Что именно проверяли и как выбирали граничные случаи?

    Хороший ответ

    Приводит конкретные проверки ожидаемого поведения, включая граничные условия и ошибки. Объясняет, как тесты помогли обнаружить регрессию или упростили изменение кода.

    Тревожный ответ

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

    Оценка ответа кандидата на вопрос 5Оценка
    не оценено
  6. Чтение чужого кодавес 3

    Вопрос 6: Вспомните случай, когда вам нужно было разобраться в незнакомом коде. С чего вы начали и как проверили, что правильно поняли его поведение?

    Хороший ответ

    Описывает поэтапное изучение структуры, точек входа, зависимостей и тестов. Проверяет понимание запуском кода, трассировкой или небольшим безопасным экспериментом.

    Тревожный ответ

    Сразу предлагает переписать всё целиком, не выяснив назначение компонентов, либо делает выводы по отдельным фрагментам без проверки поведения.

    Оценка ответа кандидата на вопрос 6Оценка
    не оценено
  7. Командное взаимодействиевес 2

    Вопрос 7: Расскажите о случае, когда для решения технической задачи вам потребовалось договориться с коллегами. Как обсуждали варианты и пришли к решению?

    Хороший ответ

    Приводит конкретный пример, ясно излагает свою позицию, выслушивает доводы коллег и фиксирует договорённости. Может объяснить, как команда проверила выбранное решение.

    Тревожный ответ

    Описывает спор как борьбу за правоту, обесценивает вклад коллег или не может рассказать, как было принято общее решение.

    Оценка ответа кандидата на вопрос 7Оценка
    не оценено
  8. Ответственность за результатвес 2

    Вопрос 8: Расскажите о задаче, в которой после вашей реализации обнаружилась проблема. Как вы действовали и довели работу до результата?

    Хороший ответ

    Открыто признаёт свою роль, оценивает влияние проблемы, сообщает заинтересованным коллегам и организует исправление. Описывает проверку результата и меры, снижающие риск повторения.

    Тревожный ответ

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

    Оценка ответа кандидата на вопрос 8Оценка
    не оценено

Поставьте оценки по ходу собеседования, итог посчитаем с учётом веса вопросов.

Раздел 7 из 11

Риски найма

  • Риск

    Кандидат знает синтаксис C++, но не понимает время жизни объектов, управление ресурсами и последствия выбора решений.

    Как снизить

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

  • Риск

    Кандидат решает задачу без оценки сложности и не учитывает ограничения по времени или памяти.

    Как снизить

    Дать задачу с несколькими вариантами решения и попросить сравнить их сложность и применимость к разным входным данным.

  • Риск

    Кандидат не умеет системно находить дефекты и полагается на случайные изменения кода.

    Как снизить

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

  • Риск

    Кандидат слабо работает с командными изменениями и допускает ошибки при интеграции кода.

    Как снизить

    Обсудить реальные примеры работы с ветками и конфликтами, а в практическом задании оценить историю изменений и проверку результата.

Раздел 8 из 11

Готовый текст вакансии

Сделано ИИЖёлтым отмечены места, которые нужно заполнить под свою компанию

Разработчик C++

В [название компании] вы будете разрабатывать и поддерживать программные решения на C++, проверять качество изменений и вместе с командой доводить задачи до готового результата.

Обязанности

  • Разрабатывать функциональность на C++ по требованиям и согласованному плану.
  • Проектировать технические решения с учётом архитектуры, надёжности и возможности дальнейшей поддержки.
  • Писать и поддерживать автоматические тесты для проверяемой функциональности.
  • Проводить отладку, находить причины дефектов и исправлять их.
  • Поддерживать существующий код: устранять ошибки, улучшать читаемость и снижать технические риски.
  • Оценивать объём и сроки задач, сообщать о рисках и изменениях оценки.
  • Обсуждать решения и изменения с коллегами, участвовать в проверке кода.

Требования

  • Опыт разработки на C++ и понимание основных возможностей языка.
  • Навык проектирования и реализации программных компонентов по требованиям.
  • Умение находить и исправлять ошибки с помощью отладчика и анализа кода.
  • Опыт написания тестов и понимание роли автоматической проверки.
  • Умение оценивать задачи, декомпозировать работу и сообщать о рисках.
  • Навык командной работы и обсуждения технических решений.

Условия

  • Оплата: [вилка зарплаты].
  • График: [график].
  • Задачи и ожидаемые результаты согласуются с руководителем.
  • Предоставляем необходимые для работы доступы и технические средства.

Раздел 9 из 11

Должностная инструкция разработчика C++

Сделано ИИ

Проект документа. Перед утверждением сверьте с вашими внутренними правилами.

Должностная инструкция

Разработчик C++

1. Общие положения

  1. 1.1.Разработчик C++ относится к категории специалистов.
  2. 1.2.Назначается на должность и освобождается от неё распорядительным документом работодателя.
  3. 1.3.Подчиняется непосредственному руководителю, определённому организационной структурой.
  4. 1.4.Квалификационные требования устанавливаются работодателем с учётом сложности задач и подтверждённых навыков кандидата.

2. Работник должен знать

  1. 2.1.Возможности и ограничения используемой версии C++.
  2. 2.2.Принципы проектирования программных компонентов и взаимодействия между ними.
  3. 2.3.Подходы к написанию, запуску и анализу автоматических тестов.
  4. 2.4.Методы отладки и поиска причин дефектов.
  5. 2.5.Правила работы с исходным кодом, изменениями и проверкой кода, принятые в компании.
  6. 2.6.Порядок оценки задач, фиксации прогресса и эскалации рисков.

3. Должностные обязанности

  1. 3.1.Осуществляет разработку и изменение программной функциональности на C++ в соответствии с согласованными требованиями.
  2. 3.2.Проектирует технические решения и согласует существенные изменения с руководителем и участниками команды.
  3. 3.3.Обеспечивает проверяемость изменений, разрабатывает и поддерживает автоматические тесты в пределах своей зоны ответственности.
  4. 3.4.Проводит отладку, устанавливает причины выявленных дефектов и выполняет исправления.
  5. 3.5.Обеспечивает поддержку закреплённых программных компонентов, включая исправление ошибок и улучшение сопровождаемости кода.
  6. 3.6.Оценивает задачи, декомпозирует их при необходимости и своевременно сообщает руководителю об отклонениях, рисках и блокирующих обстоятельствах.
  7. 3.7.Участвует в командном обсуждении решений и проверке изменений коллег в установленном порядке.

4. Права

Работник имеет право:

  1. 4.1.Запрашивать у руководителя и коллег требования, данные и доступы, необходимые для выполнения задач.
  2. 4.2.Предлагать варианты реализации и улучшения программных компонентов.
  3. 4.3.Сообщать о технических рисках, дефектах и препятствиях, влияющих на сроки или качество работы.
  4. 4.4.Участвовать в обсуждениях требований, архитектуры и планирования задач.
  5. 4.5.Вправе запрашивать обратную связь по результатам работы и уточнение критериев приёмки.

5. Ответственность

Работник несёт ответственность в пределах, установленных трудовым, гражданским и административным законодательством Российской Федерации:

  1. 5.1.За качество и соответствие согласованным требованиям выполненных изменений в пределах своей зоны ответственности.
  2. 5.2.За своевременное информирование о рисках, блокерах и изменении оценки задач.
  3. 5.3.За обоснованность оценок и добросовестное выполнение согласованных работ.
  4. 5.4.За сохранность предоставленных доступов и соблюдение внутренних правил работы с кодом и данными.

6. Взаимодействие

  1. 6.1.С руководителем взаимодействует по приоритетам, требованиям, оценкам, срокам и эскалации рисков.
  2. 6.2.С разработчиками взаимодействует при проектировании решений, проверке кода и совместном устранении дефектов.
  3. 6.3.С тестировщиками взаимодействует по воспроизведению ошибок, проверке исправлений и критериям качества.
  4. 6.4.С аналитиками и представителями смежных функций взаимодействует для уточнения требований и согласования поведения функциональности.

7. Заключительные положения

  1. 7.1.Настоящая инструкция вступает в силу со дня её утверждения руководителем организации.
  2. 7.2.Работник знакомится с инструкцией под подпись при приёме на работу, до начала работы.
  3. 7.3.Инструкция пересматривается при изменении обязанностей, структуры или условий работы организации.
  4. 7.4.Инструкция составлена в двух экземплярах: один хранится у работодателя, второй передаётся работнику.

Раздел 10 из 11

План испытательного срока: 30, 60 и 90 дней

Что человек должен уметь к концу каждого месяца и по каким признакам считать срок пройденным.

  1. День 30: Первый месяц

    Осваивается

    • Изучил порядок разработки, проверки и передачи изменений в компании.
    • Может самостоятельно внести небольшое изменение в существующий код и проверить его тестами.
    • Корректно оценивает типовые задачи и сообщает о блокерах.
  2. День 60: Второй месяц

    Работает сам

    • Самостоятельно выполняет задачи средней сложности от уточнения требований до проверки результата.
    • Пишет тесты для изменений и исправляет обнаруженные дефекты без повторяющихся ошибок одного типа.
    • Участвует в проверке кода и аргументированно объясняет выбранное решение.
  3. День 90: Третий месяц

    Даёт результат

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

Испытательный срок пройден, если

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

Раздел 11 из 11

Частые вопросы о найме

Можно ли взять разработчика C++ без коммерческого опыта?

Можно, если кандидат уверенно владеет C++, умеет отлаживать код и подтверждает навыки учебными или личными проектами. Начинающему сотруднику нужны задачи ограниченной сложности, наставник и регулярная проверка кода.

Сколько обычно занимает поиск разработчика C++?

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

Как оформить разработчика C++?

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

Как построить оплату без привязки только к числу задач?

Установите фиксированную часть за согласованный объём работы, а переменную часть используйте только при наличии понятных и контролируемых критериев. Учитывайте качество изменений, выполнение договорённостей, тестирование и точность оценок, а не только скорость.

Когда пора нанимать второго разработчика C++?

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

Чем разработчик C++ отличается от тестировщика и системного архитектора?

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

Документы

Заберите документы

Три файла из этого набора, в один клик. Бесплатно, без регистрации и водяных знаков.

Следующий шаг

Заберите профиль «Разработчик C++» в Altair HR

После регистрации профиль появится в кабинете сам: обязанности, компетенции, этапы отбора и карта оценки уже заполнены. Останется добавить вилку оклада и собрать из профиля вакансию. 14 дней бесплатно, карта не нужна.

  • Профиль роли в кабинете уже заполнен
  • Вакансия собирается из профиля
  • ИИ разбирает отклики по вашим критериям

Отправьте коллегам

Руководителю, который будет собеседовать, или коллеге, который пишет вакансию.

TelegramWhatsAppПочта

Полезное для кадровика на почту

Новые статьи и инструменты: кадровые сроки, изменения в Трудовом кодексе, готовые шаблоны. Без спама, отписаться можно в один клик.

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

Как собран этот набор

Текст написала языковая модель по структуре профиля роли Альтаир HR. Перед публикацией он прошёл автоматическую проверку: в нём нет требований по возрасту, полу и семейному положению, личных вопросов кандидату и срока испытания длиннее закона. Проверка идёт по требованиям статей 3 и 64 Трудового кодекса (запрет дискриминации при найме) и статьи 70 (срок испытания). Это рабочая заготовка: перед использованием подставьте свои условия и сверьте документ с локальными актами компании. Обновлено 8 ноября 2026.

Справочник

Из категории «ИТ и разработка» и те, что открывают чаще всего

Не нашли нужную? Введите должность в справочнике, набор будет готов меньше чем за минуту