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

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

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

Раздел 1 из 11

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

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

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

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

Раздел 2 из 11

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

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

  1. Разработка компонентов

    35 %

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

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

    15 %

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

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

    20 %

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

  4. Ревью кода

    10 %

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

  5. Поддержка программ

    15 %

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

  6. Техническая документация

    5 %

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

Раздел 3 из 11

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

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

  • Язык 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++, интерес к задачам и ожидания по роли.

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

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

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

    Оценить, как кандидат пишет, проверяет и объясняет код на C++ в задаче, близкой к рабочей.

    Кто проводит
    Ведущий разработчик
    Длительность
    1 ч 30 мин
  4. Этап 4: Встреча с руководителем команды

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

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

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

Раздел 6 из 11

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

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

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

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

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

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

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

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

    Оценка ответа кандидата на вопрос 1Оценка
    не оценено
  2. Стандартная библиотекавес 4

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

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

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

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

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

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

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

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

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

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

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

    Оценка ответа кандидата на вопрос 3Оценка
    не оценено
  4. Структуры данныхвес 4

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

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

    Связывает структуру данных с характером операций и объёмом данных, сравнивает подходящие варианты и объясняет влияние на сложность и использование ресурсов.

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

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

    Оценка ответа кандидата на вопрос 4Оценка
    не оценено
  5. Системы контроля версийвес 3

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

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

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

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

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

    Оценка ответа кандидата на вопрос 5Оценка
    не оценено
  6. Чтение технической документациивес 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Ждал подробных инструкций по каждому шагу либо делал критичные допущения, не согласовав их и не сообщив о рисках.

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

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

Раздел 7 из 11

Риски найма

  • Риск

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

    Как снизить

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

  • Риск

    Знание контейнеров и алгоритмов ограничено заученными названиями.

    Как снизить

    Дать практический сценарий с несколькими вариантами структур данных и попросить обосновать выбор.

  • Риск

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

    Как снизить

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

  • Риск

    Практическое задание не отражает реальную работу и оценивает скорость вместо качества решений.

    Как снизить

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

Раздел 8 из 11

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

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

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

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

Обязанности

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

Требования

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

Условия

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

Раздел 9 из 11

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

Сделано ИИ

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

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

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

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

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

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.Ведёт и актуализирует техническую документацию, необходимую для разработки и сопровождения компонентов.
  8. 3.8.Информирует руководителя о ходе задач, рисках, блокирующих обстоятельствах и ожидаемом влиянии изменений на качество продукта.

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++ разработчик создаёт и изменяет программный код и отвечает за его проверку в рамках своих задач. Тестировщик в первую очередь планирует и проводит проверки продукта, а системный администратор поддерживает рабочую инфраструктуру и доступность систем.

Документы

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

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

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

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

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

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

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

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

TelegramWhatsAppПочта

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

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

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

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

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

Справочник

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

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