Поиск работы и персонала HAYS
Павелецкая площадь, д. 2 стр.2 Москва Россия 115054
Phone: +7(495)2282208

БЛОКЧЕЙН И OPEN SOURCE

БЛОКЧЕЙН И OPEN SOURCE

Мы запускаем серию интервью с профессионалами из сферы IT. В первом выпуске руководитель филиала британской компании DSX Technologies Ltd Георгий Мавчун рассказывает о проектах компании, особенностях использования технологии blockchain и Open Source проектах.

Суммарный опыт работы Георгия в FinTech – 7 лет, он работал в русском стартапе, занимаясь разработкой терминала для торговли на биржевых площадках. До этого, начиная с 2005 года, Георгий рос от Junior Java Developer-а до Team lead-а в нескольких компаниях. Занимался автоматизацией розничной торговли, а также крупным аутсорсингом. 1-го февраля проекту DSX исполнилось 4 года. Георгий дал ему старт вместе с тремя коллегами в роли лидера команды и серверного разработчика. Компания занимается разработкой криптовалютной биржи DSX и ряда проектов с применением технологии блокчейн. Кроме административной должности, Георгий – лидер разработки и периодически сам принимает участие в кодировании back-end части биржи.

Расскажите, пожалуйста, про особенности технологии blockchain, которая используется у вас в компании, и ваши проекты.

Блокчейн (или цепочка блоков) представляет собой децентрализованный распределенный реестр информации со свойством неизменяемости истории и механизмами консенсуса, позволяющими коллективно принимать решение о том, будет ли включена новая информация в реестр или нет. Технически блокчейн – это последовательная цепочка блоков, зависящих друг от друга. За счет этого достигается неизменяемость истории: если часть старых данных изменить, пострадают все следующие и каждый узел блокчейна сможет диагностировать проблемы в данных. Таким образом, мы наблюдаем уникальный прецедент: понятие доверия уходит на уровень программного обеспечения. Ранее мы всегда должны были доверять человеку или организации, которые внедряли и поддерживали ПО. Конечно же, вместе с очень существенным достоинством появляются и недостатки: медленная работа, избыточность данных, новые возможные векторы атаки систем, построенных на базе блокчейна. Мы применяем технологию блокчейн в двух наших проектах, один из них – система для проведения демократического голосования. При фиксации результатов голосования очень важно доверие участников к проводящей организации, однако не всегда это достигается. Поэтому данный кейс очень удачно ложится на новую технологию цепочки блоков.

Blockchain – очень популярная сейчас технология. Изначально это удачный пример Open Source проекта. Как происходит ее развитие в мире? Существует ли комьюнити вокруг нее?

Да, образуются и комьюнити из частных лиц, разработчиков. И крупные консорциумы, которые объединяют гигантские компании в желании исследовать, развивать и применять молодую, но очень перспективную и заманчивую технологию. Один из ярких примеров – консорциум R3, созданный крупными финансовыми компаниями. Другой – Hyperledger, основанный небезызвестной в Open Source среде компанией Linux Foundation. Множество разработчиков по всему миру делают клоны репозиториев существующих проектов, реализующих технологию блокчейн, модифицируют их, пытаются применить для решения своей задачи.

Существует ли уже достаточный объем готовых решений, которые можно применять для данной технологической области или большинство решений каждая компания-разработчик придумывает и внедряет самостоятельно?

Уже существует большое количество зрелых проектов и решений, которые уже сейчас можно приручать, – например, реализации блокчейн R3 Corda и Hyperledger Fabric. Конечно же, данная сфера еще очень молодая и возникает много проблем, которых не бывает при использовании более зрелых технологий, таких как реляционные базы данных. Но это и логично: только время позволяет довести до ума технологии и проекты. Главное – положительная динамика, и в случае блокчейна мы ее наблюдаем.

Вы пользуетесь Open Source порталами? Какими? В чем их польза, по-вашему?

Мы используем github для наших проектов с открытым исходным кодом. Удобно использовать подобные сервисы, потому что нет необходимости заниматься настройкой и поддержкой собственных порталов для размещения открытого исходного кода. Также на github существует большое комьюнити разработчиков, что создает благоприятную среду для развития проектов, упрощает их использование. Люди создают запросы на доработки прямо на github, легко клонируют репозитории, подписываются на обновления и изменения.

Вы как разработчик и как руководитель компании участвуете сами в развитии технологии blockchain? Если да, то каким образом?

