Как Выбрать Смарт-Контракт Разработчиков

В августе 2018 года консалтинговая компания PricewaterhouseCoopers (PwC) опубликовала итоги опроса 600 топ-менеджеров из 15 стран, в ходе которого изучался...

Содержание

#1. Что такое смарт-контракт
#2. Что нужно учитывать при разработке смарт-контрактов
#3. Где искать компанию по разработке smart контрактов
#4. Кого искать во время предварительного отбора
#5. По каким критериям отсеивать оставшихся
#6. Как и о чем говорить во время собеседования
#7. Как провести тестирование кандидатов

В августе 2018 года консалтинговая компания PricewaterhouseCoopers (PwC) опубликовала итоги опроса 600 топ-менеджеров из 15 стран, в ходе которого изучался вопрос о внедрении блокчейна в бизнес. Анкетирование показало, что 84% респондентов так или иначе вовлечены в работу с новой технологией, при этом четверть из них уже запустили рабочие или пилотные проекты.

Smart Contract Development Company

Результаты опроса PwC

Далее мы рассмотрим, как присоединиться к бизнес-инноваторам, выбрав лучшую компанию-разработчика для создания смарт-контрактов и таким образом получить конкурентные преимущества для своего бизнеса.

Что такое смарт-контракт

Это самоисполняющаяся компьютерная программа, контролирующая передачу денег или других ценностей между сторонами. Программа действует в рамках четко определенных условий и может включать в себя не только правила передачи активов, но и санкции за неисполнение сделки.

Смарт-контракты основаны на блокчейн-технологиях, поэтому фрагмент кода, который их описывает, абсолютно прозрачен для всех участников системы. То есть любой желающий может увидеть, какие условия прописаны в смарт-контракте и убедиться, что в нем нет каких-либо «секретов» или лазеек.

Примеры использования смарт-контрактов:

- Лотерея. В смарт-контракте прописывают условия и размер выигрыша в лотерее, например, победитель получает 80% от всех ставок, а остальное уходит организаторам. Когда люди покупают билеты, их деньги вносятся в смарт-контракт, при этом 80% средств «замораживаются», а остальные уходят на счет организаторов. Когда кто-то срывает джекпот, «замороженные» деньги отдают победителю.

- Покупка товара в интернет-магазине. Оплата вносится в смарт-контракт, после чего эти деньги «замораживаются», пока курьерская служба не подтвердит факт доставки товара, и только после этого деньги отправляются на счет продавца. Если товар в течение прописанного в смарт-контракте времени не был доставлен, деньги возвращаются на счет покупателя.

- Выдача кредита под залог. Заемщик передает право собственности на залог смарт-контракту, где оно «замораживается», пока кредит не будет погашен. Если кредит выплачен, право собственности на залог возвращается заемщику, если нет — уходит кредитору.

В каждом из этих случаев у сторон нет причин не доверять друг другу, поскольку они ничего не отдают просто так. Деньги или другие ценности депонируются в смарт-контракте и остаются там, пока вторая сторона не выполнит взятые на себя обязательства. Если этого не происходит, смарт-контракт возвращает ценности их изначальным владельцам.

Что нужно учитывать при разработке смарт-контрактов

Нужны ли смарт-контракты вашему бизнесу. Международная девелоперская компания Merehead, специализирующаяся на разработках, представила краткий перечень критериев, которые помогут понять, будут ли полезны распределительный реестр и смарт-контракты вашему бизнесу.

Smart Contract Development Company

У смарт-контрактов есть ограничения. Если вы пришли к выводу, что вашему бизнесу не обойтись без смарт-контрактов, вам нужно более детально изучить этот вопрос. В частности, понять, что у смарт-контрактов есть ограничения. Речь о следующих вещах:

1. Смарт-контракты следует применить лишь к тому, что можно полностью выполнить в цифровой среде (блокчейне). Если в контракте нужно прописать или взять к сведению что-то вне этого мира, лучше использовать другое решение.

2. Они действуют исключительно на основании конкретных фактов — объективных истин, а не субъективных суждений.

3. Выполняются в форме «if/else или if/then». Например, если произошло событие A, тогда запускаем действие №1, если произошло событие C, тогда запускаем действие №3.

4. Алгоритм контракта должен быть простым и исключать сложные дискретные функции и вероятности.

5. Контракты не могут оперировать реальными активами, лишь их «цифровыми» сертификатами.

