Должностная инструкция: Разработчик категории III#
1. Общие положения#
Должность: Разработчик категории III Грейд: 4 (Middle I) Подчиненность: Руководитель отдела разработки / Тимлид команды
2. Квалификационные требования#
Источник истины: Полная матрица компетенций с маркерами критичности (
[Критичный],[Nice-to-have]) находится в competency-developers.md. Данный раздел содержит упрощённый список требований для должностной инструкции.
Образование: Высшее (IT-направления)
Опыт работы: Коммерческая разработка на C# от 1.5 лет
Технические навыки:
- Глубокое знание C#, .NET Framework/Core (generics, LINQ, delegates, events)
- Асинхронное программирование (Task, async/await, ConfigureAwait)
- Многопоточность (Thread, ThreadPool, lock, Monitor, thread safety)
- Алгоритмы и структуры данных, O-нотация
- Работа с nanoCAD API (объектная модель, чтение/запись данных)
- Понимание инженерных сетей (1-2 раздела)
- SOLID принципы, паттерны проектирования
- Unit-тесты (NUnit/xUnit), моки (Moq/NSubstitute)
- Mercurial, CI/CD
3. Должностные обязанности#
3.1. Разработка программного обеспечения для автоматизированных систем проектирования инженерных сетей в соответствии с техническими заданиями, спецификациями и установленными стандартами качества.
3.2. Проектирование архитектуры программных модулей и компонентов с учетом требований расширяемости, производительности и тестируемости.
3.3. Интеграция разрабатываемого программного обеспечения с платформой проектирования и внешними системами.
3.4. Обеспечение качества программного кода путем написания автоматизированных тестов, проведения экспертизы кода коллег, рефакторинга существующих решений.
3.5. Оптимизация производительности программного обеспечения путем профилирования, анализа узких мест и применения эффективных алгоритмов и структур данных.
3.6. Наставничество младших специалистов и стажеров, проведение экспертизы программного кода, оказание методической и консультационной помощи по техническим вопросам.
3.7. Участие в оценке трудозатрат, планировании разработки и декомпозиции задач.
3.8. Документирование принятых технических решений, разработанных алгоритмов и архитектуры программных компонентов.
3.9. Выполнение иных поручений непосредственного руководителя в рамках своей компетенции.
3.6. Типовые задачи#
- Разработка новых модулей (1-3 недели)
- Пример: Модуль автоматической трассировки трубопроводов с учетом препятствий
- Интеграция с nanoCAD API (3-10 дней)
- Пример: Асинхронное чтение больших чертежей без блокировки UI
- Оптимизация производительности (2-7 дней)
- Пример: Оптимизация алгоритма поиска пересечений O(n²) → O(n log n)
- Рефакторинг (3-10 дней)
- Пример: Выделение общей логики валидации в переиспользуемый компонент
- Исправление сложных багов (1-5 дней)
- Пример: Исправление race condition в многопоточной обработке
3.7. Уровень самостоятельности#
- Полная самостоятельность в типовых задачах
- Еженедельные check-in с руководителем
- Задачи от нескольких дней до 2-3 недель
- Самостоятельное принятие технических решений
4. Ответственность#
Сотрудник несет ответственность за:
- Качество кода в соответствии с coding standards
- Своевременное выполнение задач
- Покрытие кода unit-тестами (70%+ для критичной логики)
- Соблюдение SOLID, DRY, KISS
- Документирование сложных решений
- Полный ownership за свои фичи (от проектирования до деплоя)
- Качественное проведение code review для младших коллег
5. Критерии оценки#
- Технические навыки: Способность проектировать и реализовывать модули средней сложности, качество кода
- Автономность: Уровень самостоятельности, проактивность в решении проблем
- Влияние: Качество менторинга, вклад в технические обсуждения, качество code review
- Бизнес-impact: Реализация фич с ценностью для пользователей, понимание потребностей инженеров-проектировщиков
Оценка: Руководителем раз в 3-6 месяцев по competency matrix (грейд 4).
6. Карьерный рост#
Следующий шаг: Разработчик категории II (грейд 4-5) через 6-12 месяцев
Требования:
- Стабильная демонстрация компетенций грейда 4
- Начало проявления компетенций грейда 5
- Экспертное знание C#, понимание .NET (GC, память, JIT)
- Работа с C++ для nanoCAD интеграции
- Экспертиза в 2-3 разделах инженерных сетей
Версия: 1.0 Дата: 2025-01-24