Должностная инструкция: Разработчик 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