Смарт-контакты могут быть «плохими». Исследователи из Великобритании и Сингапура обнаружили, что около 35 000 существующих контрактов уязвимы для хакерских атак. Поэтому во время разработки и после нее нужно уделить особое внимание тестированию конечного продукта, так как любая ошибка или уязвимость может привести к потере денег и ресурсов — ваших или клиентов.

Где искать компанию по разработке smart контрактов

Назовем самые популярные площадки по поиску исполнителей для задач по программированию:

- LinkedIn. Социальная сеть, заточенная под поиск и установление деловых контактов. Обязательно заведите аккаунт на этой площадке и используйте LinkedIn Recruiter (платная услуга, но есть триал-период) для поиска компании по разработке смарт-контрактов. Не помешает поискать разработчиков и на тематических страницах LinkedIn Groups.

- Clutch.co и Goodfirms.co. Порталы с информацией о самых популярных компаниях-разработчиках. На первом сайте список включает 131 компанию, на втором — 177. На этих сайтах можно прочесть отзывы о компаниях и ключевую информацию об условиях сотрудничества с ними.

- Blocktribe.com. Ресурс, где заказчики публикуют задания для блокчейн-разработчиков. Есть удобный фильтр, который отсеивает кандидатов по уровню профессионализма и опыта.

- Upwork. Фриланс-платформа для поиска и найма разработчиков в том числе и блокчейн. Работает с 2003 года и считается одной из самых популярных в мире.

- Toptal. Главный конкурент Upwork с подобным функционалом и целями. Кандидаты на Toptal проходят собеседование, тестирование, тестирование по кодированию в режиме реального времени, а также выполняют макетное задание продолжительностью около 30 часов.

- Менее популярные площадки. DREAM, Codementor.io, Xbtfreelancer.com, Cryptojobslist.com, Crypto.jobs, Blocktribe.com, Beincrypto.com, Coinality, BountyOne.

Стоит также поискать разработчиков в социальных сетях Facebook, Instagram, Twitter, Google+, StackExchange и на китайских Qzone, Weibo и Renren. Профессиональные компании занимаются активностью в социальных сетях, чтобы привлечь потенциальных заказчиков. А еще они, как правило, имеют аккаунты на форуме Bitcointalk — создайте соответствующую тему и ждите откликов.

Smart Contract Development Company

TokenFest — ежегодное двухдневное мероприятие, посвященное токенизации бизнеса

На сайте Meetup.com предсталена информация о событиях (лекции, конференции, пресс-конференции и прочее), затрагивающих тематику блокчейна и смарт-контрактов. Поскольку разработчики — главная целевая аудитория подобных мероприятий, вполне вероятно, что вы найдете нужных людей именно там. О местных блокчейн-событиях можно узнать в специальном разделе сайта CoinDesk.

Кого искать во время предварительного отбора

Выбор компании-разработчика смарт-контрактов во многом похож на выбор компании-разработчика традиционного программного обеспечения. Как и обычное ПО, блокчейн и смарт-контракты пишут на Java, JavaScript, C++, C #, Python, Node.JS, Perl, Golang и нескольких других языках программирования. Тем не менее есть несколько моментов, которые характерны лишь для блокчейн-разработчиков.

Во-первых, выбранная вами команда должна разбираться в специфических технологиях и инструментах. Например, если речь о смарт-контрактах на блокчейне Ethereum, нужно понимание принципов работы с EVM, EBaaS, PaaS, IoT, децентрализованными технологиями, P2P-сетями, механизмами консенсуса и несколькими другими инструментами.

Сравнение платформ для создания смарт-контрактов (Источник: GitHub)

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

И третий критерий первичного отбора — модель аутсорсинга. Как правило, при разработке смарт-контрактов выбирают одну из следующих моделей:

1. Фиксированная цена. Подходит для заказчиков с ограниченным бюджетом. Нет гибкости, то есть возможности вносить изменения в проект после начала разработки. Исполнитель делает лишь то, что оговорено в условиях договора о найме.

2. Captive Unit. Компания-разработчик нанимает, обучает и администрирует команду программистов. Заказчик лишь задает цель и платит зарплату. Оптимально для запуска сложных проектов.

3. Профессиональная команда. Компания на аутсорсинге собирает команду программистов, которая соответствует специфике проекта и будет работать над ним как при создании, так и во время сопровождения конечного продукта. Оптимально для запуска сложного проекта, который нужно развивать и обслуживать после развертывания, например для запуска высоконагруженных приложений.

