Created by AIImproved by people

Riqli · living documents · updated continuously

Where AI knowledge meets human practice.

Share with friends
Job Description. Fullstack Developer (web applications, startups, product companies). Document. (Job description. Должностная инструкция. Responsibilities. Fullstack developer duties. Frontend. Backend. Web development. React. Node.js. Python. Product company. Startup.)
sections

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

contents

1.1. Назначение документа

Настоящая должностная инструкция определяет функциональные обязанности, права, ответственность и квалификационные требования к Fullstack-разработчику (далее — «Разработчик»), работающему в продуктовых компаниях и стартапах, ориентированных на создание веб-приложений. Документ является основным организационно-распорядительным актом, регулирующим трудовые отношения между работником и работодателем, а также служит базой для оценки эффективности труда, проведения аттестаций и разработки индивидуальных планов развития.

contents

1.2. Правовая основа деятельности

В своей деятельности Разработчик руководствуется Трудовым кодексом Российской Федерации, внутренними нормативными актами компании (включая устав, правила внутреннего трудового распорядка, политику информационной безопасности), настоящей должностной инструкцией, а также технической документацией и стандартами кодирования, принятыми в организации. Выполнение должностных обязанностей осуществляется в строгом соответствии с законодательством о защите персональных данных и интеллектуальной собственности.

contents

1.3. Термины и определения

В настоящем документе используются следующие термины: Fullstack-разработка — комплекс работ по созданию клиентской и серверной частей веб-приложения; фронтенд — пользовательский интерфейс и взаимодействие с пользователем; бэкенд — серверная логика, базы данных и интеграции; продуктовая компания — организация, разрабатывающая и поддерживающая собственный программный продукт как основной бизнес-актив; стартап — временная организационная структура, нацеленная на поиск масштабируемой бизнес-модели.

contents

1.4. Квалификационные категории

Разработчик относится к категории специалистов, непосредственно участвующих в создании и развитии программного обеспечения. Уровень квалификации определяется на основе опыта работы, владения технологическим стеком (React, Node.js, Python), способности решать архитектурные задачи и эффективно взаимодействовать в кросс-функциональной команде. В зависимости от стажа и сложности решаемых задач могут выделяться грейды: Junior, Middle, Senior, Team Lead.

sections

2. Цель должности и сфера ответственности

contents

2.1. Миссия роли

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

contents

2.2. Ожидаемые результаты работы

Ключевыми результатами деятельности являются: работоспособное веб-приложение, соответствующее техническому заданию и бизнес-требованиям; своевременное выполнение задач в рамках спринтов; низкий уровень технического долга; высокий процент покрытия кода автотестами; быстрая реакция на инциденты и ошибки в продуктивной среде; документация разработанных модулей и API; участие в улучшении процессов разработки и DevOps-практик.

sections

3. Подчинение и линии отчетности

contents

3.1. Иерархическое подчинение

Разработчик непосредственно подчиняется техническому руководителю (Team Lead / Engineering Manager) или руководителю отдела разработки. В некоторых организационных структурах (стартапы) возможно прямое подчинение CTO или владельцу продукта (Product Owner). Назначение на должность, перемещение и освобождение от должности производятся приказом генерального директора по представлению непосредственного руководителя.

contents

3.2. Матричное взаимодействие

В рамках функциональных обязанностей Разработчик взаимодействует с руководителем проекта (Project Manager) для планирования сроков, с продуктовым менеджером (Product Manager) для уточнения требований к функциональности, с командой дизайнеров и аналитиков, а также с инженерами по качеству (QA-инженерами) для обеспечения качества выпускаемого продукта. При решении архитектурных вопросов допускается взаимодействие с системными аналитиками и архитекторами.

sections

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

contents

4.1. Проектирование и разработка архитектуры

