Должностная инструкция: Разработчик 1 категории#

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

Должность: Разработчик 1 категории Грейд: 10 Подчиненность: Руководитель отдела разработки / Тимлид команды

2. Квалификационные требования#

Источник истины: Полная матрица компетенций с маркерами критичности ([Критичный], [Nice-to-have]) находится в competency-developers.md . Данный раздел содержит упрощённый список требований для должностной инструкции.

Образование: Высшее (IT-направления)

Опыт работы: Коммерческая разработка на C# от 4-5 лет

Технические навыки:

  • Экспертное знание C#, глубокое понимание .NET (GC, память, JIT, CLR)
  • Многопоточность и параллелизм (PLINQ, Parallel, ConcurrentCollections, race conditions, deadlocks)
  • Продвинутое асинхронное программирование (ValueTask, IAsyncEnumerable, cancellation patterns)
  • Оптимизация производительности (профилирование, memory analysis, bottleneck identification)
  • Проектирование модулей и подсистем с балансом расширяемости/производительности
  • Уверенная работа с C++ для nanoCAD интеграции (P/Invoke, marshaling, unsafe code)
  • Глубокое понимание инженерных сетей (3+ разделов)
  • Архитектурное мышление, понимание trade-offs
  • TDD, интеграционные тесты, покрытие критичных путей

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

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

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

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

3.4. Обеспечение качества: проектирование архитектуры тестирования модулей, TDD, интеграционные тесты, покрытие критичных путей.

3.5. Техническое лидерство: влияние на технические решения команды, активное наставничество специалистов и младших разработчиков, проведение code review, ведение проектов от идеи до релиза.

3.6. Проектирование архитектуры модулей для команды с учетом долгосрочных последствий.

3.7. Выполнение иных поручений непосредственного руководителя в рамках своей компетенции.

3.6. Типовые задачи#

  • Проектирование и реализация сложных модулей (1-3 месяца)
    • Пример: Высокопроизводительный модуль расчета с поддержкой больших моделей
  • Оптимизация критичных участков (2-4 недели)
    • Пример: Снижение потребления памяти на 50%, ускорение в 3-5 раз
  • Архитектурные улучшения (1-3 месяца)
    • Пример: Рефакторинг подсистемы с улучшением архитектуры
  • Интеграция сложных компонентов (3-6 недель)
    • Пример: Интеграция с внешней системой через C++ API
  • Техлидство проектов (3-6 месяцев)
    • Пример: Техлид проекта по добавлению major фичи
  • Менторинг Junior/Middle разработчиков (ongoing)
    • Пример: Вырастил Junior до Middle

3.7. Уровень самостоятельности#

  • Полная автономность во всех задачах
  • Самостоятельно определяет подход и архитектуру
  • Ownership за целые подсистемы
  • Проактивно улучшает продукт и процессы
  • Влияет на технические стандарты команды

4. Ответственность#

Сотрудник несет ответственность за:

  • Качество и производительность критичных модулей
  • Архитектурные решения подсистем
  • Покрытие кода тестами (85%+ для критичного кода)
  • Техническое здоровье своих подсистем
  • Influence на технические стандарты команды
  • Развитие Junior и других Middle разработчиков
  • Успех проектов под техлидством

5. Критерии оценки#

  • Технические навыки: Экспертиза в C#/.NET, глубокая оптимизация, архитектура сложных систем
  • Автономность: Полная автономность, ownership за подсистемы, проактивные улучшения
  • Влияние: Сильное влияние на команду, менторинг (вырастил Junior), формирование стандартов, техлидство
  • Бизнес-impact: Реализация важных фич с измеримым эффектом, понимание бизнес-целей

Оценка: Руководителем раз в 6 месяцев.

Gateway критерий: Для перехода на Senior необходимо: спроектированная архитектура модуля в production + вырастил минимум одного Junior.

6. Карьерный рост#

Следующий шаг: Старший разработчик 4 категории (грейд 11, Senior) через 1-2 года

Требования:

  • Экспертное владение C#, понимание CLR, memory model
  • Глубокое понимание многопоточности (lock-free алгоритмы)
  • Проектирование высокопроизводительных систем (cache-friendly code)
  • Экспертное знание инженерных сетей (3+ раздела)
  • Ownership за целые подсистемы
  • Сильное влияние на команду
  • Архитектура модуля в production
  • Вырастил минимум одного Junior

Версия: 1.0 Дата: 2025-01-28