Рубріки: Интервью

«Это проще, чем тестировать сайты, но зарплаты выше»: Алексей Матиясевич из Ambisafe — о том, как стать тестировщиком в блокчейне

Анастасія Пономарьова

Чтобы работать в сфере блокчейна, не обязательно быть программистом и уметь разрабатывать продукты. К примеру, Алексей Матиясевич пришел в эту нишу как QA Automation, а сегодня он Lead Smart Contracts Engineer в компаниях Ambisafe и ChainSafe.

О смарт-контрактах и ​​особенностях их тестирования, а также причинах высокого уровня зарплат в блокчейне он рассказал в интервью Highload .

Много лет я занимался тестированием

Алексей Матиясевич, Lead Smart Contracts Engineer

Мой папа очень интересовался компьютерами: с раннего детства, когда мне было 6 лет, дома был компьютер. Большую часть времени он был включен — либо мой папа со своими друзьями что-то настраивали, либо старший брат программировал, либо кто-то играл. А я любил сидеть и смотреть, чем они занимаются, пытался что-то понять. Мечтал стать администратором компьютерного клуба, чтобы сидеть, ничего не делать, играть в игры, да еще и получать за это зарплату. Просто Dream Job!

Родители поддерживали увлечение — устроили в класс с уклоном в информатику, чтобы с раннего детства я изучал программирование. С годами интерес не исчез, поэтому выбор профессии был очевиден.

Первая моя работа — системный администратор в неайтишной компании. Позже, в 2006 году, устроился на позицию QA. Тогда эта профессия только появилась и была не слишком распространена. Много лет я занимался тестированием: сначала мануальным, потом автоматизацией, а потом уже стал профессионально программировать продукты.

Разобраться в блокчейне можно без опыта программирования

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

Сама по себе технология блокчейн революционного класса, но она не сверхсложная.

Кто угодно, если поставит цель разобраться в ней, сможет это сделать.

Сначала не было никакого понимания, зачем нужны смарт-контракты

Я всегда работал в офисе, а где-то в 2015 году решил поискать удаленную работу. Так случилось, что меня пригласил основатель блокчейн компании Ambisafe работать ремоут в компании клиента Tether — именно она первой выпустила массовый криптодоллар. Там я проработал почти год, и именно там я разобрался, как работает Bitcoin, Omni Protocol, их возможности. Мне это понравилось. В конце 2015 года Tether остановил разработку, чтобы развивать и популяризировать свой продукт. Тогда суммарное количество выпущенных ими криптодолларов было около 450 тысяч, а сейчас это миллиарды долларов.

После этого начал работать напрямую в Ambisafe. Они одни из первых начали использовать Ethereum, чтобы запускать на нем продукты, выпускать токены для некоторых компаний. Поначалу пришел к ним как проджект-менеджер под конкретный продукт. В то же время в компании начали разрабатывать смарт-контракты на Ethereum, и всей работой по ним занимался один разработчик. Он понимал, что количества ресурсов, которые тратятся на тесты смарт-контрактов, недостаточно, поэтому нужен еще специалист. У меня был большой опыт автоматизированного тестирования (а смарт-контракты всегда тестируются с помощью автотестов), поэтому я начал разбираться, как помочь, что я могу сделать, как работают смарт-контракты.

Сначала у меня не было понимания, зачем нужны смарт-контракты и кто будет ими пользоваться. Частично прояснил ситуацию наш разработчик, также я несколько раз перечитал документацию по языку программирования Solidity, и все стало более-менее понятно.

Тогда меня захлестнуло представление, насколько это революционная технология!

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

Сейчас есть множество курсов на разных платформах

В 2016 году, когда начинал заниматься разработкой смарт-контрактов, почти никаких учебных материалов не было, даже на форумах не удавалось найти варианты решения проблем — с ними еще никто не сталкивался, или сталкивался и не написал ответ, просто потому что никто не спрашивал. Информации было не достаточно. Поэтому, чтобы научиться, пользовался документацией, писал вопросы в чате разработчиков, иногда на Stack Overflow, часто сам писал ответы другим пользователям.

Фото с FB Алексея

Со временем учиться стало легче. Сейчас есть множество курсов на разных платформах. Например, есть известный интерактивный курс CryptoZombies.io, о котором очень много хороших отзывов. Также есть качественные книги — например, Mastering Ethereum. Материалов в интернете очень много, их легко найти, они доступны.  

Тестирование смарт-контрактов в целом проще

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

Но в то же время ты можешь тестировать с помощью юнит-тестов, потому что это просто часть кода. Это гораздо эффективнее, быстрее и надежнее. Они помогают поддерживать код в рабочем состоянии, быстро получать фидбэк о том, что код работает именно так, как задумано, и ничего не сломалось. Хотя смарт-контракты можно тестировать вручную, стандартом в их тестировании является написание автотестов.

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

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

Где крутятся деньги, там и зарплаты выше

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

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

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

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

В продолжении интервью Алексей расскажет, возможно ли джуниору работать в блокчейне, какие особенности имеет язык Solidity и как из-за уязвимости можно выманить у смарт-контракта миллионы долларов. Не пропустите скоро на Highload.

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

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

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023