Закрыть

О работе блокчейн-разработчика

В закладки
Аудио
Берёт интервью Светлана Давыдова

Журналист, специализирующийся на теме криптовалют и блокчейна.

Даёт интервью Николай Фоминых

Внешний консультант TAGES и ведущий разработчик ГК "Медси"

О профессии блокчейн-разработчика

Технология блокчейн произвела революцию в сферах обработки данных и ведения бизнеса. Первоначально она была разработана как сеть для поддержки Биткоина, но со временем стала использоваться вне мира криптографической валюты. Универсальность и безопасность блокчейн-технологии заставили бизнесменов и правительства обратить на нее внимание и начать использовать.

Если вы хотите многообещающую карьеру, работать с развивающейся современной технологией, и любите что-то изобретать, то вам стоит узнать больше о перспективной и высокооплачиваемой профессии blockchain-разработчика.

Эксперт Николай Фоминых, ведущий разработчик "МЕДСИ" и внешний консультант TAGES, программист с десятилетним стажем, объясняет, кто такой блокчейн-разработчик, чем он занимается, и что нужно сделать, чтобы им стать.

- Кто он - блокчейн-разработчик, и какие задачи решает?

- Блокчейн-разработчик – это, прежде всего, backend разработчик. От backend разработчика в других сферах, например в web, его отличает в основном новизна направления. Подумайте над тем, каково было разрабатывать сайты в 1990-м году? Одновременно и сложно, и интересно. Если вы хотите получить этот опыт – путь блокчейн-разработчика для вас.

Всегда можно сузить представление о разработчике. Например, Python-разработчик – это разработчик, который что-то там пишет на Python. В этом случае blockchain-разработчик – это разработчик, который что-то пишет на языках программирования смарт-контрактов. Но это не совсем точный подход.

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

  • данные записанные в блокчейн – не изменить. Несколько организаций могут писать в блокчейн, не боясь что кто-то из игроков изменит данные в свою пользу;
  • блокчейн сложнее сломать, чем традиционную БД – он из коробки реплицируется на несколько серверов;
  • блокчейн прозрачен, он хранит историю транзакций и ее удобно отдать на аудит.

Самое очевидная сфера применения blockchain – это финансы. Уже находятся в активной разработке цифровой юань и цифровой рубль. Но есть и другие сферы применения:

  • Логистика – сложные цепочки поставок
  • Медицина – медицинская карта пациента
  • Авиация – например, заправка самолета

- Какие специалисты требуются под какие задачи?

- Если рассмотреть построение блокчейн-решения целиком, то нам потребуются те же роли, что и в другом продукте:

  • Архитектор – у каждого блокчейн решения свои сильные и слабые стороны. Ethereum удобный, но медленный. Hyperledger Fabric – быстрый, но его сложнее разворачивать. Каждое блокчейн решение использует свои алгоритмы консенсуса. В команде должен быть опытный человек, который распознает какое решение подойдет под данную задачу. И нужен ли вообще тут блокчейн?
  • Аналитик – блокчейн является очень строгой технологией. Неправильно названные вещи – останутся в нем навсегда. Поэтому очень важно разобрать предметную область для которой мы строим систему контрактов. Если аналитик достаточно сильный, чтоб описать предметную область через DDD – нам повезло.
  • Frontend разработчик – с теми же навыками, что и у web frontend разработчика. Если наша сеть публична – то может быть потребуется пара вечеров, чтоб изучить web3.js.
  • Backend разработчик – ему в любом случае придется учить один из языков для smart-контрактов. И новую систему паттернов – они в smart-контрактах выглядят иначе.
  • DevOps – блокчейн – одна из наиболее сложных с точки зрения инфраструктуры вещь. Да, работающую сеть сложно сломать. Но кто сказал, что ее легко настроить? Особенно, между несколькими корпорациями у каждой из которых – свои правила информационной безопасности? А какие метрики нам потребуются?

- Как стать blockchain-разработчиком?

- Давайте вернемся в начало. Пути backend и blockchain разработчика – очень похожи. Но что-то останавливает от того, чтобы взять любого разработчика с рынка и переучить.

- Какие навыки нужны блокчейн-разработчику?

- 1. Алгоритмические навыки – они нужны. Например, в ethereum есть понятие стоимости операций. И у каждой транзакции есть стоимость. Написал N**2 вместо LogN – и организация за это платит в буквальном смысле, а не откупается железом.

2. Знание распределенных систем – крайне желательно. Дело в том, что очередность обработки транзакций зависит от очередности поступления запросов в сеть. Если на N узлов поступило M транзакций – что у нас будет происходить в сети, в какое состояние она придет после разрешения всех конфликтов? Вещи вроде PAXOS и RAFT – должны вызывать живой интерес у разработчика, который работает с распределенными системами.

3. Готовность учить языки. Много языков – у каждой платформы свои языки написания смарт-контрактов. Если web-разработчик может выучить js и писать на нем все – то у блокчейн-разработчика такого пути нет.

4. Криптография. Данные в блокчейн зашифрованы, и скомпрометировать ноду не так уж просто. Почему? Полезно еще раз подумать об ассиметричном шифровании, certified authority и о том, как обеспечивается защищенность сети между несколькими корпорациями.

5. Предметно-ориентированное проектирование. Если нам повезет с аналитиком, и он будет владеть DDD – то и разработчик должен владеть DDD. Так процесс создания точных смарт-контрактов значительно упроститься.

- Не хочу учиться. Хочу сразу делать...

- Вышеприведенные 5 пунктов можно проигнорировать. Их спросят на собеседованиях в серьезных компаниях, где уже внедрен блокчейн. Но если у вас уже есть идея, вам кажется что она подходит под блокчейн и вы хотите ее проверить – можно быстро изучить solidity и truffle.

Truffle – позволит создать скелет проекта с юнит-тестами. А solidity – основной язык программирования для ethereum.

Предыдущая статья Понравилась статья? 0 Следующая статья
Комментарии: 0
Оставить комментарий
Сервис подписки в данный момент находится в завершающей стадии разработки. Регулярная отправка новостных материалов на Ваш email начнется в ближайшее время. Повторная подписка не потребуется.
Добавить еще