4. BOT (Build — Operate — Transfer). Как следует из расшифровки названия, эта модель предполагает наем команды программистов, создание и запуск продукта, а затем его передачу третьей стороне. Подходит для запуска проектов по франшизе, например если вы хотите развернуть сеть платежных сервисов в нескольких странах под своим брендом и этими сервисами будут управлять местные компании.

По каким критериям отсеивать оставшихся

После того, как вы провели первичное отсеивание, оставшиеся компании по разработке смарт-контрактов нужно изучить более детально, чтобы из них выбрать 3–5 кандидатов, с которыми можно будет провести собеседование и проверить их навыки с помощью специального тестирования.

Изучать нужно следующие вещи:

- Портфолио. Изучите use cases кандидатов, обращая внимание на соответствие изначальной задачи и достигнутого результата, а также на время разработки, юзабилити и привлекательность конечного продукта.

- Комментарии и отзывы. Проверьте, что о кандидатах пишут в интернете: на страничках в социальных сетях, специализированных форумах и в отзывниках.

- География. Если вы хотите общаться напрямую и в рабочее время, команда исполнителей должна находиться примерно в вашей часовой зоне (± 6 часов). Важно также, чтобы вы разговаривали на одном языке без помощи переводчиков.

- Стоимость услуг. Как правило, исполнители указывают на своем сайте стоимость услуг по разработке разных видов смарт-контрактов. Убедитесь, что они соответствуют вашему бюджету.

- Законность. Работать нужно с компанией, которая зарегистрирована по всем правилам местного законодательства. Для проверки этого момента можно воспользоваться порталами GlassDoor, BBB.com и WebChecker, а также официальными сайтами местных налоговых и фискальных органов.

Как и о чем говорить во время собеседования

Время реакции. Скорость, с которой представители компании по разработке смарт-контрактов отвечают на приглашение на ваши собеседования, очень важна. Так, если это несколько часов (в рабочее время) — это отличный показатель, который говорит о наличии специального человека для связи с заказчиками. Если ответ пришел через один день — все нормально, если же на это ушло больше двух дней — стоит задуматься.

Видеосвязь. Общаться с кандидатами лучше посредством видеозвонка (Skype, Viber, Google Hangouts). Так вы сможете оценить человека, который с вами общается и попросить его провести видеоэкскурсию. Представитель должен быть хорошо одет, находиться в офисе или рабочем помещении и разбираться в программировании. Если заказ принимает секретарша — заканчивайте разговор и переходите к собеседованию со следующим кандидатом.

Во время видеоэкскурсии обратите внимание на количество персонала, наличие соответствующего оборудования и занятость людей. Если вам отказали в экскурсии, на это должна быть веская причина, например, программисты работают на аутсорсе.

О чем спрашивать:
- Контакты заказчиков, чтобы вы могли получить обратную связь.
- Резюме проект-менеджера. Это человек, который будет курировать ваш проект, управлять командой кодеров и давать обратную связь о ходе разработки.
- Перечень парка устройств. Если это несколько макбуков и десять смартфонов — переходим к следующему кандидату.
- Участвовали ли они в open source разработке и/или конференциях. Это необязательно, но может помочь в выборе лучшего кандидата.

Детали вашего проекта. Когда вы начнете говорить о вашем заказе, будет большим плюсом, если к разговору подключат кодера или проект-менеджера. В этом случае больше шансов на точную оценку вашего заказа: время разработки, стоимость, численность необходимой команды и тому подобное. При этом чем больше вам задают вопросов, тем лучше. Если вас просто выслушают и укажут время с ценой — лучше попробовать с другой командой.

Как провести тестирование кандидатов

Если после собеседования вы не убедились в компетентности компании по разработке смарт-контрактов, ее можно протестировать на специальных сервисах. Лучшие из них таковы:
- TestDome. Предоставляет образцы реальной работы, большую библиотеку краткосрочных тестов, защиту от мошенничества и возможность добавлять к тестам отдельные конкретные вопросы.
- Devskiller. Отличается от предыдущей площадки собственной защитой от мошенничества, которая проверяет работу кандидатов по антиплагиату и ID-трекеру. Кроме того, здесь можно провести онлайн-тестирование с записью сеансов кодирования.
- Codility.com. Проводит состязания по программированию среди кандидатов и проверяет их на соответствие бренду заказчика.
- Saberr. Делает упор на проверку психологических, культурных и этических аспектов команды. Это важно, если вы создаете и/или поддерживаете образ «этичной компании».

Оцените (3 голосов - 5 из 5)
Спасибо!
1
(Ужасно)
2
(Плохо)
3
(Средне)
4
(Хорошо)
5
(Класс!)