Почему разработчики не должны уклоняться от разработки блокчейнов
Ключ к открытию талантов, который мы наблюдаем в сфере блокчейна, - это образование; Ключ к герметичному коду - это всестороннее тестирование и рецензирование. Блокчейн æ охватывает обе стороны.
Несмотря на рост зарплат, огромный разрыв в талантах остается
Для непрофессионала концепция блокчейна сама по себе пугающая. Для разработчиков за пределами отрасли мысль о переходе на новую, незнакомую среду, в которой меняются фундаментальные парадигмы, связанные с безопасностью и изменчивостью кода, устрашает.
Этот страх совершенно понятен. Популярные СМИ изобилуют новостями о взломах на биржах, разгроме DAO, умных ошибках в контрактах, которые приводят к убыткам в миллионы долларов. В целом, согласно сообщениям, только в 2018 году из-за этих проблем было потеряно около 1,7 миллиарда долларов.
Таким образом, в то время как зарплаты для разработчиков в этом пространстве стремительно растут, многие предпочитают безопасность кода, к которому они привыкли. Определенно есть профессионалы, которые совершают «прыжок в веру», вступая в индустрию блокчейнов, но в этой области все еще не хватает технической компетенции. На самом деле, 94% компаний из списка Fortune 500 ожидают нехватки кадров в отрасли.
Многие утверждают, что ключом к преодолению этого "разрыва в талантах" является образование. Это, несомненно, правда. Но сначала нам нужно, чтобы разработчики проявили интерес. И для того, чтобы они были заинтересованы, нам необходимо демистифицировать блокчейн-программирование и устранить самые большие страхи, с которыми сталкиваются разработчики, когда работают с приложениями следующего поколения, сочетающими открытость и недоверчивость. В конце концов, это радикальное отклонение от того, к чему привык мир.
Для разработчиков, которые были вовлечены в эту «революцию децентрализации», кодирование блокчейнов и разработка новых типов приложений является одновременно и сложной задачей, и вдохновляющей, даже освобождающей.
Еще одна хорошая новость для неохотных разработчиков заключается в том, что, по словам ветерана программирования Динчо Тодорова, разработка блокчейна все еще находится на ранней стадии. Здесь достаточно места и времени для «свежей крови».
Тодоров - инженер-программист, который в настоящее время работает над проектом обеспечения надежности сайта (SRE) в стране. æternity - это основанная на Erlang масштабируемая платформа для цепочки блоков, которая использует каналы состояния для частичного и бесплатного исполнения интеллектуальных контрактов, а также обеспечивает реальную интеграцию данных через протоколы Oracle.
Мы заботимся об инфраструктуре, услугах, инструментах и конвейерах, необходимых для создания надежного программного обеспечения.
По словам Тодорова, мы позаботились о том, чтобы все это было хорошо интегрировано, надежно и применимо для разработчиков, давая обзор своей работы над платформой блокчейна.
Мы также работаем с несколькими службами, которые помогают привлечь новых пользователей, майнеров и разработчиков. Примером здесь являются так называемые «начальные» или «загрузочные» узлы, которые позволяют новым пользователям подключаться к сети. Другим примером является API-шлюз, который используется для разработки децентрализованных приложений на блокчейне.
По словам Тодорова, хотя это новая область, по-прежнему существует много практик, которые остаются несколько похожими на другие типы разработки.
Это просто программное обеспечение, в конце дня. Что отличается, так это концепция. Это другой вид программного обеспечения, но я не думаю, что нам нужны специальные процессы, особенно для разработки основной цепочки блоков.
Требуются разработчики: «сырые» перспективы ценны
Прежде всего, для тех, кто не желает выходить на поле блокчейна из-за связанных с ним финансовых рисков, FinTech является лишь одной из отраслей, где можно применять блокчейн. Во-вторых, для тех, кто считает, что они слишком опаздывают на блокчейн-вечеринку, это предположение далеко от реальности. По словам Тодорова, развитие может сильно выиграть от «неоправданных перспектив».
Команда æternity постоянно растет. На самом деле, новые разработчики определили области улучшения. Глядя на код с новых точек зрения очень помогает. Может помочь дополнительная «сырая» точка зрения.
Во многих случаях сотрудничество является положительным моментом: чем больше уходит глаз и рук, тем быстрее достигается реальный прогресс. И разработчикам может быть приятно узнать, что в проектах с открытым исходным кодом, таких как æternity, глобальное сообщество разработчиков имеет свою спину. Если в коде есть лазейки, кто-то найдет их.
Проведение автоматических тестов, ручное тестирование и экспертные обзоры являются лучшими подходами для получения стабильного программного обеспечения без ошибок - без каких-либо серьезных изменений, и при этом иметь возможность непрерывно предоставлять новые функции. Если вы хотите убедиться, что все работает хорошо, ключ всегда тестируется.
Требования к языку программирования не обязательно являются новыми. Например, АЕ пытается идти навстречу существующим разработчикам, поддерживая наиболее распространенные языки программирования: JavaScript, Python и Go. Такие языки, как C ++, Ruby, Java и Rust, также полезны для разработки приложений блокчейна на платформах, таких как Ethereum.
Трудно отслеживать работоспособность и производительность узла в одноранговой сети. В настоящее время у нас есть более ста узлов для поддержки различных сред. Это приводит к большому количеству серверов, экземпляров, различных конфигураций и т.д.
Кроме того, размер блокчейна наверняка станет проблемой в какой-то момент, поскольку он реплицируется на все узлы. Традиционный подход основан на централизованных базах данных, в которых хранятся данные. Это не относится к публичным платформам блокчейна. Плюс в том, что сети блокчейнов очень устойчивы. По словам Тодорова, есть защитные сетки.
Преимущество блокчейнов в том, что они представляют собой распределенные базы данных, работающие в одноранговых сетях. Даже если по какой-то причине мы развернем неисправный код на одном из поддерживаемых нами узлов или, как правило, напортачим с узлами, которые мы поддерживаем и поддерживаем, остальная часть сети продолжает работать, поскольку узлы, управляемые пользователями, обычно не затрагиваются.
Так с чего начать?
Возвращаясь к аргументу о том, что образование является ключом к преодолению явного разрыва в технических талантах, в Интернете есть множество бесплатных ресурсов для тех, кто хочет начать. На самом деле, некоторые даже дают людям компенсацию за обучение.
æternity запустила программу «учись зарабатывать», в которой разработчики, которые заканчивают учебные пособия для вечеринок, созданные группой Dacade, управляемой сообществом, получают 100 евро токенов AE по сравнению с первоначальной стоимостью обучения 50 евро.
aeternity также запустила инкубаторную программу под названием «Starfleet», которой управляет AE. Цель инкубатора - поддерживать и направлять команды, которые готовы приступить к решению реальных проблем на платформе.
Насколько сложен переход от традиционного программного обеспечения к разработке блокчейнов?
Тодоров объясняет, что, как и большинство вещей, сложность будет зависеть от уровня опыта каждого отдельного разработчика.
Когда дело доходит до технологии блокчейна, меня также интересуют инструменты, доступные для децентрализованных разработчиков приложений и пользователей. Это всегда зависит от знаний и опыта разработчика. Технология Blockchain действительно вводит разные концепции, но вам все равно нужно знать все компоненты и языки любого приложения.
Разница с блокчейном в том, что база данных общедоступна и всегда работает. Таким образом, с точки зрения пользователя, не будет большой разницы, по крайней мере, для меня. У меня более 10 лет опыта разработчиков, и я не нахожу пугающей технологию блокчейна. Тем не менее, я вижу разработчиков, сталкивающихся с трудностями даже с простыми приложениями. Это действительно все зависит от опыта разработчика.
Хотя переход от программирования традиционных приложений к основанным на блокчейне приложениям сопряжен с трудностями, он также предлагает множество возможностей - не только для программистов, но и для разработчиков UX.
Тодоров утверждает, что аспект взаимодействия с человеком в сервисах блокчейн, в частности, требует большой работы. Многие прокомментировали аспект удобства использования приложений блокчейна, который является кошмаром, что затрудняет их реализацию для компаний, даже если у них есть серьезные намерения сделать это. Сделать интеграцию блокчейнов для предприятий и пользователей настолько безболезненной, насколько это возможно, является одним из основных препятствий для внедрения блокчейнов. Это огромная задача. Даже что-то такое простое, как использование кошелька для перемещения криптовалюты, было полно неопределенностей для пользователей.
Мы постоянно разрабатываем основные инструменты и услуги для вечеринок. У нас также есть несколько пакетов, посвященных разработке, интеграции и тестированию. Мы запускаем эти сервисы для начальной загрузки сети. В какой-то момент пользователям придется самим запускать все эти вещи из соображений безопасности. И это одна из проблем с блокчейном, обучая пользователей тому, что им нужно самим запускать сервисы. Я полагаю, что это самая большая проблема с блокчейнами, потому что это публичный сервис - им должны управлять пользователи.
С точки зрения развития, Тодоров признает, что всегда есть работа. По его словам, еще рано - так рано, что многие из решаемых в настоящее время проблем в основном связаны с самим интерфейсом разработки. Далее он поясняет, что, как мы надеемся, входной барьер для новых разработчиков будет снижен, поскольку нынешние ветераны работают над дальнейшим совершенствованием инструментов разработки. Фактически, æternity разработала новый умный контрактный язык, называемый Sophia, именно для того, чтобы сделать интеллектуальное контрактное программирование более простым и предсказуемым, сводя к минимуму ошибки кода.
Блокчейн и инструменты еще очень молоды. Они становятся более стабильными и полируются с каждым днем. Мы постоянно работаем над тем, чтобы сделать его лучше, уделяя особое внимание улучшению работы пользователей. Пользовательский опыт является ключом к общему принятию.