Разработчик участвует в проектировании архитектуры веб-приложений, включая выбор технологического стека, проектирование структуры баз данных, разработку схем API и организацию взаимодействия между компонентами системы. Обязанности включают:

  • Анализ бизнес-требований и их трансформация в технические задачи;
  • Создание проектной документации, диаграмм потоков данных и ER-диаграмм;
  • Выбор и обоснование технологических решений с учетом требований к нагрузке, безопасности и масштабированию;
  • Проведение технических исследований (spike) для проверки гипотез и новых подходов.
contents

4.2. Разработка пользовательского интерфейса (Frontend)

Разработчик создает адаптивные, высокопроизводительные пользовательские интерфейсы на базе фреймворка React с использованием современных подходов к управлению состоянием и стилизации. В зону ответственности входит:

  • Верстка компонентов по макетам из Figma/Zeplin;
  • Реализация клиентской логики на JavaScript/TypeScript;
  • Интеграция с RESTful API и GraphQL;
  • Оптимизация производительности фронтенда (LCP, FID, CLS);
  • Обеспечение доступности интерфейса (WCAG 2.1).
contents

4.3. Разработка серверной части и бизнес-логики (Backend)

Разработка серверной логики ведется с использованием платформ Node.js (NestJS, Express) и/или Python (Django, FastAPI). Обязанности бэкенд-разработки включают:

  • Проектирование и реализацию RESTful API и GraphQL-схем;
  • Разработку модулей бизнес-логики, обработку транзакций и расчетов;
  • Реализацию асинхронных задач, очередей сообщений (RabbitMQ, Kafka);
  • Написание миграций, оптимизацию запросов к реляционным и NoSQL базам данных;
  • Интеграцию с внешними системами (платежные шлюзы, CRM, сторонние API).
contents

4.4. Работа с базами данных и хранение данных

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

  • Проектирование и оптимизацию структур реляционных баз данных (PostgreSQL, MySQL);
  • Работа с нереляционными хранилищами (MongoDB, Redis);
  • Написание сложных SQL-запросов и хранимых процедур;
  • Настройка индексов, партиционирование, шардирование;
  • Разработка стратегий резервного копирования и восстановления данных.
contents

4.5. Интеграция и взаимодействие с внешними сервисами

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

  • Настройка и использование внешних API (платежных систем, соцсетей, облачных сервисов);
  • Реализация webhook-ов для получения событий от сторонних систем;
  • Разработка фасадов и адаптеров для унификации внешних интерфейсов;
  • Обеспечение безопасного хранения и передачи секретов (Vault, переменные окружения).
contents

4.6. Тестирование и обеспечение качества

Разработчик обеспечивает качество разрабатываемого программного обеспечения через все уровни тестирования. Обязанности включают:

  • Написание юнит-тестов (Jest, Mocha, PyTest);
  • Разработку интеграционных и компонентных тестов;
  • Создание E2E-тестов с использованием Cypress/Playwright;
  • Участие в ревью кода, соблюдение соглашений по написанию кода (linters, formatters);
  • Анализ покрытия кода тестами и улучшение метрик качества.
contents

4.7. DevOps и развертывание

Разработчик участвует в организации процессов развертывания, мониторинга и обеспечения отказоустойчивости приложений. Зона ответственности включает:

  • Настройка CI/CD пайплайнов (GitHub Actions, GitLab CI, Jenkins);
  • Контейнеризация приложений с использованием Docker;
  • Оркестрация контейнеров (Kubernetes, Docker Compose);
  • Мониторинг состояния систем (Prometheus, Grafana) и настройка алертов;
  • Управление конфигурациями, секретами и переменными среды для разных окружений.
contents

4.8. Документирование и техническая поддержка

Разработчик создает и поддерживает техническую документацию для всех создаваемых компонентов. Обязанности включают:

  • Ведение документации API с использованием OpenAPI/Swagger;
  • Описание архитектурных решений, принятых дизайн-паттернов;
  • Создание инструкций по развертыванию и настройке окружений;
  • Участие в решении инцидентов и эскалации проблем третьей линии поддержки;
  • Ведение changelog-а и release notes для релизов продукта.
contents