Мы уже несколько лет работаем с данной технологией – сначала использовали реализацию NXT, теперь применяем Hyperledger Fabric и R3 Corda. На данный момент мы не занимаемся развитием непосредственно реализаций блокчейна. Крупные консорциумы с этим отлично справляются, особенно на фоне ажиотажа 2017 года вокруг блокчейна и криптовалют. Невооруженным глазом видно, что с каждым релизом продукты становятся более стабильными, удобными и готовыми к использованию в продакшне. Мы ведем один студенческий проект вместе со студентами матмеха СПбГУ. Суть проекта – выявление ключевых метрик производительности реализаций блокчейна и реализация Open Source фреймворка, который позволял бы собирать данные по указанным метрикам. Эта задача уже была решена для распределенных баз данных, поэтому первым этапом мы выделили основные отличия блокчейна именно от обычных распределенных баз данных и уже исходя из этих отличий адаптировали принципы измерения производительности. В результате данный проект призван помочь в двух случаях, перечисленных ниже. 1. Оптимизировать конкретные реализации блокчейна, с помощью фреймворка можно будет сравнить производительности двух разных версий, оценив тем самым пользу конкретных изменений. 2. Сравнить две разные реализации блокчейна в контексте какой-то определенной задачи. Это позволит компаниям дешевле и быстрее проверять концепцию, выбирать наиболее подходящую реализацию блокчейна для конкретной задачи. 3. В процессе разработки программного продукта на базе блокчейна непрерывно отслеживать изменения ключевых метрик производительности.

Расскажите, пожалуйста, о вашем проекте привлечения студентов на практику, как она связана с Open Source.

Я, как и большая часть нашей команды, уже много лет связан с матмехом СПбГУ, факультетом, который я закончил. Сейчас мы взаимодействуем в рамках студенческих проектов, производственной практики и выпускных квалификационных работ. Все проекты, которые создавались с привлечением студентов, всегда были Open Source. Так сложилось по разным причинам: и потому, что сложно сделать качественный продукт, который будет готов для коммерческого использования, силами студентов в рамках очень ограниченного временного промежутка, и потому, что для студенческих проектов мы выбираем громкие и амбициозные темы, которые интересны студентам, обладают достаточной научной новизной и отлично вписываются в концепцию Open Source.

Есть мнение, что «Open Source – это почти всегда про деньги. Если вы видите непонятные, но мощные «движения» в опен сорс сообществе, попытайтесь понять, кто и как пытается на этом заработать» (цитата из статьи про Open Source – https://habrahabr.ru/post/267473/). Согласны ли вы с этим мнением? В чем выгода для компании и для разработчика от вклада в Open Source?

Да, с этим сложно поспорить. В основном люди вкладывают свое время в обмен на деньги или удовольствия, причем второе очень нестабильно и часто недолгосрочно. Поэтому самый надежный способ что-то развивать – построить коммерческую структуру, которая будет отвечать за это развитие. Open Source – это не попытка сломать указанную концепцию, это, скорее, взаимовыгодное сотрудничество между коммерческими и некоммерческими структурами. Вы выкладываете библиотеку с открытым исходным кодом, используя ее в своих проектах, другие компании экономят на повторной разработке данной функциональности, а потом, после интеграции библиотеки, они помогают вам ее развивать. А вы им. И это двойной профит. Баги находятся и фиксятся быстрее, новые функции реализуются и могут быть использованы всеми участниками проекта на равных правах. Небольшим компаниям и разработчикам тоже очень удобно использовать бесплатные версии проектов с открытыми исходниками на ранних этапах проекта, а потом, при развитии бизнеса, переходить на платные аналоги или покупать поддержку. Это как популярные скидки для стартапов, только в очень естественной форме. Еще один большой важный тезис об Open Source: данный подход уже успешно интегрирован в нашу реальность с юридической точки зрения. В отличие от блокчейна, например. Существует много разных лицензий, которые позволяют регулировать множество аспектов, таких как использование кода в коммерческих проектах, перепродажа исходного кода или приложений на его основе и прочие.

Что должно быть бесплатным, а за что нужно брать плату?

Платным должно быть то, за что готовы платить. Если компания использует приложение с открытым исходным кодом для собственного продукта, на котором зарабатывает деньги, вполне логично «делиться» явным или неявным образом с разработчиком Open Source решения, будь то поддержка проекта в плане тестирования, разработки, багфикса или же материальные взаимоотношения. И это логично и правильно. Бесплатным использование может быть в некоммерческих проектах либо для стартапов, студентов и одиночных разработчиков, которые создают программное обеспечение не с целью продажи.

Обращаете ли вы внимание на open source проекты при рассмотрении кандидата и насколько они важны для вас?

Мы анализируем примеры кода и проекты, которые кандидат выкладывает на github, однако этот фактор для нас на третьем месте после основного опыта и впечатления от общения с кандидатом. При этом для нас не важны рейтинги, количество звезд… Интересуют проекты, которые человек делал в близких к нашей тематике областях, оригинальные решения, чистота кода.

Больше статей читайте в нашем блоге. Откликайтесь на наши вакансии или присылайте нам свое резюме.

Подпишитесь на наши рассылки, чтобы получать карьерные советы:

Подписывайтесь на нас в социальных сетях
Top