Блокчейн-проекты выглядят довольно привлекательно, если изучить уровень оплаты специалистов на сайтах вакансий вроде HH.ru или Job.ru. Самые высокооплачиваемые — девелоперы высшей ступени (Senior).
Что нужно знать и учитывать блокчейн-разработчику, как создать уникальные цепи и приложения с помощью смарт-контрактов, какие языки программирования могут понадобиться – советы дает члена жюри конкурса CryptoExperts, участник Российской ассоциации криптоиндустрии и блокчейна (РАКИБ) Александр Едемский.
Вакансии по запросу Blockchain Developer
Можно подобрать удаленный вариант работы, трудоустройство в иностранную компанию или релоцироваться за границу. Уровень оплаты различается не только в зависимости от практического опыта, но и от использования определенного языка программирования. Примерные вилки зарплатных предложений:
Должность | Уровень оплаты, RUB |
Senior Developer | От 250 000 до 800 000 |
Backend Developer | От 100 000 до 200 000 |
Frontend Developer | От 150 000 до 250 000 |
Full Stack Developer | От 200 000 до 300 000 |
Важно понимать специфику профессии. Деятельность разработчиков делится на три основных направления:
Развитие существующих сетей. Необходимо изучить язык программирования и конкретный исходный код. Также важно оценить, какая область требует доработки.
Написание уникального блокчейна. Нужно глубокое понимание основных действующих цепей и их недостатков. Как правило, требует большого опыта в криптообласти.
Создание смарт-контрактов. Реализация протоколов, приложений, проведение аудита программного кода. В эту отрасль зачастую направляются начинающие блокчейн-девелоперы.
Тем не менее, с полного нуля попасть в Web3-сферу невозможно. Для начала необходимо подготовить базу. Из-за молодости индустрии и неопределенного в России юридического статуса криптовалют образовательная среда не обладает специализированными учебными заведениями. Однако при большом желании возможно приобрести необходимые знания и наработать практический опыт.
Фундаментальные знания
На начальном этапе потребуется изучить основы верстки и стилизации — HTML и CSS. Этот блок доступен в открытых и бесплатных источниках онлайн. Займет примерно до одного месяца. После можно приступать к полноценному языку программирования — JavaScript. Процесс длительный и трудоемкий, поэтому рекомендуется проходить его системно в рамках специального курса — например, на базе дополнительного обучения от вузов или школ по повышению квалификации.
Язык Python также подходит для Web3-девелоперов. Однако основная масса документации в репозиториях все же написана с помощью JavaScript.
Также потребуется опробовать работу с библиотеками и надстройками на этом языке. Затем нужно изучить среду Node.js на ознакомительном уровне — установка пакетов и запуск узлов. Важно уделить внимание особенностям TypeScript, который также относится к JS.
На заключительном этапе рекомендуется изучить фреймворки. В общей сложности освоение базы занимает от шести месяцев до года.
Информация также предоставляется в рамках учебных заведений высшей ступени по специализациям кафедры «Программирование». Этого объема фундаментальных знаний без практического опыта достаточно для работы junior-developer в IT-индустрии. Также с этой ступени можно приступать к изучению основ Web3.
Чем занимаются блокчейн-разработчики
Во-первых, потребуется выбрать направление — развитие существующих сетей, создание новых блокчейнов или реализация приложений с помощью смарт-контрактов. Это влияет на следующий блок необходимых знаний.
Создание блокчейна
Работа с существующими сетями, в особенности при реализации уникальной идеи, требует специфических знаний классической криптографии. В открытом доступе сложно найти обучающие материалы по этому направлению, однако все же возможно.
Также их преподают в узкоспециальных направлениях — «Криптограф», «Инженер по криптозащите», «Теория шифрования».
Дополнительно нужно изучить классический язык программирования. Например, для Bitcoin и Tezos потребуется С++. А вот для Stellar необходим специальный язык, созданный разработчиками именно этого блокчейна. Также встречаются Rust, Go, производные от них и другие. Не менее важно следить за трендами в индустрии, работой коллег и инновационными решениями.
Создание смарт-контрактов
В какой-то степени обучение в этой сфере проще и занимает немного времени — меньше месяца. Самой распространенной сетью считается Ethereum. Популярность привела к тому, что в репозиториях можно найти проекты различной сложности и попробовать создать собственный на их основе. Или просто повторить.
Смарт-контракты Ethereum написаны на индивидуальном языке Solidity. В его разработке участвовал Гевин Вуд, который затем отсоединился от core team ради запуска проекта PolkaDot.
Для создания обычных Web3-приложений достаточно фундаментальных знаний и Solidity, который, по мнению девелоперов, считается языком очень простым, похожим на JS и Python.
В разработке протоколов децентрализованных финансов (DeFi) существует еще одна специфическая потребность — понимание основ финансовых и биржевых операций. Это необходимо для их переноса с традиционных торговых площадок в блокчейн-среду при помощи сценариев на языке программирования. Однако популярность Эфириума привела к тому, что большая часть доступных вариантов уже адаптирована в цепи.
Схема работы смарт-контракта.
Поэтому один из выходов — можно очень глубоко изучать теорию торгов. Альтернативный вариант — выбирать менее популярный или производный блокчейн со смарт-контрактами, например Polygon, Arbitrum или другие.
В отдельных случаях это может потребовать изучения нового языка программирования. Всем начинающим Web3-специалистам в области работы с протоколами или приложениями необходимо освоить дополнительные ресурсы:
библиотека Web3 с ориентаций на изученный язык программирования;
инструменты — geth, Remix, Truffle, MetaMask;
OpenZeppelin — ресурс с подборкой готовых смарт-контрактов.
Выводы
Эксперты шутят, что создание DeFi-протокола на смарт-контракте проще, чем любая фронтенд-разработка сайта с интегрированной анимацией. Тем не менее обучение на фундаментальном этапе займет до одного года. Столько же времени будет затрачено на наработку инструментов для Web3.