Кто такой Solidity Developer
Solidity-разработчик создаёт программы, которые работают в блокчейнеБлокчейнБлокчейн — распределённая база данных в виде цепочки блоков, где каждая запись связана криптографически с предыдущей, а копии хранятся у множества участников сети.: смарт-контрактыСмарт-контрактСмарт-контракт — программа, которая хранится в блокчейне и автоматически выполняет заложенные в неё условия, когда они выполнены. на языке Solidity, исполняемые в сети EthereumЭфириумEthereum — блокчейн-платформа с программируемыми смарт-контрактами и собственной криптовалютой ETH, которую используют для оплаты комиссий в сети. и других EVM-совместимых сетях. Контракт нельзя просто поправить после релиза, поэтому ошибка в логике или уязвимость может стоить проекту денег пользователей. Именно поэтому в крипто-продуктах эта роль критична для безопасности и доверия.
В рисковых криптовертикалях Solidity-разработчик нужен для токенов, стейкингаСтейкингСтейкинг — блокировка криптовалюты в сети Proof-of-Stake для участия в валидации транзакций и получения вознаграждения в токенах сети., пулов ликвидностиПул ликвидностиПул ликвидности — набор токенов, заблокированных в смарт-контракте, из которого децентрализованная биржа берёт активы для обмена без книги заявок., кошельков с мультиподписью, мостов между сетями и NFTNFTNFT (невзаимозаменяемый токен) — уникальная цифровая единица на блокчейне, которая подтверждает право владения конкретным объектом или его записью.-маркетплейсов. Компания держит на контрактах реальные средства, поэтому любой баг конвертируется в финансовые потери, репутационный ущерб и претензии. Разработчик работает между продуктовой командой, которая задаёт механику, и аудиторами, которые проверяют код до и после деплоя.
Обычно разработчик подчиняется техлиду или CTO смарт-контрактного направления и работает в одной команде с Backend-инженерами, фронтендом и QA. В небольших командах он также ведёт деплой и мониторинг контрактов, в крупных — отвечает за отдельный модуль протокола.
Обязанности
- Проектирование архитектуры смарт-контрактов: хранение состояния, права доступа, обновляемость (proxy-паттерны) и взаимодействие между контрактами
- Написание кода на Solidity по техническому заданию продуктовой команды
- Покрытие контрактов юнит- и интеграционными тестами, включая fuzz- и invariant-тесты
- Самостоятельный анализ уязвимостей (reentrancy, ошибки округления, неправильный контроль доступа, манипуляции оракулами) до передачи на внешний аудит
- Исправление замечаний внешних и внутренних аудиторов и повторная проверка исправлений
- Подготовка скриптов деплоя и верификации контрактов в обозревателях блокчейна
- Оптимизация расхода газа при взаимодействии пользователей с контрактами
- Ведение технической документации и описания инвариантов для аудита
- Участие в разборе инцидентов и выпуске экстренных обновлений или пауз контрактов
Навыки
- Уверенное знание Solidity и устройства EVM: газ, storage-слоты, типы вызовов, события
- Понимание типовых атак на DeFi и умение строить модель угроз
- Работа с стандартами токенов (ERC-20, ERC-721, ERC-1155) и обновляемыми контрактами
- Написание тестов и оценка покрытия кода
- Чтение чужого кода и аудиторских отчётов
- Знание JavaScript или TypeScript для скриптов и тестовой инфраструктуры
- Понимание архитектуры блокчейна, консенсуса и работы с оракулами
- Умение объяснить техническое решение продукту и риск на языке бизнеса
- Дисциплина при работе с ключами и деплоем в продакшен
Инструменты
- Hardhat
- Foundry
- Remix IDE
- OpenZeppelin Contracts
- Slither
- Etherscan и аналогичные обозреватели блокчейна
- Tenderly для симуляции транзакций и отладки
- Git и GitHub
Как оценивают работу: KPI
- Количество критичных и высоких уязвимостей, найденных до внешнего аудита
- Доля исправлений аудиторских замечаний, принятых и закрытых в срок
- Покрытие контрактов тестами
- Отсутствие инцидентов с потерей средств по вине кода
- Своевременность релизов и деплоев согласно дорожной карте
- Средний расход газа на ключевые операции пользователей
Особенности по вертикалям
Crypto
В криптовертикали Solidity-разработчик отвечает за код, который напрямую хранит и перемещает активы пользователей. Ошибка в контракте приводит к необратимой потере средств, поэтому здесь особенно важны тестирование, аудит и консервативный подход к обновлениям.
Грейды: чем отличается уровень
Specialist
Специалист пишет и тестирует отдельные модули под руководством техлида, проходит ревью кода и не принимает архитектурных решений самостоятельно. Его задача надёжно закрывать задачи, учиться на замечаниях аудита и не вносить новых уязвимостей.
Как стать Solidity Developer
Чаще всего в профессию приходят из веб-разработки на JavaScript, TypeScript или Python, из backend-разработки или из смежных областей, где есть строгая работа с безопасностью и тестами. Важно понимать принципы криптографии, работы сетей и транзакций, но глубокое математическое образование не обязательно.
Для входа стоит освоить Solidity и инструменты Hardhat или Foundry, разобрать стандарты токенов OpenZeppelin, написать несколько учебных контрактов и покрыть их тестами. Полезно изучать публичные разборы известных взломов и аудиторские отчёты, а также читать исходники открытых протоколов и вносить в них свои улучшения.
Рост идёт от написания отдельных модулей к проектированию целых подсистем, от самостоятельных тестов к разработке фаззинг-тестов и формальных инвариантов, от исполнителя к владельцу контрактного релиза. Подтверждением уровня служат собственные репозитории, участие в багбаунти и понятные технические описания работы.
Куда расти дальше: Senior Solidity Developer, Smart Contract Auditor, Lead Blockchain Engineer, Protocol Engineer, Security Engineer (Web3)
Термины, которые нужно знать
- Смарт-контракт
- EVM
- Газ (gas fee)
- Reentrancy
- Proxy-паттерн
- Оракул
- ERC-20
- Аудит смарт-контрактов
- DeFi
- Мультиподпись
Частые вопросы
Чем Solidity-разработчик отличается от обычного программиста?
Он пишет код, который исполняется в публичном блокчейне и не может быть изменён после деплоя обычным способом. Ошибка в контракте сразу становится доступной всем участникам сети. Поэтому подход к тестированию и безопасности здесь строже, чем в традиционной разработке.
Нужно ли знать математику или криптографию?
Для большинства продуктовых задач достаточно понимания хеширования, цифровых подписей, устройства транзакций и арифметики с округлением. Глубокие криптографические знания нужны для протоколов с нестандартной математикой и для работы с zero-knowledge. Для старта хватает практической базы.
Какой уровень дохода ожидать?
Доход зависит от опыта, наличия подтверждённых проектов, знания DeFi-механик и аудиторского бэкграунда, а также от типа компании и её финансовых возможностей. Разработчики с завершёнными аудитами и публичным портфолио обычно получают больше. Конкретные цифры стоит смотреть в актуальных вакансиях.
Нужно ли иметь опыт в крипто, чтобы попасть на позицию?
Опыт в криптосфере помогает, но не всегда обязателен. Работодатели ценят понимание принципов блокчейна, демонстрацию учебных или открытых проектов и умение объяснять риски. Фундамент в разработке и безопасности часто важнее, чем опыт в конкретном токене.
Чем Solidity-разработчик отличается от аудитора смарт-контрактов?
Разработчик пишет и выпускает код, аудитор проверяет чужой код на уязвимости и выдаёт отчёт. Многие специалисты работают в обеих ролях последовательно. Разработчику полезно уметь видеть код глазами аудитора, а аудитору — понимать ограничения реализации.