4.9. Управление версиями и совместная работа

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

  • Ведение репозиториев в Git с использованием Git Flow или Trunk-Based Development;
  • Создание осмысленных коммитов и pull request-ов;
  • Проведение code review и участие в командных обсуждениях;
  • Разрешение конфликтов слияния, использование rebase и merge стратегий;
  • Поддержание актуальности документации в репозитории.
contents

4.10. Участие в планировании и Agile-процессах

Разработчик активно участвует в жизненном цикле разработки в рамках Agile-методологий (Scrum, Kanban). Обязанности включают:

  • Участие в ежедневных стендапах, планировании спринтов и ретроспективах;
  • Оценка трудоемкости задач и предоставление альтернативных решений;
  • Своевременное информирование о рисках, блокерах и изменениях в сроках;
  • Взаимодействие с заказчиком и бизнес-сторонами для уточнения требований;
  • Постоянное улучшение процессов разработки и командной работы.
sections

5. Права работника

contents

5.1. Право на принятие решений

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

contents

5.2. Право на доступ к ресурсам и информации

Для выполнения должностных обязанностей Разработчику предоставляется доступ к:

  • Корпоративной системе контроля версий (Git) и репозиториям кода;
  • Системам управления проектами (Jira, Trello) и документации (Confluence);
  • Средствам CI/CD, мониторинга и логирования;
  • Тестовым и продуктивным окружениям в соответствии с уровнем доступа;
  • Облачным ресурсам (AWS, GCP, Yandex Cloud) и базам данных, необходимым для разработки.
contents

5.3. Право на профессиональное развитие

Разработчик имеет право на участие в корпоративных тренингах, конференциях, хакатонах и других мероприятиях, повышающих квалификацию. Организация предоставляет доступ к профессиональной литературе, онлайн-курсам и обучающим платформам (в рамках бюджета на обучение). Разработчик вправе инициировать внедрение новых технологий и инструментов, повышающих эффективность разработки.

contents

5.4. Право на взаимодействие с руководством

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

sections

6. Ответственность и подотчетность

contents

6.1. Ответственность за качество и сроки выполнения

Разработчик несет персональную ответственность за:

  • Качество разрабатываемого кода, его работоспособность и соответствие техническому заданию;
  • Соблюдение сроков выполнения задач, определенных в рамках спринта;
  • Корректность интеграций с внешними системами и базами данных;
  • Отсутствие критических уязвимостей и ошибок в продуктивной среде;
  • Своевременное документирование всех разработанных компонентов и API.
contents

6.2. Дисциплинарная и материальная ответственность

За невыполнение или ненадлежащее выполнение должностных обязанностей, нарушение трудовой дисциплины, правил внутреннего распорядка, требований охраны труда и пожарной безопасности Разработчик привлекается к дисциплинарной ответственности в порядке, установленном Трудовым кодексом РФ. Материальная ответственность наступает в случаях, предусмотренных законодательством, за причинение ущерба имуществу работодателя или разглашение конфиденциальной информации.

contents

6.3. Ответственность за информационную безопасность

Разработчик обязан соблюдать политику информационной безопасности, в том числе:

  • Не разглашать пароли, ключи доступа, секреты и конфиденциальные данные;
  • Использовать только безопасные каналы передачи данных;
  • Своевременно сообщать о подозрительной активности или угрозах безопасности;
  • Соблюдать требования по защите персональных данных (152-ФЗ).
contents

6.4. Комплаенс и соблюдение стандартов

Разработчик обязан соблюдать требования нормативных актов, регулирующих деятельность компании, включая лицензионные соглашения на используемое программное обеспечение, стандарты кодирования, соглашения о неразглашении (NDA), а также внутренние регламенты и политики, утвержденные руководством.

sections

7. Квалификационные требования и компетенции

contents

7.1. Образование и опыт работы

Для занятия должности Fullstack-разработчика требуется высшее профессиональное образование по специальности «Информатика», «Прикладная математика», «Информационные системы» или смежным направлениям. Опыт работы по специальности:

  • Junior: до 2 лет коммерческой разработки;
  • Middle: от 2 до 5 лет разработки веб-приложений;
  • Senior: от 5 лет разработки, включая архитектурные задачи и менторство.
