Должностная инструкция разработчика смарт-контрактов (Solidity / Web3 Engineer): 2026
Технический директор (CTO) / Head of Web3
ООО "____________________"
__________ / __________________ /
«___» ____________ 2026 г.
1. Общие положения
1.1. Настоящая должностная инструкция определяет обязанности, профессиональные компетенции, права и строгую ответственность разработчика смарт-контрактов (Solidity Developer / Web3 Blockchain Engineer / инженера распределенных реестров) (далее — Работник).
1.2. Должность относится к категории ведущих инженеров-разработчиков программного обеспечения в сфере блокчейн-технологий и распределенных систем (DLT).
1.3. Прием на работу и освобождение от должности производятся приказом Генерального директора по представлению CTO / Руководителя Blockchain-направления.
1.4. Разработчик смарт-контрактов подчиняется Lead Blockchain Developer / Архитектору Web3-решений.
1.5. В своей работе специалист руководствуется стандартами консорциума Ethereum Improvement Proposals (EIP/ERC), Федеральным законом № 259-ФЗ «О цифровых финансовых активах...», общепринятыми практиками безопасности смарт-контрактов (OpenZeppelin, SWC Registry) и профстандартом 06.025.
2. Квалификационные требования к должности
2.1. Образование: Высшее образование в области прикладной математики, криптографии, информатики или программной инженерии.
2.2. Опыт работы: Опыт коммерческой разработки смарт-контрактов для EVM-совместимых блокчейнов (Ethereum, Polygon, Arbitrum, BSC) не менее 1.5–2 лет.
2.3. Solidity-разработчик должен знать:
- Архитектуру Ethereum Virtual Machine (EVM), устройство памяти (Storage, Memory, Calldata), стека и опкодов (Opcodes);
- Язык программирования Solidity (актуальные версии 0.8.x и выше), паттерны проектирования смарт-контрактов;
- Фреймворки разработки и тестирования смарт-контрактов: Foundry (Forge), Hardhat, Truffle, Brownie;
- Стандарты токенов и интерфейсов: ERC-20, ERC-721 (NFT), ERC-1155, ERC-4626 (Vaults), ERC-4337 (Account Abstraction);
- Паттерны обновляемых контрактов (Upgradeable Contracts: Transparent Proxy, UUPS, Diamond Pattern ERC-2535);
- Типовые векторы атак и уязвимостей смарт-контрактов: Reentrancy, Front-running (MEV), Integer Overflow, Flash Loan атаки, Signature Replay, Oracle Manipulation;
- Инструменты статического анализа и фаззинга: Slither, Mythril, Echidna, Certora;
- Методы криптографии: эллиптические кривые (ECDSA), хэш-функции Keccak-256, деревья Меркла (Merkle Trees), доказательства с нулевым разглашением (ZK-proofs).
Справочные данные классификаторов
| Классификатор | Код / Значение | Основание |
|---|---|---|
| Код по ОКЗ | 2512 (Разработчики программного обеспечения) | ОК 010-2014 |
| Код по ОКПДТР | 25700 (Программист) | ОК 016-94 |
| Профессиональный стандарт | 06.025 «Специалист по разработке программного обеспечения» | Приказ Минтруда РФ |
| Квалификационный уровень | 6–7 уровень квалификации | Приказ Минтруда РФ |
3. Должностные и производственные обязанности
Разработчик смарт-контрактов выполняет следующие трудовые обязанности:
3.1. Проектирование и разработка смарт-контрактов:
- Пишет безопасный, модульный и поддерживаемый код смарт-контрактов на языке Solidity в соответствии с техническими требованиями проекта.
- Реализует механизмы выпуска цифровых финансовых активов (ЦФА), стейкинга, пулов ликвидности, мостов (Bridges) и систем децентрализованного голосования (DAO).
- Осуществляет глубокую оптимизацию потребления газа (Gas Optimization) за счет упаковки переменных (Storage packing), использования сборщика Assembly/Yul и эффективных структур данных.
3.2. Тестирование, аудит и безопасность:
- Разрабатывает 100% покрытие кода Unit-тестами, интеграционными тестами и инвариантными фаззинг-тестами на базе Foundry/Hardhat.
- Проводит внутренний аудит безопасности смарт-контрактов, моделирование угроз и запуск автоматических статических анализаторов (Slither).
- Взаимодействует с внешними аудиторскими блокчейн-компаниями (CertiK, OpenZeppelin, Hacken), устраняет выявленные замечания до деплоя в Mainnet.
3.3. Деплой и интеграция с Web3-интерфейсами:
- Готовит скрипты деплоя и инициализации контрактов в тестовых (Testnet: Sepolia, Holesky) и основных (Mainnet) сетях.
- Взаимодействует с Frontend-разработчиками для интеграции контрактов через библиотеки Ethers.js, Viem, Web3.js и провайдеры кошельков (Wagmi, WalletConnect).
- Настраивает оракулы цен и внешних данных (Chainlink Data Feeds, Chainlink VRF).
4. Права работника
Разработчик смарт-контрактов имеет право:
- Блокировать публикацию (деплой) смарт-контракта в Mainnet при наличии неисправленных уязвимостей безопасности или отсутствии внешнего аудита.
- Отказываться от использования непроверенных библиотек с открытым исходным кодом без истории аудитов.
- Требовать предоставления закрытых тестовых сред (локальных форков Mainnet через Anvil/Hardhat Node).
5. Ответственность
Разработчик смарт-контрактов несет ответственность за:
- Критические уязвимости в коде: ошибки в смарт-контракте, повлекшие кражу или безвозвратную блокировку средств пользователей хакерами.
- Неоптимальный Gas Usage: завышенные комиссии транзакций пользователей из-за грубых ошибок в алгоритмах хранения данных.
- Утечку приватных ключей деплоера (Deployer Private Keys): компрометацию учетных записей администратора смарт-контрактов.
6. Взаимодействие и KPI
6.1. Связи: взаимодействует с Web3 Frontend-разработчиками, аудиторами безопасности, Backend-инженерами (индексаторы The Graph / Subgraphs) и Product Owner.
6.2. KPI: 0 уязвимостей критического и высокого уровня (High/Critical) после прохождения внешнего аудита, 100% прохождение инвариантных тестов, оптимизация газа не ниже плановых бенчмарков.
Лист ознакомления с должностной инструкцией
| ФИО разработчика | Квалификация | Подпись | Дата |
|---|---|---|---|
| ______________________________ | Solidity Dev | ______________ | «___» __________ 202__ г. |
Вопросы и ответы по должности
Почему разработка на Solidity требует более строгого отношения к качеству, чем классический Backend?
В классическом веб-приложении баг можно исправить быстрым хотфиксом за пару минут. В смарт-контрактах код неизменяем (Immutable), публично доступен для изучения любым хакерам мира и напрямую управляет реальными финансовыми средствами. Ошибка в одной строке кода может привести к мгновенной потере миллионов долларов без возможности отката транзакции.
Зачем Solidity-разработчику знать язык низкоуровневых вставок Yul / Assembly?
Yul позволяет обращаться напрямую к памяти EVM и опкодам, минуя накладные расходы компилятора Solidity. Это необходимо для написания сверхэффективных библиотек, кастомных прокси-контрактов и максимального снижения затрат на газ при выполнении транзакций.