№23 Раскрываем тайны блокчейна вместе с PAYO: как работает блокчейн и как создать интернет-эквайринг | Андрей Ли
Hexlet (00:00.43)
Всем привет, на связи Хекслит, с вами Александр Усков и сегодня нас обзаковка компании Payyo. Это децентрализованная fintech-система, позволяющая каждому получать криптовалюту за товары или пожертвовать через платежные ссылки. Если вам интересен такой формат, обязательно ставьте лайки этому видео, пишите комментарии и нажимайте колокольчик, это помогает нам делать нашу работу. А в нашей виртуальной студии основатель и CEO этой компании Андрей Ли, и мы начинаем.
Hexlet (00:33.134)
Андрей, привет. Да, привет, Саша. Спасибо, что позвали. Взаимно. Спасибо, что пришел. Очень интересно, уверенно нас с получится пообщаться, потому что тема финтеха, и особенно криптовалюта, конечно же, последнее время максимально актуальна и трендово. И поэтому скажи, чуть лучше, я, о том, что за проект, ее, чем вы занимаетесь и как это устроено. Наш проект и команда, и в целом компания сформировалась в прошлом году, в августе месяце.
С того момента мы проделали большую работу. На данный момент мы на этапе релиза нашего MVP. Он планируется в начале марта. По сути мы создаем централизованную платежную систему для оплаты и предоставления разных услуг в сфере финтеха и не только. Если проводить аналоги с обычным нашим Web2Mir, то по сути мы интернет-екваринг только на блокчейне. Можно чуть-чуть подробнее, пожалуйста, что такое интернет-екваринг для наших, так сказать, самых юных зрителей?
Да, если по более простым языкам, это по сути онлайн-касса, платежный инструмент, где вы можете вести свои данные, карты и оплатить ту или иную услугу. Интернет-еквалинг используется во всех маркетплейсах, разных интернет-сайтах для оплаты каких-либо услуг. Мы по сути решаем эту же проблему только с помощью блокчейна и криптовалюты, потому что рынок блокчейна активно развивается, и мы как раз-таки хотим быть...
той компании, которая сумеет занять лидирующие позиции в развивающей отрасли. Ну, я признаюсь честно, у меня в этой сфере очень мало экспертизы, поэтому я могу задавать глупые вопросы. Какие вообще технологии для этого используются? Это же, я так понимаю, отчасти классическая разработка, там backend, frontend, а отчасти какая-то новая вещь под названием там smart contract и все такое. Да, на самом деле нельзя говорить, что блокчейн это совершенно какая-то другая отрасль, это все-таки часть IT и...
Проекты на блокчейне бывают двух типов. Наверное, такие чисто DeFi-проекты, где полностью отсутствует backend-часть и полностью разработка ведется именно на самом блокчейне. И есть проекты, умело интегрировать как раз-таки блокчейн, другие веб-3 инструменты в свою экосистему уже... Мы это называем off-chain. Условно off-chain это наша такая...
Hexlet (02:53.934)
классическая разработка front-end-back-end, и вот в этот оффчейн активно интегрируется оунчейн, как раз таки блокчейн-часть. Если говорить как раз таки о нашем продукте, то мы все-таки такой гибрид. У нас основная логика, там, взаимодействие с нашим пользователем строится именно с помощью оффчейн-части front-end-back-end, а как раз таки блокчейн позволяет отвечать больше за логику и за перевод транзакций между пользователями. Вот.
Так и все, какие из известных языков программируемого или фреймворка для всего этого используются? Да, если говорить про блокчейн в частности, то, наверное, популярный язык для написания смарт-контрактов является Solidity. Это такое, можно сказать, она ушла в сторону от TypeScript нашего классического, и как раз-таки Solidity позволяет писать смарт-контракты под EVM-совместимые блокчейны.
Про блокчейны тоже. Блокчейны, сети, если говорить, то они тоже делятся на две части. Это EVM-совместимые, которые по сути построены и созданы на базе Ethereum. И есть NanoEVM. Это те блокчейны, которые по сути разработали логику работы в своей блокчейне уже самостоятельно. И они как раз таки в основном пишутся либо на плюсах, либо на языке Rust. То есть ничего нового там нет по сути.
Тем не менее, не сказать, что это самые популярные языки на текущий момент, очень специфически. Ну, если говорить про nanoEVM, наверное, популярный блокчейн на сети — это Solana. То есть она такая прям на слуху. А больше, наверное, нет. В основном сейчас популярностью пользуются именно EVM-совместимые блокчейны, сети, потому что это удобно. Ну, то есть возьмем также обычный Metamask кошелек, в котором практически все пользуются, он у всех есть. Он как раз таки...
чисто EVM совместимый. И соответственно туда можно получать и отправлять крипту только которая на базе вот EVM совместимых влукчейн. Там эфир, пинон смартчейн, полигон и другие. Хорошо, а соответственно оффчейн стек что у вас там? На оффчейне у нас такая стандартная классика, наверное. На фронте у нас React.js, редукцию используем.
Hexlet (05:15.757)
Baki это Express.js у нас. Если про ABT говорить, то Postgres. По архитектуре мы взяли подход MVC, Model View Controller, потому что мы понимаем, мы еще стартап, и исходя из обратной связи наших клиентов, мы будем что-то дорабатывать, что-то подстраивать, что-то убирать, какой там функционал добавлять, и как раз-таки мы поняли, что именно этот подход нам позволит...
максимально быстро и эффективно делать изменения в будущем. То есть в основном у вас преимущественно JavaScript получается, да? Да, JS TypeScript, да, все верно. Расскажи, пожалуйста, какая команда этим занимается? Как вообще вас много, как вы поделены, какого рода специалистов кумко-калитчести требуется для подобных проектов? Ну, на самом деле на данный момент у 12 человек, но это не все разработчики. У нас, то есть, ну...
Туда входит и люди, которые отвечают за маркетинг, в целом за продукт, за соцсети и так далее. Если мы говорим конкретно про команду, которая делает продукт, то она состоит из четырех разработчиков сейчас, одного тестировщика мануального и, соответственно, продукт-дизайнер, который все это рисует. Если говорить про самих разработчиков, то у нас есть техлит, который отвечает в целом за архитектуру, за то, как мы там...
как лучше все это развивать, разрабатывать. И помимо этого есть Frontend Backend разработчик и Blockchain разработчик. Насчет Blockchain разработчик, он нас такой гибридный специалист, он... Все смарт-контракты, их у нас принципе не так много, мы уже написали, поэтому сейчас ребята помогают за Backend частью и спокойно. Ну, на самом деле это интересное замечание, то есть можно сделать вывод, что даже в мире веб-3, да, проектов и...
децентрализованных систем все равно остается место классическим технологиям и похоже что JavaScript точно мы никуда больше времени не денемся при всем при этом. Ну мне тоже так кажется ну в любом случае потому что там хотя и говорят там блокчейн блокчейн но это все равно такая обособленная немножко отрасль и она конечно не резиновая ну то есть в любом случае IT это вот то на чем все это держится а блокчейн это всего лишь маленькая часть вот все ITшки.
Hexlet (07:37.997)
Поэтому в любом случае, конечно, и в блокчейне мы применяем тот же. В любом случае, даже если это DeFi какой-то проект, где нет БЭКа, то Front-End сейчас, она в любом случае присутствует, и она обычно делается на классических фреймворках. Просто дополнительно к этому, ну, подключает разные Web3-пипиатеки. Самое популярное — это Web3.js, которая как раз позволяет фронту взаимодействовать уже со смарт-контрактами, либо с самим блокчейном, с нодами и так далее. Вот. И тут...
Без классической разработки никуда. А почему в основном блокчейне и мы в частности используем JavaScript либо TypeScript? Потому что именно по третьей языке самым много готовых пиплятех разных, которые можно уже использовать. Классических решений, можно так сказать. В общем, да, это та причина, почему мы все до сих пор используем JavaScript. Возможно, там где не стоило бы. Я правильно понимаю, что...
Даже вот эта часть децентрализованная, дефайнная, блокчейновая. Все равно там некоторые программные коды на некоторых языках, которые в целом подчиняются всем тем же самым правилам и абсолютно все инженерные практики справедливые для оффчейн разработки наверняка применимы там. Ну отчасти да, потому что если мы даже возьмем там процесс разработки, допустим классическое, вот выкатывает какую-то фичу там на бэке, она же проходит этапы там.
анализы, разработки, код-ревью и так далее. По сути, когда ты пишешь smart contract, ты проходишь те же этапы. Ты сначала определяешь, что должен делать smart contract, ты его разрабатываешь, проходишь код-ревью, аудит, можно сказать, smart contract на защищенность и так далее, на экономия газа и всего остального. Дальше ты проводишь тесты и деплоешь, и это, по сути, уже сам блокчейн. А если мы говорим про оффчейн, то ты просто это выкатываешь на прод.
либо на тестовый какой-то сервак. И даже если проводить параллели, там в классической разработке у тебя есть, допустим, какой-нибудь тестовый препарат сервак и продакшен. А в блокчейне то же самое. Ты можешь запустить testnet, где ты сначала все это тестируешь и потом уже на Main наакакартируешь. Ну, все по сути одинаково.
Hexlet (09:56.333)
если глобально брать. То есть это еще одна некая следа запуска для некоторого рода приложений, которые в принципе написаны на очень схожих, но просто специализированных языках. Да, да. Если я правильно понимаю. Если есть тесты, получается есть код review. Я правильно понимаю, что когда говорят проудит смарт-контрактов, а это тоже достаточно такое набивши оском на выражение, скажем так, это примерно то же самое, что код review, я верно понимаю. То есть это изучение кода смарт-контракта, который просто еще никуда не задеплоен, поскольку это обязано быть open-source в некотором роде, ведь это все открытый код.
Ну смотри, аудит, его можно рассматривать, у него есть, наверное, два смысла. Первый смысл, который применяется в целом в блокчейне, это когда ты уже задепоил, условно, свои смарт-контракты в блокчейн, в сеть, и ты идешь к какой-нибудь крутой консалтиковой компании, которая...
вперед и анализируют все твои смарт-контракты на безопасность, уязвимости и так далее. Если ты по всем их чек-листам, пунктам проходишь, они тебе дают сертификат, что типа, твоя программа, твои смарт-контракты безопасны и так далее. И ты это можешь красиво повесить у тебя на сайте, чтобы тебе люди доверяли. Конечно, это все не бесплатно. То есть, чтобы пройти аудит, ты платишь деньги. А если говорить про вторую сторону...
то можно проводить аудит внутренними силами. Ну, то есть, по сути, это равно код-ревью. Ты написал смарконтракт, другой блокчейн-разработчик его все взял и начал смотреть, то есть, как себя ведет смарконтракт, где можно уменьшить газ, какие есть уязвимости и так далее. По сути, делать внутренний аудит, и соответственно, внутренний аудит это равно код-ревью, можно сказать.
Я понял. Я хотел спросить скорее про внешний аудит. Это инструментально то же самое, код-ревью. То чем располагает аудитор? же просто смотрит исходный код, правильно понимает его контракты? Ну в целом да. Потому что smart-контракты в основном публичные, и они просто открывают твой код, смарт-контракт, и смотрят как он отрабатывает, там запускают. Есть среда специальная, можно сказать там.
Hexlet (12:08.653)
IDE HardHat называется. Как раз таки она помогает тестировать смарт-контракты. Ты там можешь ей задать определенные параметры, а-ля указать, допустим, знаю, какой-то период, тайм, можешь задать сумму, и вот она в тестовом режиме у тебя прогоняет этот смарт-контракт и дает уже исходные данные, на которые ты можешь ориентироваться. То есть это уже практически интеграционное тестирование, можно сказать. Можно в каком-то смысле так сказать, да.
Понял, спасибо, это интересно на самом деле. Ну хорошо, и какого рода специалиста нужно же этим заниматься? То есть, если офф-чейн, еще более-менее понятно, что, ну, наверное, бэк-энд фронт-энд, как минимум, нужна база в бэк-энде фронт-энде, не говоря там уже про север-3. А что касается блокчейна, как вообще в это люди попадают, что для этого нужно знать? В основном, знаешь как, хороший блокчейн специалисты, выходцы все из бэк-энд разработки. Вот с кем я, по крайней мере, работал до этого, у нас в команде, то есть...
Потому что в блокчейн разработчиков их на самом деле море. Есть там Solidity разработчики, кто исключительно смарт-контракты пишут и так далее. Но в идеале по мне, то есть классными блокчейн разработчиками становятся выходцы из бэкэнта, которые ранее писали на плюсах, на Rust, на Go. И они переключаются, когда на блокчейн разработку они...
не только условно задачу насечащиваться, они могут мыслить глобально, то есть что нужно сделать сейчас, чтобы в будущем было там, не вышли какие-то дополнительные там вещи, которые мешают твоей работе и так далее. Просто там на рынке очень много ребят, которые там пишут, что они солидите разработчики, блокчейн разработчики, и у них там...
Путь в разработке начался именно с Solidity Smart Contract. Они там выучили язык Solidity, он на самом деле очень простой. И начинают писать смарт-контракты и говорят, что все, мы тебе блокчейн-разработчики. А по сути они писать могут только смарт-контракты. А смарт-контракты это такая, наверное, поверхностные знания. Ну, то есть это такая верхушка айсберга. А чтобы реально там типа...
Hexlet (14:28.461)
делать сложные вещи. Тебе нужно помимо там умения писать smart-контракты в целом понимать как работает блокчейн, его инфраструктура, чтобы не только smart-контракты писать, а там написать допустим свою ноду, свой блокчейн уметь писать и так далее. Ты сказал, что это должен быть выход с, ну как бы, традиционный выход с backend разработки. Мне просто показалось, как будто... Речь о очень высоком уже не seniority.
То есть это должен быть просто разработчик, который очень широко до мыслей, ближе к эффектору, который может примерно предсказывать, куда его действия будут вести, если я правильно тебя понял. Ну то есть неужели среди фронтендеров таких нету, которые могли бы вот это все вкатиться? Конечно есть, ну то есть конечно есть крутые разработчики, там Solidity, Plugchain разработчики, не знаю, там, который выход к самоучке или кто пришел просто, либо перешли с фронта. Но я просто говорю о том, что чаще всего...
там вот с кем я работал они были выходцами из бэкенд разработки потому что когда ты пишешь когда ты пишешь не только smart контракты на блокчейне а допустим разрабатываешь свою ноду просто у меня есть один проект где мы как раз таки делаем свою ноду разрабатываем и там как раз таки
Тебе нужно знать хорошо очень сильно математику, чтобы прочитать условно формулы и так далее. Ребалансировка, что правильно случалось и так далее. Куча других вещей. И как раз-таки бэкэндеры, которые в основном с этим работают. Ну, постоянно. И в офф-чейне тоже. И поэтому, мне кажется, просто легче переключиться на сложные поле задачи. Понимаю эту позицию, в общем-то. Хотя, знаешь, насчет математики меня это немножко свернуло, потому что я сам немножечко фронтендер.
по крайней мере в прошлом. Когда тебе нужно нарисовать какую-нибудь анимацию, всякие синусы, костюмы соприкождались мне гораздо больше именно в фронт-энде. Ну, условно, я как бы не уверен, что это именно то, что нужно для блокчейна. Ну, я на самом деле же тоже выходи с фронта. Я начинал свою карьеру как фронт-энд-разработчик, поэтому прекрасно, наверное, тебя понимаю в этом. Значит, ты живое подтверждение того, что фронт-энд не приговор, если хочется заниматься DeFi.
Hexlet (16:46.221)
Хорошо. Скажи, где вы находите этих специалистов? Как вообще вас устроен процесс найма? Смотри, в основном мы находим специалистов через LinkedIn. Да, вот через LinkedIn получается. Но первые ребята, которые именно пришли в PIO, это мои хорошие знакомые. Мы с ними работали на предыдущих местах работы вместе. И я их позвал строить вместе со мной крутой стартап, который...
обязательно по нашему мнению выстроить, мы все на это надеемся. Вот. Первых двух ребят, именно блокчейн-инженера и тех, льда, я позвал по своим связям, а уже остальных двух ребят мы набрали через LinkedIn. Если говорить про систему собеседований и анбординга, то она нас состоит из трех этапов. Первый этап у нас есть первичное интервью со мной, то есть после отбора кандидатов. Я общаюсь с ребятами исключительно на такие...
Наверное, софт-скилы, общаясь просто как человек с человеком, чтобы понять, просто человек подходит в нашу команду, насколько он матчится с нашими ценностями по атмосфере и так далее. Потому что, не знаю, мы с командой пришли к тому, что сейчас в современном мире самая главная черта любого человека — это просто быть адекватным. И вот мы, неважно там, какого-то уровня джун, синьор, мидл.
Мы просто рассматриваем всегда абсолютно всех, даже если это стажёр. Если он подходит нам по всем пунктам, то есть именно таким человеческим, наверное, вот мы понимаем, да, он круто с нами мечется. Дальше мы проводим уже техническое интервью. К нему обычно подключается либо наш техлит, либо, соответственно, блокчейн-инженер, в зависимости на какую позицию мы собесим. Проходит техническое интервью. Если...
Кандидат всё круто классно отвечает, то мы его сразу приглашаем на третий этап. Если мы понимаем, что где-то он нас не убедил, мы можем дать дополнительное тестовое задание. И, соответственно, третий этап — это нас знакомство с командой. Мы делаем общий мид на всю команду и, опять же, просто общаемся на разные темы. Насколько человек с нами матчится, он задаёт нам свои вопросы, мы свои по типу, там, любимые хобби, фильм и так далее. Мы понимаем, что...
Hexlet (19:07.053)
Да, он действительно тот человек, который нас усилит и внесет свое какое-то видение в продукт, а он понимает действительно ли мы все такие хорошие, как я рассказал там на первом этапе. А вдруг мы там команда токсиков, которой он поймёт, что не захочет работать. И вот этот этап, третий, он для нас тоже очень важен. Вот поэтому у нас есть три таких этапа по собеседованию. Если говорить про анбординг, анбординг у нас проходит очень легко.
потому что, несмотря на то, что мы стартап, у нас все процессы внутренние, выстроены с самого первого дня. То есть мы работаем по канбану, но у нас есть вики, у нас расписаны все гайдлайны, и есть человек заходит, у него есть чек-лист того, что ему нужно сделать, он идет прям по пунктам и спокойно там может за неделю пройти весь анбординг, потому что он прям понятный, четкий и расписанный. Мы это сделали для того, чтобы...
момент, когда мы поймем, что нам нужно быстро расширять команду, мы могли быстро расшириться, и это никак не помешает нам в каких-то операционных задачах, то есть мы не посыпемся. вот поэтому за счет того, что у нас уже выстроенная система внутренняя, мы можем быстро расширяться, быстро ужиматься и реагировать на рынок. В целом, на его...
какие-то показатели и уже от этого самим подстраиваться. Вот, если в верхнем уровне вот так есть какие-то вопросы, задавай, я более подробно расскажу по пункту. Конечно же есть. Я правильно понял, что вы некоторые регламенты выработали еще на фазе буквально вот запуска вообще проекта, то есть еще прежде чем люди собрались воедино? Да, когда вот я только запускал продукт, к команду
Первый присоединился у нас Product Designer, который мне помогал в целом делать ресерши, продуктовые ресерши, анализ конкурентов, use, punchmarking. И тогда я сразу выстроил систему, что вот а-ля у нас есть Notion, это наши вики. У нас есть там Figma и FigJam, тут мы рисуем разные диаграммы, дизайн и так далее. И мы это все начали сразу прописывать. Ну то есть вот мы определились с ним, что как мы делаем ресерш, мы это сразу записали.
Hexlet (21:27.885)
И за счет этого, когда к нам начали подключаться уже другие участники, они изучали те вещи, которые мы уже сделали, и они понимали, как нужно работать, где нужно работать. И, соответственно, когда к нам приходил новый человек, неважно это, разработчик, маркетолог, вместе с ним мы сразу прорабатывали разные регламенты, гайдлайны того же, как лучше сделать так, чтобы в будущем облегчить свою же работу. И получается это такая...
Работа в фоновом режиме. Ее нельзя сделать сразу за раз или нельзя ее оставить напоследок. Оно у нас всегда в фоновом режиме происходит. Что-то придумали, там какие-то правила внутри изменились. Мы это изменили в документе для будущих людей, которые к нам присоединятся. На самом деле очень здоровский подход вызывает уважение, потому что, как правило, в стартапе сначала все стараются что-то сделать, и потом уже подумать, как это вообще будет работать в дальнейшем. Это звучит здорово.
Скажи, пожалуйста, у вас есть опыт вообще с пластниками каких-то онлайн школ? Именно опыт с пластниками онлайн школ у нас нет, да. И по сути у нас еще не было вот стажеров, но я так скажу, нас команде вот из 12 человек есть два человека, Джуна, которые пришли к нам, и они пришли там... До этого у них был коммерческий опыт там три месяца, три-шесть месяцев. Это правда не разработчики, но...
Мы просто поняли, что их видение максимально совпадает с нашим, и мы поняли, что их мотивация сможет дать нам толчок, а мы, соответственно, сможем прокачать их нужных навыках. И поэтому для нас в целом, как я и сказал до этого, мы не градируем людей джун, мидл и так далее. Мы спокойно можем взять джуна и помочь ему вырасти вместе с нами.
То есть он растет вместе с стартапом. Стартап растет, он растет как специалист. Все получают опыт. И как раз-таки когда Алиса вышла на меня с предложением, что почему бы не прособесить ваших ребят на позицию там front-end либо back-end разработчика, я с радостью согласился. И вот как раз-таки сейчас мы уже прособесили двух человек.
Hexlet (23:44.333)
с вашей школы и на следующей неделе у нас еще одно собеседование есть на позицию фронтенд-разработчика. Я надеюсь, что кто-то нам обязательно подойдет и мы тоже кому-то поможем начать вот карьеру в IT. Если вдруг ты сможешь поделиться впечатлениям какое ощущение у тебя возникло после общения со студентами и пустотниками Хеслита? И если вдруг кто-то еще захочет кликнуться на умеющиеся у вас вакансии, к чему вообще готовиться посоветуешь? На что сделать акцент?
Сложный на самом деле вопрос, потому что я просто обесил пока двух людей, все очень разные. Ну то есть у каждого свой характер и все остальное, понятное дело, но что мне понравилось классно отвечают вообще на вопросы. Ну то есть не теряются, довольно-таки легко идут на контакт, улыбаются. Для меня это, наверное, важный фактор, потому что иногда ты собесишь человека, а он такой серьезно сидит.
дяденька
Стартап наш про его какие-то интересы. я немножко там задал пару таких технических вопросов, больше теоретических. Он тоже на них довольно-таки хорошо ответил. Я себе поставил такую жирненькую галочку. Я думаю, что мы его на следующей неделе позовем уже на второй этап технического интервью. И там уже посмотрим. Еще что хотел добавить. Прикольно то, что ребята...
То есть, как сказать, вот мы перед тем, как звать кого-то на интервью, Хексет у нас спросил, кто вам конкретно нужен, какие требования. И на собеседование пришли именно те ребята, которые максимально релевантны. Ну то есть как по опыту, так по знаниям и плюс по желанию вообще. То есть они прям зараженные в IT, не только в IT, но и там именно по работе с блокчейн-технологиями. Это мне тоже очень понравилось, то что такой классный профессиональный подход.
Hexlet (26:07.565)
А на что лично ты обращаешь внимание? есть про соц. скиллы понятно, но и то же время понятно, что нельзя человека научить быть, как ты говоришь, адекватным за день, за за три, за долгое время. Но если говорить именно про hard-скиллы, что вообще у вас сейчас наиболее востребованно, особенно в этой сфере? Смотри, если говорить про какие-то hard-скиллы именно в блокчейне ты имеешь в виду? То есть что нужно знать или как? В DeFi проектах в целом и блокчейне в частности, да.
Это опять же все зависит от проекта проекта, потому что если ты у меня спросишь, что нужно знать по кэндеру, я тоже не смогу ответить, потому что зависит от там есть куча вакенд языков, куча фреймворков, которые нужно учить. То же самое с блокчейном, то есть это все зависит. Ты можешь хорошо знать, допустим, язык Rust и пойти просто в проект, который пилит свой какой-то продукт на базе Solana, и ты будешь там востребована. Но при этом ты не совсем подойдешь именно в нашу компанию, потому что
мы делаем EVM совместимые, сети подключаем, нам нужно знать Solidity. Но если говорить в целом карту, такую анкету кандидата взять, кто хочет войти в блокчейн как разработчик, то скорее всего это знание Solidity языка, потому что, наверное, 85 % вакансий в основном требует знания Solidity, написания smart-контрактов.
там работы, не знаю, хардхатом и так далее. Вот какие-то такие вещи. Но еще я добавлю сюда еще свою пять копеек. Помимо каких-то именно конкретных технологий, на мой взгляд, любому разработчику в целом нужно уметь рассуждать. Я вот это очень сильно ценю на собеседованиях, когда провожу. Когда там даешь задачку и человек не просто...
Там говорит, что «я не знаю, как решить», или замыкается, уходит в себя, а начинает вместе с тобой рассуждать. Он такой «Раз, а если мы так попробуем? А если мы так-так пойдем?» Выйдет, скорее всего, проблема, а как ее решить дальше? И вот в такие моменты я считаю то, что вот такие люди, могут реальные задачи решать. Когда ты им даешь задачу, которую пусть они даже никогда до этого не решали, за счет своего навыка рассуждения они найдут истину.
Hexlet (28:26.221)
Пусть не с первого раза, с пятого, с шестого, но они, я точно знаю, что смогут найти вариант решения. вот я это очень сильно ценю в людях, которые умеют рассуждать именно. Понятно. Если человек к вам все-таки попал про анборди, который сказал очень подробно, он вас практически, так по-моему, уже автоматизирован. А насколько у вас уже продуманно прописано, скажем так, дальнейшее движение, грейды, всевозможные процессы какие-то для роста, как вы это видите? Про, наверное...
рост и так далее. есть у нас сейчас система такая, что если ты заходишь в команду, то ты в любом случае через три месяца получишь equity от компании, процент будущей акции, потому что мы все-таки стартап и мы даем такую возможность вместе с нами вырасти и стать одним из, можно сказать, совладельцев целом компании.
Про систему грейтов пока сложно говорить, все-таки опять же мы стартап и у нас нет такого прям яркого деления, у нас вот есть просто техлит, можно его назвать техлит, тимлит, угодно, который ведущий разработчик, который определяет вектор в плане технологического развития, как это лучше решать. И есть вот в помощи мутри разработчиков, каждый, который отвечает за свою зону ответственности. И вот они разрабатывают продукт у нас
Все удачно довольно-таки идут, все задачи закрываются в срок, а чтобы как-то их вот именно по крейтам распределять у нас такого пока нет. я вот думаю, это опять же связано с тем, что мы вот готовы брать допустим начинающих разработчиков, мы их спокойно можем взять, интегрировать нашу команду и он будет у нас в целом на равных условиях. У нас нет такого, что там кто-то ему может сказать так.
типа у тебя уровень недостаточно, ты будешь делать там только а-ля кнопочки верстать, допустим. У нас такого нет. То есть если ты готов брать на себя ответственность, ты ее берешь и начинаешь делать. Я сейчас немножко отойду от твоего вопроса, если ты не против, буквально там на минутку. Мы просто в целом компании так выстроили, что все управление мы выстроили горизонтально.
Hexlet (30:35.597)
У нас даже орд-структура, вот компания, не вертикальная, как ее привыкли рисовать, а она у нас в виде таких кружочков. То есть мы хотим, чтобы каждый человек, кто к нам приходит, он был услышан. То есть он может спокойно на общих метах, которые у нас есть раз в неделю, высказать свое мнение по развитию, по самому продукту, неважно, откуда он там, разработчик, либо он контент-менеджер. Он может высказать свое мнение, мы его обсудим и определим.
Действительно, может быть, это та вещь, которую мы упустили. Я всегда своим ребятам всем говорю, что всегда делитесь своими мыслями, потому что обычно самые безумные дурацкие мысли, они обычно и стреляют лучше всех. И поэтому у нас мы выстроили такую горизонтальную систему. Мы хотим и идем, наверное, сторону максимальной бюризовости, насколько это возможно. И вот как раз-таки вот эти все гайдлайны и...
разные описания того, что нам нужно делать, это та вещь, которая позволяет вот в этой коризонтальной плоскости не допустить хаоса. Потому что если ты просто будешь говорить, вы можете сделать все, что угодно, будет хаос. А когда ты говоришь, что да, мы все равны и у нас коризонтальная система управления, но при этом у нас есть ответственность у каждого за определенные вещи, которые у нас прописаны. Вот именно в такой, наверное...
коллаборации и можно выстроить классные вот систему управления. Мы вот очень многое берем от Spotify. Мне очень нравится, как Spotify выстроил у себя вот эту систему управления внутреннюю. вот, она через такие сквады, это вообще другая история, но мы вот идем по этому сценарию, максимально вот изучаем их и что-то новенькое постоянно внедряем от них, потому что они как раз показали, что это максимально жизнеспособно.
И вот система. Понял, спасибо. Очень тоже интересно на самом деле отступление. В принципе, мы уже немножко зашли на территорию корпоративной культуры. И рад, что мы в этом говорим. Сразу спрошу, как вообще у вас устроена, скажем так, офлайн жизнь? Вы у вас есть офис? Или вы полностью не удаленная? Да, мы полностью удаленная, распределенная команда. Вот у нас 12 человек. Ну, у нас, смотри как.
Hexlet (33:01.485)
Мы все с разных сторон абсолютно. Понятное дело, часовой поезд там он плюс-минус приближенный к плюс три плюс пять, вот так вот где-то, но при этом мы полностью удаленная команда и я прям сторонник того, что по сути в нашем современном мире офис он не нужен, потому что гениальные люди могут быть в разных местах нашего мира и собрать их все в одном месте это очень сложно и поэтому мы вот
выбрали для себя путь удаленной работы. И я очень горжусь, что у нас на данный момент, у нас всего 12 человек, но у нас уже открыто 7 стран. Вот, нас люди с 7 стран разных. Это очень круто. Но при этом у нас внутренний язык, такой русский. Но при этом все документы, документации, сам продукт мы делаем на англоязычный рынок. И поэтому знание английского языка хотя бы там на уровне.
Наверное, B1, B2 для нас маз хев, чтобы можно было просто прочитать, что мы вообще делаем. То есть внутренняя документация у тоже на английском, правильно? Да, всё. Ну да, у нас всё на английском. Можно в принципе сказать, что ваша команда в том числе готова к расширению, к лёгкому как бы, к лёгкой ассимиляции иностранных сотрудников? Да, ну да, мы к этому в любом случае идём, да, потому что мы понимаем то, что там, допустим...
с будущим сейлс менеджерами, партнершип менеджерами, они в любом случае будут уже, можно сказать, люди, ну иностранцы, потому что они лучше понимают рынок, лучше понимают какие-то вот такие внутренние вещи, все равно это ментальность другая, поэтому мы к этому тоже готовы. Самое первое дне нас вот мы знали, что мы рано или поздно к этому придем, и поэтому именно...
Исходя из этого мы полностью все ведем на английском языке. Тоже на самом деле очень здорово и опять же вызывает невольно уважение. что для современного разработчика вообще мне кажется немыслимо не знать английский, но именно разговор на английском это то, что достаточно редко требуется, если ты не работаешь с иностранцами. А если уж это является вариантом по умолчанию, ты в любом случае готов с ними работать, так это вообще просто супер. В том числе для роста, кстати.
Hexlet (35:22.125)
Хорошо, а вы как-нибудь тусуетесь вообще? У вас были какие-нибудь офлайн-сходки за это время? Или пока еще не успели продумать, как это будет выглядеть? Пока мы именно офлайн, не успели все вместе встретиться. Там кто-то с кем-то встречался, кто рядом живет. Я тоже периодически, когда прилетаю в страну, где есть наши сотрудники, встречаюсь с ними. А вот сделать, чтобы именно такой корпоратив, большую сходку офлайн, ее у нас, к сожалению, пока не было. Мы там...
планируем это сделать летом, как раз таки. А если говорить про мероприятия, то мы их проводим оффлайн, то есть обязательно какие-нибудь там квесты вместе проходим онлайн, квизы и так далее. то есть, ну не часто, конечно, но там раз в месяц там все собираемся и так далее. И ну мы знаешь как, из-за того, что мы все удаленно друг от друга и у нас прям нет такого постоянного общения всех между собой.
Но при этом мы не хотим, вот эта связь терялась. Потому что когда изначально у там было а-ля 5 человек, это легко. Ну то есть вы в любой момент можете созвониться, а когда у вас там уже 12, у всех свой какой-то таймлайн, собрать сложный. Поэтому у нас есть вот обязательные миты раз в неделю, где мы созваниваемся, и вот первые там минут 15 просто общаемся. Там у нас есть такая игра между собой.
Мы задаем друг другу рандомные вопросы, Ле там я называю имя сотрудника и ему задаю вопрос. Дальше он отвечает, называет другое имя и задает вопрос. И так вот нас первые 15 минут проходят для того, просто мы с друг другом поддерживали связь, больше узнавали друг о друге. Вот как-то так. Звучит достаточно здорово. Вы стремитесь к такому... Ну действительно ты сказал бирюзовую компанию, это кстати, если я правильно помню, ссылка к Грейвсу, да, спиральной динамике, конечно, называется, книжка.
Если я правильно помню, это, то есть такая, то что по-английски называется, Харти, то есть очень семейная компания, где все всех уважают и четко понимают как бы функции каждого в коллективе, если я правильно помню. Такую обстановку. Прям в точку. Да, и из чего следственно следует, что нужно хорошо знать с кем-то работаешь. То это уже не просто функция, это реально люди. И очень здорово, что даже несмотря на то, что удаленные работы, по-моему, тоже реальность данного дня, и я очень сомневаюсь, что когда-нибудь мы вернемся к тому, было раньше, по крайней мере в массовом масштабе.
Hexlet (37:42.061)
И соответственно мы потеряли огромный пласт этой офисной культуры и надо чем-то его компенсировать. И поэтому очень интересно узнать, как все компании это решают. Кто-то ХИЗ организовывает, кто-то Регаты парусные. Я помню, нас были тоже ребята здесь. Очень здорово на самом деле. Давай поговорим про инженерную культуру. Ты уже упомянул, что у вас есть депло и тестовые среды. То есть, принципе, CICD и D-WOPT культура так мая присутствует.
Расскажу подробнее, как у встроены процессы код-ревью, как у вас задачи ставятся, как вы тестом относитесь вообще, насколько вы упарываетесь по тестированию. Если говорить про порядок выполнения тасок, ее жизненный цикл взять, то таски нас расписывают CPEO, основной. Он их расписывает верхнеуровнево, то есть с точки зрения бизнеса, что мы хотим получить. Дальше, соответственно, таску подхватывает уже техлит.
он понимает, если ее нужно где-то дописать с точки зрения какой-то технической части, какие-то вот факторы, которые нужно уделить внимание, он их дополнительно там расписывает. Если этого нет необходимости, дальше таска просто распределяется на разработчика, который ее берет в работу. Мы даем тут тоже... Мы общались на эту тему с нашими разработчиками, как они хотят, что видеть, наверное...
задачу, которую им нужно выполнить. Ну, то есть, условно, ее прям декомпозировать вплоть до, там, не знаю, до фу... там, условно, до технической реализации, либо верхнеуровневой. И мы... чтобы всем было в первую очередь комфортно, все пришли к тому, что им хочется думать самим. Условно, они... чуть-чуть, чтобы была там возможность подумать, там, не знаю, поразмыслить и так далее. Поэтому мы пришли вот к такому моменту, что мы расписываем ее...
с той же зрения бизнес цели, иногда это виде юзер старей, дальше техлит, если нужно, дописывает техническую часть какую-то, если нет необходимости, таск распределяется на разработчику, он ее выполняет и после выполнения он покрывает все unit-тестом и все остальное, то есть перед тем как отдавать код review, он должен быть уверен, что тот функционал, который он сделал...
Hexlet (39:57.645)
он 100 % рабочий, то есть он за него ответственный. Дальше он ее передает на код review. Код review проводит по-разному, либо техлит, либо просто кто-то из его коллег. Потому что нас всего 4 разработчика, пока это так. Кто-то проводит код review, дальше если все окей, то мы это соответственно заливаем на тестовый сервак и дальше ее уже тестирует наш QA. Все, если все классно...
то идем дальше по CICD нашему, идем на припрод, потом на прод и все, и выкатываемся. Ну правда у нас еще прода ни раз не было, потому что мы MVP планируем получается, к марту, но вот именно весь процесс того, как это должно происходить, у нас он уже выстроился заранее, и ребята тоже все понимают. Пока все таски у нас копятся на тестовом серваке, их там...
наш тестировщик проверяет. то, то, что готовы к продакшн, он их просто переносит в Ready2Prod и всё, и они там сейчас пока копятся. Сейчас мы выпустим MVP, прогоним ещё раз все тесты и уже дальше уже это будет постепенно, полноценно, можно сказать, все ACD. Постоянно будет что-то выкатываться, какие-то релизы. Может быть, ты сможешь рассказать подробнее, как динозавтируется блокчейн решение? Ведь если, ну, я так понимаю, что...
Там даже тест инфраструктуры, является частично как бы частью публичной, даже одна и та же сеть используется для всех этих операций. Просто она не считается, транзакции там не считаются стоящими. Я правильно это понимаю? Да, на самом деле. Смотри, если говорить про блокчейн сейчас именно в нашей компании, у него путь почти точно такой же. Блокчейн-разработчик пишет смарт-контракт, у него есть
описание того, как Smart Contract должен работать и какую функцию он должен выполнять. Он пишет Smart Contract, дальше его проводит над ним тесты, опять же с помощью среды Hard Hat. Дальше он ее отправляет на аудит к нашему техледу. Он все это проверяет, соответственно, также проводит дополнительные тесты. Если... И по сути, смотри, роль Hard Hat в том, что...
Hexlet (42:12.429)
Ты локально, он локально у тебя на компьютере разворачивает тестовую среду, тестнет условно, где на тестовой среде он условно твой smart contract прогоняет. На тестовых токенах, на тестовых сетях, там все там тестовое. Это вот запущено условно на твоем компьютере.
После этого, если все окей, у тебя и у твоего, кто проводил аудит, все прошло успешно, вы говорите, что да, мы готовы к продакшену, ты просто ставишь Ready to Pro, и потом мы это задеплоем уже в Mainnet, ну, в сеть, и контракт будет уже публичным, все его увидят, можно посмотреть на BS Scan его, допустим, и так далее. И плюс у нас все репы публичные, тоже можно зайти посмотреть.
как это работает. А если говорить в широком смысле про Testnet и MyNet, смотри, сейчас скажу, много DeFi-проектов, которые разрабатывают именно сложные решения на блокчейне, допустим, какие-нибудь кросс-прижинговые операции, либо стейкинг, фарминг и так далее. У них там, сначала разворачивают тестовую среду,
есть уже готовые тестовые среды, можно просто взять и форгнуть какой-нибудь Mainnet и развернуть это у себя на сервере и закатить туда свои наработки, свои smart-контракты и так далее. И по сути в этой среде разработчик царь бог, он может накрутить тебе хоть миллион эфира там или миллион, не знаю, USDT и так далее. И все, и на этой тестовой среде, либо эта тестовая среда тоже может быть как приватной.
То есть доступ ему может быть только у разработчиков, у людей, которые ходят в White List. Либо она может быть публичной. есть любой желающий может пройти какую-нибудь верификацию и спокойно начать пользоваться тестовыми деньгами, проводить тестовые какие-то операции, тестовый фарминг делать и так далее. Исходя из этого уже разработчики обкатывают, как отрабатывают смар-контракты, как отрабатывают, не знаю там...
Hexlet (44:23.981)
какие-то протоколы, бриджи и так далее. Если все окей, заливают на Main.net это все, разворачивают на Main.net. У нас тестнета такого нет, потому что у нас блокчейн часть довольно-таки простая. Это 3-4 смарт-контракта на данный момент. И разворачивать свой тестнет нам просто смысла нет. Поэтому мы все тестируем через HardHat и дальше уже это заливаем на Main.net.
Я уверен, что некоторой часть аудитории, как и мне, не все слова сказаны будут понятны, но как раз для этого существует комментарий. Я уверен, что Андрей к нам еще вернется к этому видео и ответит заинтересованно на технические вопросы. Потому что на самом деле это целая вещь себе, и отдельные отрасли, где надо тоже разбираться о том, что вообще идет диалог. Ну да, тут на самом деле, знаешь, то, что я рассказываю, я рассказываю очень так поверхностно и, допустим,
чтобы, опять же, аудитории было понятнее, что мы вообще делаем, как это все работает. И я очень много параллелей провожу с обычной разработкой, потому что в основном это ребята, с классической разработки, наверное, нас будут смотреть, и чтобы им было более понятно. А допустим, сейчас какой-нибудь человек зайдет, кто шарит прямо блокчейне, он может сказать, какую чушь он несет, а-ля, потому что есть вещи, которые я не совсем...
правильно объяснил, потому что если это объяснять правильно, то у нас точно часа времени не хватит, все три часа уйдет. Поэтому я пытаюсь максимально просто рассказать, чтобы в целом картина какая-то людей сложилась, кто это будет слушать. Ну, понятно, да, конечно, когда делаешь некоторое обобщение, некоторые детали можно потерять, и не нужно быть неприятными токсичными людьми докапываться до этого, я считаю. Те, кто все понимают, так все понимают, остальные, во-первых, просто будет полезно понять, что это такое, потому что это...
Когда появилась мобильная разработка, тоже была такая же непонятная штука, потому что раньше все работал в браузере, а теперь нужно ставить какие-то эмуляторы, какие-то пакеты собирать, файлы заливать. На FTP файлы не скопируешь. На сравнении, он просто взял для этого инструментарий, и уже никто особо не задумывается. Просто взял, собрал, запустил, себя локальный эмулятор все сделал. Тут то же самое. Когда блокчейн ток появился, мы все читали эти статейки, как все работает.
Hexlet (46:42.477)
там все эти валидации хэшей, криптография, ой, дистанция, какая-то там, в общем, редубликация событий, в общем, все очень сложно. Где-то там от листв вас, от монств вас, потом еще Виталий Бутерин написал свою статью, да, про архитектуру, итерему, вообще ничего не понятно, даже люди, у которых очень хорошо разбираются в архитектуре приложений. Вот. Ну, на самом деле не так страшно, черт как его моллюют, вот что я подытожить, что это все можно изучить, все это можно почитать, и если есть фундамент, я вот почему-то ввел, да, мне кажется, все-таки даже там нужно...
понимать, такое алгоритмы, что такое сложность, такое встроенное хранение данных в конце концов, как все эти байтики упакуются, как работает сеть, и HTTP тоже в том или ином виде все пригодится, и REST наверняка выяснивается. Все как бы best practices, которыми мы стараемся учить, и которым в итоге все необходимо учиться, они все потребуются. И принципе это просто новая среда для запуска тех же самых вещей и разработки примерно тех же самых штук. Мы просто еще раз по кругу сейчас сделаем все, что мы уже сделали, только децентрализованно.
Я согласен, все что ты сказал, это все нужно. вот я когда говорил как раз таки про бэкендеров, которые лучше, то что они в основном классно себя показывают как блокчейн-разработчики, как раз таки за счет того, что они вот, ну многие бэкендеры, сложные алгоритмы какие-то решают и так далее. И вообще, даже не только бэкендеры, вообще ребята, кто там знает алгоритмы, решает их и так далее, им в любом случае легче намного.
блокчейне, именно не в написании смарт-контрактов, а именно проработки каких-то сложных логических цепочек, когда создается, допустим, своя нода и так далее. Там все это как раз пригодится 100%, это нужно. Скажи, пожалуйста, как ты сам всем этим учился? Ведь даже сейчас не так много курсов по блокчейну, может быть, и слава богу. А раньше вообще ничего этого не было. Как ты к этому пришел и как вообще, что ты для себя вынес из этого и что бы ты рекомендовал изучать людям, кто этим интересуется?
Слушай, интересный вопрос. я на самом деле к блокчейну, репте очень сам... Когда он только появился, я такой скептически к нему относился и вообще никак не признавал. Я там условно блокчейном и всей этой движухой начал активно увлекаться, наверное, года два назад, потому что тогда начали появиться... Тогда вот весь этот бум...
Hexlet (49:02.797)
Хайп ушел с разных ICO скрипты и я начал видеть то, что действительно есть именно технологии. то есть блокчейн как технология. Там допустим, тот же эфир, целая экосистема и так далее. И я начал видеть то, да, теперь я понимаю, что это технологии, которые могут решить определенную задачу или проблему. И я же вот...
Мне сложно сказать именно, как разработчику развиваться. Так как я последние 5 лет больше как, наверное, такой CTO, либо как руководитель проектов развиваюсь. Поэтому я глубоко не ухожу. Лично для себя я начал просто изучать, как устроен блокчейн, к чему словно отличаются разные виды блокчейнов.
Proof of Stake либо Proof of Work, чем они отличаются там, а-ля. Вообще, вообще вот hash, для чего hash нужно, да, как работает криптография. У Гарварда есть классный курс про блокчейн. Я точно название не вспомнил, но я вот его тоже проходил. Там довольно-таки так по верхам, но базу классную дают, именно как устроен блокчейн и так далее. И вот.
Как-то так, читал разные статьи, потом начал вести, два года назад зашел как сетей разработки DeFi-платформы для кросс-бридженговых операций на блокчейне, и как-то уже по наитию, по практике от разработчиков, от других ребят, кто уже давно в теме, задавал свои вопросы, они делились своими мыслями, и как-то уже...
по чуть-чуть, по чуть-чуть, и меня свое видение тоже сформировалось. И поэтому вот, ребятам, неважно там разработчик кто-то еще, хотите, я считаю так, в любом случае нужно сначала базу изучить. поймите, что-то, как работает там, допустим, блокчейн там, и тогда какие-то базовые вещи, а потом уже вы можете идти конкретно там, чем отличается, допустим, EVM от NAN EVM, чтобы вы просто для себя поняли, что вы конкретно хотите делать, потому что блокчейн — это как IT.
Hexlet (51:20.237)
IT тоже очень большой и типа, что я хочу делать в IT? В IT ты можешь даже дизайнером быть, это тоже IT-шник по мне. И то же самое в блокчейне. Ты можешь быть в блокчейне каким-нибудь криптокоперайтером, который пишет статьи про крипту и так далее, либо про блокчейн. Просто нужно сначала изучить верхнеуровнево, как работает блокчейн и что это такое, как технология. И потом уже для себя понять, что вы хотите делать.
какую проблему решать. И исходя из этого уже можно сформировать какой-то traction для себя. Еще один вопросик, мы его уже сходишь и поминули, но все-таки ты обмолвился, что часто нужна математика в этих задачах. Ты сам ее специально изучал или насколько она вообще нужна? что многим действительно людям почему-то кажется, что для программирования нужно быть математиком. И может быть это было правда и там 40 лет назад. Но насколько нужно знать математику сейчас?
Блин, смотри, сложный вопрос. Я так скажу. Есть куча ребят, у которых нет вышек, которые очень крутые разработчики и решают кучу сложных задач. И в моей практике у меня есть куча таких знакомых. Есть куча ребят, которые закончили крутые университеты, но не могут эту же задачу решить. Мне кажется, тут все...
зависит от человека. Если говорить про меня, у меня есть там высшее образование в компьютерсайенс, сказать, что да, действительно там в построении моей карьеры вышка очень сильно прям помогла и дала какой-то буст, наверное, я прям так не смогу сказать. Ну, то есть, но в некоторых моментах знания, которые я получил вот в университете, они действительно мне помогают.
Но при этом я понимаю, что возможно я бы мог это и на каких-то тех же курсах получить более в короткий срок и так далее. Поэтому тут нет никакой рекомендации, нужно-нет, нужно знать математику-ненужно. Все зависит от твоей конкретной позиции и от задач, которые ты решаешь. Если ты, допустим, фронтендер, который только делает вёрстку, условно, и подключает ее к бэку.
Hexlet (53:34.381)
то, наверное, так-такого и математика особо не нужна. А если ты решаешь какие-то сложные задачи на том же фронте, я вот по себе знаю, и есть задачи на фронте, которые очень сложные. Вот как ты привел пример, же анимации и так далее, но там тебе нужно знать, чтобы это все красиво просчитать. Тут все, мне кажется, зависит от ситуации, от задач, которые ты решаешь, и от самого человека. Ну, то есть каждый...
должен сам для себя решать, найти какой-то свой путь. Спасибо большое, Андрей. Очень познавательно. Я уверен, что многим будет интересно. Опять же, тема криптовалют, в общем, как видите, DeFi рынок никуда не делся. Все же выходок продолжает развиваться, несмотря на достаточно долгое затишьте в этой сфере с точки зрения основных курсов валют, которые определяют вообще активность этого сегмента.
И как мы выяснили, необходимо знать все то же самое, что и для любой другой разработки, и процессы все очень похожи, и практики инженерные, в общем-то, те же самые применимые. И даже математика, если нужна, то тоже специфическая, да, и не везде, и не вся. И все это, соответственно, можно изучить на хексите, как вы понимаете, и математика, которая есть отличный материал, и который, лично, мне, кстати, очень нравится. Спасибо еще раз, Андрей, было очень познавательно и очень интересно. Спасибо, что позвали, очень классно для меня опыт. Рад...
Рад если кому-то это поможет. буду рад если кто-то из ваших учеников опять же откликнется, захочет попробовать присоединиться к нам. Мы с радостью всех прособесим. И если кто-то действительно, с кем мы действительно сойдемся, я буду рад посотрудничать только. Друзья, спасибо за просмотр. Если вам понравилось это видео, обязательно ставьте лайк, подписывайтесь на наш канал, оставляйте комментарии с вопросами, постараемся на них ответить. Всем хорошего дня, пока.