contents

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, событиями.
contents

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.
contents

7.4. Навыки работы с базами данных и SQL

Требуются уверенные знания:

  • Реляционные СУБД: PostgreSQL (предпочтительно), MySQL;
  • Написание сложных запросов с JOIN, оконными функциями, CTE;
  • Оптимизация запросов, индексы, explain analyze;
  • Работа с ORM (TypeORM, Sequelize, Prisma, SQLAlchemy);
  • Опыт с NoSQL (MongoDB, Redis) и понимание случаев их применения.
contents

7.5. DevOps и инструменты администрирования

Необходимые практические навыки:

  • Docker и Docker Compose;
  • Системы контроля версий Git;
  • Настройка CI/CD (GitHub Actions, GitLab CI);
  • Основы Linux администрирования, работа с командной строкой;
  • Мониторинг и логирование (Prometheus, Grafana, ELK Stack).
contents

7.6. Soft skills и личные качества

Ключевые деловые качества:

  • Аналитическое мышление и способность решать сложные задачи;
  • Самодисциплина, ответственность и ориентация на результат;
  • Командная работа, готовность помогать коллегам;
  • Умение работать с неполными требованиями и быстро адаптироваться к изменениям;
  • Коммуникативные навыки для взаимодействия с бизнес-сторонами.
contents

7.7. Знание английского языка

Технический английский не ниже уровня B2 (Upper-Intermediate) для чтения документации, участия в международных проектах, написания комментариев к коду и документации на английском языке. Требуется умение вести переписку, описывать технические проблемы и участвовать в созвонах с международными командами (при необходимости).

sections

8. Условия труда и рабочее место

contents

8.1. Режим рабочего времени

Режим работы определяется правилами внутреннего трудового распорядка и может включать гибкий график, особенно в стартапах и продуктовых компаниях, ориентированных на результат. Стандартная рабочая неделя составляет 40 часов (5 дней по 8 часов) с возможностью работы в удаленном формате. Начало и окончание рабочего дня могут варьироваться с учетом согласования с руководителем.

contents

8.2. Оснащение рабочего места

Компания предоставляет Разработчику техническое оснащение, необходимое для выполнения работы: персональный компьютер или ноутбук с достаточной производительностью, мониторы, доступ к сети Интернет, средства связи, лицензионное программное обеспечение, доступ к корпоративным облачным сервисам, учетные записи в системах разработки.

contents

8.3. Условия труда и охрана труда

Рабочее место должно соответствовать санитарно-гигиеническим нормам (СанПиН), требованиям эргономики и охраны труда. Компания обеспечивает проведение инструктажей по охране труда, пожарной безопасности и электробезопасности. При работе за компьютером следует соблюдать режим труда и отдыха, делать перерывы для профилактики зрительного утомления.

contents

8.4. Командировки и удаленная работа

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

sections

9. Ключевые показатели эффективности (KPI)

contents

9.1. Измеримые показатели качества работы

Оценка эффективности Разработчика производится на основе следующих количественных и качественных KPI:

  • Соблюдение сроков выполнения задач (не более 10% просроченных задач);
  • Качество кода: процент покрытия тестами не менее 75% для нового кода;
  • Количество критических ошибок в продуктивной среде, связанных с разработкой (менее 2 за квартал);
  • Скорость выполнения задач (Story Points / Sprint, планируемая скорость).
contents

9.2. Показатели участия в командных процессах

В дополнение к техническим показателям, оцениваются:

  • Участие в Code Review: количество и качество проведенных ревью;
  • Активность на стендапах и ретроспективах, вклад в улучшение процессов;
  • Своевременность обновления задач в системе управления проектами;
  • Уровень удовлетворенности команды взаимодействием с разработчиком (feedback от PM и коллег).
contents

9.3. Периодичность оценки и аттестация

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

sections

10. Бизнес-процессы, чеклисты и сценарии рабочих операций