Created by AIImproved by people
Riqli · living documents · updated continuously
Where AI knowledge meets human practice.
Share with friends
1. Общие положения
1.1. Назначение документа
Настоящая должностная инструкция определяет функциональные обязанности, права, ответственность и квалификационные требования к Fullstack-разработчику (далее — «Разработчик»), работающему в продуктовых компаниях и стартапах, ориентированных на создание веб-приложений. Документ является основным организационно-распорядительным актом, регулирующим трудовые отношения между работником и работодателем, а также служит базой для оценки эффективности труда, проведения аттестаций и разработки индивидуальных планов развития.
1.2. Правовая основа деятельности
В своей деятельности Разработчик руководствуется Трудовым кодексом Российской Федерации, внутренними нормативными актами компании (включая устав, правила внутреннего трудового распорядка, политику информационной безопасности), настоящей должностной инструкцией, а также технической документацией и стандартами кодирования, принятыми в организации. Выполнение должностных обязанностей осуществляется в строгом соответствии с законодательством о защите персональных данных и интеллектуальной собственности.
1.3. Термины и определения
В настоящем документе используются следующие термины: Fullstack-разработка — комплекс работ по созданию клиентской и серверной частей веб-приложения; фронтенд — пользовательский интерфейс и взаимодействие с пользователем; бэкенд — серверная логика, базы данных и интеграции; продуктовая компания — организация, разрабатывающая и поддерживающая собственный программный продукт как основной бизнес-актив; стартап — временная организационная структура, нацеленная на поиск масштабируемой бизнес-модели.
1.4. Квалификационные категории
Разработчик относится к категории специалистов, непосредственно участвующих в создании и развитии программного обеспечения. Уровень квалификации определяется на основе опыта работы, владения технологическим стеком (React, Node.js, Python), способности решать архитектурные задачи и эффективно взаимодействовать в кросс-функциональной команде. В зависимости от стажа и сложности решаемых задач могут выделяться грейды: Junior, Middle, Senior, Team Lead.
2. Цель должности и сфера ответственности
2.1. Миссия роли
Основной целью должности Fullstack-разработчика является обеспечение полного цикла разработки веб-приложений, включая проектирование архитектуры, реализацию пользовательских интерфейсов, создание серверной логики, интеграцию с внешними сервисами и развертывание программного обеспечения. Разработчик несет ответственность за техническую реализацию бизнес-требований, обеспечивая высокую производительность, надежность и масштабируемость продукта на всех этапах его жизненного цикла.
2.2. Ожидаемые результаты работы
Ключевыми результатами деятельности являются: работоспособное веб-приложение, соответствующее техническому заданию и бизнес-требованиям; своевременное выполнение задач в рамках спринтов; низкий уровень технического долга; высокий процент покрытия кода автотестами; быстрая реакция на инциденты и ошибки в продуктивной среде; документация разработанных модулей и API; участие в улучшении процессов разработки и DevOps-практик.
3. Подчинение и линии отчетности
3.1. Иерархическое подчинение
Разработчик непосредственно подчиняется техническому руководителю (Team Lead / Engineering Manager) или руководителю отдела разработки. В некоторых организационных структурах (стартапы) возможно прямое подчинение CTO или владельцу продукта (Product Owner). Назначение на должность, перемещение и освобождение от должности производятся приказом генерального директора по представлению непосредственного руководителя.
3.2. Матричное взаимодействие
В рамках функциональных обязанностей Разработчик взаимодействует с руководителем проекта (Project Manager) для планирования сроков, с продуктовым менеджером (Product Manager) для уточнения требований к функциональности, с командой дизайнеров и аналитиков, а также с инженерами по качеству (QA-инженерами) для обеспечения качества выпускаемого продукта. При решении архитектурных вопросов допускается взаимодействие с системными аналитиками и архитекторами.
4. Должностные обязанности
4.1. Проектирование и разработка архитектуры
Разработчик участвует в проектировании архитектуры веб-приложений, включая выбор технологического стека, проектирование структуры баз данных, разработку схем API и организацию взаимодействия между компонентами системы. Обязанности включают:
- Анализ бизнес-требований и их трансформация в технические задачи;
- Создание проектной документации, диаграмм потоков данных и ER-диаграмм;
- Выбор и обоснование технологических решений с учетом требований к нагрузке, безопасности и масштабированию;
- Проведение технических исследований (spike) для проверки гипотез и новых подходов.
4.2. Разработка пользовательского интерфейса (Frontend)
Разработчик создает адаптивные, высокопроизводительные пользовательские интерфейсы на базе фреймворка React с использованием современных подходов к управлению состоянием и стилизации. В зону ответственности входит:
- Верстка компонентов по макетам из Figma/Zeplin;
- Реализация клиентской логики на JavaScript/TypeScript;
- Интеграция с RESTful API и GraphQL;
- Оптимизация производительности фронтенда (LCP, FID, CLS);
- Обеспечение доступности интерфейса (WCAG 2.1).
4.3. Разработка серверной части и бизнес-логики (Backend)
Разработка серверной логики ведется с использованием платформ Node.js (NestJS, Express) и/или Python (Django, FastAPI). Обязанности бэкенд-разработки включают:
- Проектирование и реализацию RESTful API и GraphQL-схем;
- Разработку модулей бизнес-логики, обработку транзакций и расчетов;
- Реализацию асинхронных задач, очередей сообщений (RabbitMQ, Kafka);
- Написание миграций, оптимизацию запросов к реляционным и NoSQL базам данных;
- Интеграцию с внешними системами (платежные шлюзы, CRM, сторонние API).
4.4. Работа с базами данных и хранение данных
Разработчик проектирует схемы баз данных, обеспечивая целостность, производительность и масштабируемость хранения. Обязанности включают:
- Проектирование и оптимизацию структур реляционных баз данных (PostgreSQL, MySQL);
- Работа с нереляционными хранилищами (MongoDB, Redis);
- Написание сложных SQL-запросов и хранимых процедур;
- Настройка индексов, партиционирование, шардирование;
- Разработка стратегий резервного копирования и восстановления данных.
4.5. Интеграция и взаимодействие с внешними сервисами
Разработчик реализует интеграции с внешними системами, обеспечивая надежный обмен данными и обработку ошибок. В компетенцию входит:
- Настройка и использование внешних API (платежных систем, соцсетей, облачных сервисов);
- Реализация webhook-ов для получения событий от сторонних систем;
- Разработка фасадов и адаптеров для унификации внешних интерфейсов;
- Обеспечение безопасного хранения и передачи секретов (Vault, переменные окружения).
4.6. Тестирование и обеспечение качества
Разработчик обеспечивает качество разрабатываемого программного обеспечения через все уровни тестирования. Обязанности включают:
- Написание юнит-тестов (Jest, Mocha, PyTest);
- Разработку интеграционных и компонентных тестов;
- Создание E2E-тестов с использованием Cypress/Playwright;
- Участие в ревью кода, соблюдение соглашений по написанию кода (linters, formatters);
- Анализ покрытия кода тестами и улучшение метрик качества.
4.7. DevOps и развертывание
Разработчик участвует в организации процессов развертывания, мониторинга и обеспечения отказоустойчивости приложений. Зона ответственности включает:
- Настройка CI/CD пайплайнов (GitHub Actions, GitLab CI, Jenkins);
- Контейнеризация приложений с использованием Docker;
- Оркестрация контейнеров (Kubernetes, Docker Compose);
- Мониторинг состояния систем (Prometheus, Grafana) и настройка алертов;
- Управление конфигурациями, секретами и переменными среды для разных окружений.
4.8. Документирование и техническая поддержка
Разработчик создает и поддерживает техническую документацию для всех создаваемых компонентов. Обязанности включают:
- Ведение документации API с использованием OpenAPI/Swagger;
- Описание архитектурных решений, принятых дизайн-паттернов;
- Создание инструкций по развертыванию и настройке окружений;
- Участие в решении инцидентов и эскалации проблем третьей линии поддержки;
- Ведение changelog-а и release notes для релизов продукта.
4.9. Управление версиями и совместная работа
Разработчик использует системы контроля версий для организации эффективной командной работы. Основные требования:
- Ведение репозиториев в Git с использованием Git Flow или Trunk-Based Development;
- Создание осмысленных коммитов и pull request-ов;
- Проведение code review и участие в командных обсуждениях;
- Разрешение конфликтов слияния, использование rebase и merge стратегий;
- Поддержание актуальности документации в репозитории.
4.10. Участие в планировании и Agile-процессах
Разработчик активно участвует в жизненном цикле разработки в рамках Agile-методологий (Scrum, Kanban). Обязанности включают:
- Участие в ежедневных стендапах, планировании спринтов и ретроспективах;
- Оценка трудоемкости задач и предоставление альтернативных решений;
- Своевременное информирование о рисках, блокерах и изменениях в сроках;
- Взаимодействие с заказчиком и бизнес-сторонами для уточнения требований;
- Постоянное улучшение процессов разработки и командной работы.
5. Права работника
5.1. Право на принятие решений
Разработчик имеет право самостоятельно принимать решения в рамках технических задач, поставленных в спринте, включая выбор конкретных алгоритмов, библиотек и подходов к реализации, если они соответствуют согласованной архитектуре и стандартам кодирования. Решения, затрагивающие архитектуру системы, выбор ключевых технологий или влияющие на другие команды, должны согласовываться с техническим руководителем.
5.2. Право на доступ к ресурсам и информации
Для выполнения должностных обязанностей Разработчику предоставляется доступ к:
- Корпоративной системе контроля версий (Git) и репозиториям кода;
- Системам управления проектами (Jira, Trello) и документации (Confluence);
- Средствам CI/CD, мониторинга и логирования;
- Тестовым и продуктивным окружениям в соответствии с уровнем доступа;
- Облачным ресурсам (AWS, GCP, Yandex Cloud) и базам данных, необходимым для разработки.
5.3. Право на профессиональное развитие
Разработчик имеет право на участие в корпоративных тренингах, конференциях, хакатонах и других мероприятиях, повышающих квалификацию. Организация предоставляет доступ к профессиональной литературе, онлайн-курсам и обучающим платформам (в рамках бюджета на обучение). Разработчик вправе инициировать внедрение новых технологий и инструментов, повышающих эффективность разработки.
5.4. Право на взаимодействие с руководством
Разработчик имеет право обращаться к непосредственному руководителю и вышестоящему руководству по вопросам, касающимся условий труда, выполнения должностных обязанностей, конфликтных ситуаций, а также вносить предложения по совершенствованию деятельности компании и процессов разработки.
6. Ответственность и подотчетность
6.1. Ответственность за качество и сроки выполнения
Разработчик несет персональную ответственность за:
- Качество разрабатываемого кода, его работоспособность и соответствие техническому заданию;
- Соблюдение сроков выполнения задач, определенных в рамках спринта;
- Корректность интеграций с внешними системами и базами данных;
- Отсутствие критических уязвимостей и ошибок в продуктивной среде;
- Своевременное документирование всех разработанных компонентов и API.
6.2. Дисциплинарная и материальная ответственность
За невыполнение или ненадлежащее выполнение должностных обязанностей, нарушение трудовой дисциплины, правил внутреннего распорядка, требований охраны труда и пожарной безопасности Разработчик привлекается к дисциплинарной ответственности в порядке, установленном Трудовым кодексом РФ. Материальная ответственность наступает в случаях, предусмотренных законодательством, за причинение ущерба имуществу работодателя или разглашение конфиденциальной информации.
6.3. Ответственность за информационную безопасность
Разработчик обязан соблюдать политику информационной безопасности, в том числе:
- Не разглашать пароли, ключи доступа, секреты и конфиденциальные данные;
- Использовать только безопасные каналы передачи данных;
- Своевременно сообщать о подозрительной активности или угрозах безопасности;
- Соблюдать требования по защите персональных данных (152-ФЗ).
6.4. Комплаенс и соблюдение стандартов
Разработчик обязан соблюдать требования нормативных актов, регулирующих деятельность компании, включая лицензионные соглашения на используемое программное обеспечение, стандарты кодирования, соглашения о неразглашении (NDA), а также внутренние регламенты и политики, утвержденные руководством.
7. Квалификационные требования и компетенции
7.1. Образование и опыт работы
Для занятия должности Fullstack-разработчика требуется высшее профессиональное образование по специальности «Информатика», «Прикладная математика», «Информационные системы» или смежным направлениям. Опыт работы по специальности:
- Junior: до 2 лет коммерческой разработки;
- Middle: от 2 до 5 лет разработки веб-приложений;
- Senior: от 5 лет разработки, включая архитектурные задачи и менторство.
7.2. Технические навыки (Frontend)
Обязательное владение:
- JavaScript/TypeScript (ES6+, TS 4+);
- Фреймворк React (hooks, context, performance optimization);
- Управление состоянием (Redux, Zustand, MobX);
- Сборщики (Webpack, Vite);
- Стилизация (CSS Modules, Styled Components, Tailwind);
- Работа с браузерными API, DOM, событиями.
7.3. Технические навыки (Backend)
Обязательное владение как минимум одним из языков:
- Node.js (Express, NestJS, Fastify) с пониманием event loop, streams, child_process;
- Python (Django, FastAPI, Flask) с владением асинхронным программированием (asyncio);
- Опыт работы с RESTful API, GraphQL, WebSockets;
- Знание принципов микросервисов, паттернов CQRS и Event Sourcing.
7.4. Навыки работы с базами данных и SQL
Требуются уверенные знания:
- Реляционные СУБД: PostgreSQL (предпочтительно), MySQL;
- Написание сложных запросов с JOIN, оконными функциями, CTE;
- Оптимизация запросов, индексы, explain analyze;
- Работа с ORM (TypeORM, Sequelize, Prisma, SQLAlchemy);
- Опыт с NoSQL (MongoDB, Redis) и понимание случаев их применения.
7.5. DevOps и инструменты администрирования
Необходимые практические навыки:
- Docker и Docker Compose;
- Системы контроля версий Git;
- Настройка CI/CD (GitHub Actions, GitLab CI);
- Основы Linux администрирования, работа с командной строкой;
- Мониторинг и логирование (Prometheus, Grafana, ELK Stack).
7.6. Soft skills и личные качества
Ключевые деловые качества:
- Аналитическое мышление и способность решать сложные задачи;
- Самодисциплина, ответственность и ориентация на результат;
- Командная работа, готовность помогать коллегам;
- Умение работать с неполными требованиями и быстро адаптироваться к изменениям;
- Коммуникативные навыки для взаимодействия с бизнес-сторонами.
7.7. Знание английского языка
Технический английский не ниже уровня B2 (Upper-Intermediate) для чтения документации, участия в международных проектах, написания комментариев к коду и документации на английском языке. Требуется умение вести переписку, описывать технические проблемы и участвовать в созвонах с международными командами (при необходимости).
8. Условия труда и рабочее место
8.1. Режим рабочего времени
Режим работы определяется правилами внутреннего трудового распорядка и может включать гибкий график, особенно в стартапах и продуктовых компаниях, ориентированных на результат. Стандартная рабочая неделя составляет 40 часов (5 дней по 8 часов) с возможностью работы в удаленном формате. Начало и окончание рабочего дня могут варьироваться с учетом согласования с руководителем.
8.2. Оснащение рабочего места
Компания предоставляет Разработчику техническое оснащение, необходимое для выполнения работы: персональный компьютер или ноутбук с достаточной производительностью, мониторы, доступ к сети Интернет, средства связи, лицензионное программное обеспечение, доступ к корпоративным облачным сервисам, учетные записи в системах разработки.
8.3. Условия труда и охрана труда
Рабочее место должно соответствовать санитарно-гигиеническим нормам (СанПиН), требованиям эргономики и охраны труда. Компания обеспечивает проведение инструктажей по охране труда, пожарной безопасности и электробезопасности. При работе за компьютером следует соблюдать режим труда и отдыха, делать перерывы для профилактики зрительного утомления.
8.4. Командировки и удаленная работа
В рамках должностных обязанностей Разработчик может привлекаться к выполнению работ в удаленном режиме или направляться в служебные командировки для участия в совещаниях, интеграционных работах или запуске продукта у заказчика. Порядок и условия командировок регулируются локальными нормативными актами компании.
9. Ключевые показатели эффективности (KPI)
9.1. Измеримые показатели качества работы
Оценка эффективности Разработчика производится на основе следующих количественных и качественных KPI:
- Соблюдение сроков выполнения задач (не более 10% просроченных задач);
- Качество кода: процент покрытия тестами не менее 75% для нового кода;
- Количество критических ошибок в продуктивной среде, связанных с разработкой (менее 2 за квартал);
- Скорость выполнения задач (Story Points / Sprint, планируемая скорость).
9.2. Показатели участия в командных процессах
В дополнение к техническим показателям, оцениваются:
- Участие в Code Review: количество и качество проведенных ревью;
- Активность на стендапах и ретроспективах, вклад в улучшение процессов;
- Своевременность обновления задач в системе управления проектами;
- Уровень удовлетворенности команды взаимодействием с разработчиком (feedback от PM и коллег).
9.3. Периодичность оценки и аттестация
Оценка выполнения KPI проводится ежеквартально непосредственным руководителем, а также в рамках ежегодной аттестации персонала. Результаты оценки учитываются при принятии решений о продвижении по службе, изменении заработной платы, премировании и назначении на новые проекты. Аттестация проводится не реже одного раза в год в порядке, установленном локальными актами.
10. Бизнес-процессы, чеклисты и сценарии рабочих операций