Русский
Русский
English
Статистика
Реклама

Ruvds_расшифровка

Как устроены кибер-протезы рук для детей и почему их пользователи не нуждаются в жалости

26.12.2020 16:10:02 | Автор: admin

На этой неделе в наших соцсетях выступал Данил Емелин, инженер-протезист в компании Моторика. Они занимаются созданием протезов верхних конечностей, 80% их пациентов дети.

Ребята делают два вида протезов:

  • обычную механику, которая работает через натяжение нитей,
  • и бионические протезы: работают от аккумулятора, внутри плата и программируемые драйверы


Делимся с вами записью и расшифровкой эфира.



Всем привет, меня зовут Данил. Начнем с небольшого рассказа про меня.

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

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

Я продолжал учиться. В Бауманке мне сказали, что готовы сделать для меня платные курсы (только под меня, поскольку таких программ не было). Я и в МГУ ходил, но там ничего не получилось. На тот момент я нашел через Headhunter одну вакансию в Москве единственную по России на инженера, который бы занимался изготовлением индивидуальных протезов.

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

Я написал в эту компанию, сдал все проходные экзамены, прошел отбор. Меня взяли, я полгода поработал. Отучился в Бельгии на курсах медицинских инженеров дико интересно, там изучалось прототипирование для людей.

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

Потом компания, к сожалению, закрылась. Я нашел Моторику. Мы встретились с Ильей Чехом, и он пригласил меня работать конструктором. Сначала нас в офисе было 4-5 человек, сейчас компания выросла человек до 50, наверно. Развитие постепенно идет.

Я начинал работу в Моторике конструктором, но со временем пришел к тому, что мне хочется быть поближе к пациентам. Это мне больше нравится, это интереснее, особенно люблю работать с детьми. Процентов 80 пациентов у меня дети. На бионические протезы больше взрослых, но для детей мы тоже делаем бионику.

Почему протезы для детей должны выглядеть футуристично


и не имитировать настоящую конечность. Я считаю, что у человека с инвалидностью должно быть много разных рук (то есть, протезов). Одна футуристическая; ею он привлекает внимание и говорит: да, я особенный, вот такой я почему бы и нет, взгляните на меня, посмотрите, какой я крутой.

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

Другой пункт: я считаю, необходимо иметь косметический протез, чтобы отдыхать от внимания. Внимание 24/7 человеку не нужно. Поэтому важен широкий спектр изделий для людей с инвалидностью. Очень важно иметь необычный протез, с которым можно воспринимать себя супергероем для ребенка это нужно. Протез расширяет возможности человека, ребенка в глазах остальных, но в первую очередь в его собственных глазах. Он хорошо влияет на восприятие окружающей среды вокруг себя.

Откуда берутся маленькие пациенты, нуждающиеся в протезах, и почему они совершенно не нуждаются в жалости?


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

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

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

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

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

Как идет адаптация к протезам?


Здесь было бы здорово еще поговорить с Ильей Марковским, которого вы видели в анонсе видео. Он работает у нас. Он сейчас пользуется активным протезом. Это механический протез, который работает за счет натяжения тяг при сгибании руки в лучезапястном суставе, который у него сохранен с культей ладонной части. Он работает, развивает свои руки. Он сам недавно говорил, что, когда он только начал надевать протез, это было просто невозможно; сгибать протез было очень тяжело из-за маленького рычага. Год спустя он сильно натренировал сгибатели-разгибатели, теперь может на культе ведро носить.

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

Как устроен бионический протез?


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

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

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

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

Электроника прячется между культеприемной гильзой и гильзой, которая отливается из смолы (вся конструкция делается по длине здоровой руки, с ротатором, заливается смолой под нужный цвет).

Человек включает протез, думает: хочу согнуть руку; напрягает сгибатели. Протезист настраивает через приложение порог срабатывания. Человек напрягает мышцу, график напряжения уходит наверх, пересекает определенную черту, и в этот момент протез должен сработать и сжать кисть. Потом человек напрягает разгибатели, и протез разжимается.

Все протезы Моторики изготавливаются с индивидуальным дизайном это тоже очень важно. То есть, этот тот дизайн, который хочет человек. Любой дизайн можно придумать. У нас есть практика, когда дети приходят перед протезированием, и мы их спрашиваем: что бы ты хотел, какой цвет? Есть палитра цветов, разные рисунки, вырезы на протезе. Наша команда делает гильзу это делаю я или другой протезист, и поверх культеприемной гильзы наращивается 3D-графикой протез, это делают конструктора. Протез конструируется по сканированной гильзе, и он получается индивидуальным. Каждый протез индивидуален для каждого пациента это абсолютно точно.

Потом 3D-модель конструктор отсылает на производство. Производство её начинает выращивать; у нас есть контракт с одним из производств в Москве это компания Can Touch. Они выращивают на производственных 3D-принтерах довольно мощные модели, очень хорошего качества. Для послойной печати в вакууме используется полиамид-порошок.

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

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

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

Здесь идет речь еще и о здоровом соперничестве мировых компаний-производителей эти игры происходят на мировом уровне. Конкурс показывает, какое изделие, какой протез (коляска, протез ноги, нейроинтерфейс) сделан лучше, а какой нужно доработать. В этом году наша компания заняла четвертое место в мировом первенстве с одним из протезов, это очень хороший показатель. Игры обычно проводятся в Цюрихе, в этом году они были в сети, с прямой трансляцией; было очень напряженно.




Что было ранее


  1. Илона Папава, Senior Software Engineer в Facebook как попасть на стажировку, получить оффер и все о работе в компании
  2. Борис Янгель, ML-инженер Яндекса как не пополнить ряды стремных специалистов, если ты Data Scientist
  3. Александр Калошин, СEO LastBackend как запустить стартап, выйти на рынок Китая и получить 15 млн инвестиций.
  4. Наталья Теплухина, Vue.js core team member, GoogleDevExpret как пройти собеседование в GitLab, попасть в команду разработчиков Vue и стать Staff-engineer.
  5. Ашот Оганесян, основатель и технический директор компании DeviceLock кто ворует и зарабатывает на ваших персональных данных.
  6. Сания Галимова, маркетолог RUVDS как жить и работать с психиатрическим диагнозом. Часть 1. Часть 2.
  7. Илья Кашлаков, руководитель фронтенд-отдела Яндекс.Денег как стать тимлидом фронтендеров и как жить после этого.
  8. Влада Рау, Senior Digital Analyst в McKinsey Digital Labs как попасть на стажировку в Google, уйти в консалтинг и переехать в Лондон.
  9. Ричард Левелорд Грей, создатель игр Duke Nukem 3D, SiN, Blood про личную жизнь, любимые игры и о Москве.
  10. Вячеслав Дреер, гейм-дизайнер и продюсер игр с 12-летним стажем про игры, их жизненный цикл и монетизацию
  11. Андрей, технический директор GameAcademy как видеоигры помогают прокачивать реальные навыки и найти работу мечты.
  12. Александр Высоцкий, ведущий PHP-разработчик Badoo как создаются Highload проекты на PHP в Badoo.
  13. Андрей Евсюков, заместитель CTO в Delivery Club про найм 50 синьоров за 43 дня и о том, как оптимизировать фреймворк найма
  14. Джон Ромеро, создатель игр Doom, Quake и Wolfenstein 3D байки о том, как создавался DOOM
  15. Паша Жовнер, создатель тамагочи для хакеров Flipper Zero о своем проекте и другой деятельности
  16. Татьяна Ландо, лингвист-аналитик в Google как научить Google-ассистента человеческому поведению
  17. Путь от джуна до исполнительного директора в Сбербанке. Интервью с Алексеем Левановым
  18. Как Data Science продает вам рекламу? Интервью с инженером Unity
  19. Как я переехал в Лондон c Revolut
  20. Завтрак с легендарным геймдизайнером Американом МакГи: о новой Алисе, России и депрессии
  21. Как организовать IT-конференцию и не сойти с ума
  22. Чем биоинформатика отличается от вычислительной биологии краткое введение
  23. Профессия системный аналитик: развитие сообществ, популяризация профессии и подготовка
  24. Три задачи из геномики, которые решают биоинформатики в СПбГУ
  25. Как писать статьи в IT-журналы и блоги



Подробнее..

Как дата-саентисты в ВК делают рекламу эффективной

04.01.2021 16:19:24 | Автор: admin
Еще в прошлом году у нас выступал Артем Попов, тимлид команды VK Performance Advertising. Делимся с вами расшифровкой эфира и записью.




Меня зовут Артем, я руководитель performance advertising в ВК. Наша команда занимается тем, что, с одной стороны, делает рекламу в ВК эффективнее, выгоднее для рекламодателей, интереснее для пользователей. Это большая продуктовая цель.

С другой стороны, технически, мы команда ML-инженеров, довольно обычных разработчиков, которые много времени занимаются задачами, связанными с data science и ML. Сегодня я хочу поговорить про эти две темы, потому что обе они мне интересны, я о них люблю поговорить. Я очень рассчитываю на то, что у нас будет живое общение; если кто-то смотрит трансляцию, будет интереснее, если вы будете писать вопросы.

В целом, я хочу разделить нашу беседу на два блока. В первом я расскажу о разных задачах, которые встречаются в рекламе в пересечении с data science. То есть, почему реклама может быть интересной областью для ML-специалиста, для специалиста в области data science. С другой стороны, я хочу поделиться своим опытом перехода в инженерный ML-проект, тем, чему я учился те четыре года, которые занимался ML в рамках инженерной истории. И рассказать про то, какие вещи встречаются в больших компаниях, но про которые не рассказывают на разных курсах; какие есть скиллы, которым тяжело научиться, когда ты учишься data science или ML в рамках университета или онлайн-образования. Постараюсь уделить каждой теме по полчаса.

Сначала расскажу про рекламу, рекламные технологии, computational advertising как поле для исследований, научной и инженерной деятельности то есть, область знаний; какие задачи там бывают, и почему прикольно ими заниматься, когда есть NLP и прочие хайповые штуки, а про рекламу не так часто говорят.

Общая задача звучит так: у нас есть набор рекламодателей. Ими могут быть любые пользователи, которые хотят продвинуть знание о своем продукте, своем бизнесе. У них у всех есть свои собственные, различные цели. Кто-то желает просто показать свою рекламу как можно большему количеству человек; например, у условной Кока-колы задача сделать так, чтобы все знали про их бренд, чтобы все помнили, что такой напиток есть, что сейчас новый год, и нет другой альтернативы, кроме этого напитка, если вы идете в магазин. Другой хороший пример Fairy: сколько вы знаете других моющих средств, кроме него? Это все brand awareness; крупные рекламодатели ставят цель сделать так, чтобы у всех в голове осталось знание о том, что существует определенный продукт.

Есть другие цели. Например, более прикладные, так называемые performance-цели. Это когда рекламодатель хочет, чтобы вы перешли за рекламой и сделали какое-то действие. Например, зашли на сайт и оставили заявку на кредит. Или купили что-то в интернет-магазине. И так далее.
В целом, задача рекламы приносить новых пользователей какому-то бизнесу (так называемых лидов) и делать так, чтобы эти пользователи делали что-то полезное для рекламодателя и приносили прибыль его бизнесу.

У нас есть площадка место, где мы позволяем показывать рекламу. В случае с ВК это лента; в случае какого-то другого сайта это может быть, например, баннер. Цель площадки заработать денег на рекламе, она продает внимание пользователей за деньги. Благодаря этому ВК остается бесплатным проектом; можно было бы придумать другие модели монетизации, но рекламная модель хорошо работает для подобного сервиса.

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

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

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

Стандартный способ, который активно используется в рекламе это онлайн-аукцион. Возможно, вы видели различные варианты аукциона в реальной жизни или на Ebay, например: это может быть ситуация, когда каждый может сделать ставку. Один пользователь говорит я ставлю 10 рублей, приходит другой ставит 20, третий 100, и так далее. Но аукционы рода кто больше заплатил, тот и выиграл непрактично проводить в интернет-среде, поэтому используются аукционы закрытого типа. В таком случае каждый из участников делает ставку молча. Образно говоря, все бумажки со ставками складываются в котел, а потом кто-то приходит, разбирает их, находит бумажку с самым большим числом и говорит ты победил.

Допустим, есть два рекламодателя например, Nike и Coca-Cola. Один из них готов заплатить за каждый показ 5 копеек, а другой 10. Второй выигрывает, и дальнейшее развитие истории зависит от типа аукциона. В рекламе встречается два основных типа: аукцион первой и второй цены. В аукционе первой цены победитель платит ту цену, которую он назвал. Например, Coca-Cola говорит: Я заплачу 10 копеек, не видя ставок других пользователей; аукцион говорит ОК, 10 копеек. Nike говорит: 5 копеек, Coca-Cola выигрывает и платит 10 копеек.

Однако есть еще аукцион второй цены: в этом случае победитель должен заплатить ровно столько денег, сколько нужно, чтобы победить все остальные ставки. В нашем случае может использоваться шаг в 1 копейку, например. Представьте ситуацию: приходят те же Coca-Cola и Nike. Coca-Cola говорит: Я готов заплатить 100 рублей за показ, а Nike говорит: Я готов заплатить 1 копейку. И Coca-Cola будет очень обидно узнать о том, что она могла бы победить, заплатив 2 копейки вместо 100 рублей. Аукцион второй цены считается более честным по отношению ко всем участникам.

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

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

Однако, не тут-то было. Казалось бы, с точки зрения теории, аукцион второй цены очень хорош, и его свойства позволяют ему быть очень практичным. Но на деле, когда мы сталкиваемся с реальными системами, оказывается, что есть несколько моментов, обеспечивающих популярность аукционов первой цены почему-то люди предпочитают использовать именно их, а не аукционы второй цены. Один из двух главных моментов, про которые хочется сказать это то, что аукцион второй цены непрозрачен. То есть, когда рекламный аукцион устраивает какая-то площадка, о которой вы ничего не знаете вы просто участвуете как рекламодатель она говорит вам, что ваша ставка в (допустим) 10 копеек выиграла, и вы должны заплатить вторую цену пусть это будет 9 копеек. Эта вторая цена непрозрачна; непонятно, откуда она взялась. В целом, площадка может легко обманывать рекламодателя, делая так называемые фейковые ставки. Есть и честные механизмы дополнительных ставок например, reverse price: вы заявляете, что конкретный аукцион нельзя продать дешевле, чем за 9 копеек, и появляется такая честная ставка. Но прозрачность очень важна, и ее отсутствие отталкивает рекламодателей. Когда вы не знаете, что происходит под капотом рекламной системы, снова приходится придумывать какие-то стратегии: нельзя просто брать и использовать подход с установкой только тех цен, которые вы готовы заплатить.

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

Хочется рассказать о моментах, возникающих на фоне задач дизайна аукционов как можно дизайнить их интереснее, полезнее и так далее. Я хочу упомянуть два пункта. Во-первых, в аукционе вроде бы все должно происходить, исходя из максимальной ценности, максимального количества денег, которые заработает рекламная сеть, продавая место; однако на деле ценность, которая продается в аукционе, может для площадки выражаться по-разному не только в сумме, которую готов заплатить рекламодатель. Например, нам очень важно, чтобы пользователей не бесила наша реклама желательно, чтобы она была полезна для них. В рамках задачи дизайна аукциона приходится придумывать дополнительные метрики для ранжирования рекламы. Получается ряд метрик: ожидаемая прибыль, вероятность негативной реакции пользователя и так далее.

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

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

То есть, рекламодатель говорит: я хочу как можно больше покупок в моем магазине, потрать мой бюджет максимально хорошо. Мы, как рекламная площадка, думаем, как выделять тех пользователей, которые с высокой вероятностью купят что-то в магазине. Возникает типичная ML-задача. Бинарная классификация: 1 пользователь перешел по рекламе и что-то сделал хорошее (купил), 0 пользователь проигнорировал рекламу. Нам надо, исходя из этой задачи, построить бинарную классификацию, где на выходе мы используем вероятность полезного события как кусочек дальнейших вычислений того, какую ставку мы будем использовать на аукционе. Задача звучит очень банально в терминах ML вроде бы, бери и делай. Но в реальной жизни у такой задачи бывает множество сложностей, и я расскажу о нескольких. Главная из них это то, что реклама обычно является высоконагруженным проектом. Как по данным, так и по нагрузке. Нужно очень быстро отвечать на запрос. Окно, допустим, в 100 миллисекунд и нужно успеть ответить. Исходя из этого, на нас накладываются определенные ограничения конкретно, на то, как инженерно могут работать те модели, которые мы используем для предсказания рекламы. Можно придумать много прикольных штук, сделать сложные нейросети, которые через несколько слоев выделяют нелинейные взаимодействия между фичами, но в жизни требуется, чтобы это все работало очень быстро.

Обучается это на больших объемах данных. Задача получается высокомасштабная, с терабайтными датасетами. Исходя из этого, обычно приходится заниматься такими вещами, как распределенные вычисления, распределенное обучение модели, думать о том, какие модели вообще использовать. В рекламе традиционно используются линейные модели, типа логистических регрессий или градиентного бустинга; иногда переходят на более крутые штуки, вроде factorization machines. То есть, выбор моделей велик, но обычно используются довольно простые из-за большой нагрузки.

Другой, близкий к ML момент: у нас используются данные, которые экстремально несбалансированы по фидбеку. На 10000 нулей приходится одна единица. Как в этих условиях обучать машины ML это хороший вопрос. Приходится использовать разные трюки; основной это именно формулировка задачи: не пытаться предсказывать, будет ли клик (покупка) или нет, например, а использовать подходы, связанные с вероятностями, сглаживать по максимуму данные, у которых низкая кардинальность, и так далее. Многое можно придумать, но сложность в том, что в задаче редко происходят позитивные события.

Когда вы переходите по рекламе и что-то покупаете, вы не всегда делаете это сразу. То есть, очень часто целевые события, которых хотят рекламодатели, происходят с большой задержкой. Это может быть не только покупка например, это может быть регистрация в игре и прокачка персонажа до 10 уровня, или одобрение заявки на кредит. Такие вещи могут происходить через несколько дней. И, когда нам нужно обучать модели, которые, по объявлению, прямо сейчас должны сказать, что пользователь что-то сделает, но, по факту, позитивный фидбек мы получаем только через несколько дней после того, как что-то произошло, и это создает дополнительные проблемы. Чтобы разбираться с этими проблемами, есть несколько разнообразных решений, которые придумали в науке и в практике. Такая забавная сложность.

Еще один момент: когда пользователь видит рекламы определенных продуктов, он может соприкасаться с ними из различных маркетинговых каналов. Например, вы вышли на улицу увидели рекламный щит Такси ВКонтакте; стали листать ленту там тоже реклама Такси ВКонтакте, зашли в другой сервис и там тоже реклама Такси ВКонтакте, от рекламного сервиса Яндекса или Google. Вы говорите да я понял уже, ставите приложение. И после этого Яндексу, ВК, Google, рекламному щиту нужно разобраться, чье участие в этом процессе в полезном для рекламодателя действии составляет сколько процентов.

Этот процесс называется атрибуция вопрос распределения того, какой контакт с рекламодателем настолько сильно повлиял на ваше решение сделать целевое действие. Обычно используются простые модели например, last click attribution: последняя реклама, на которую вы кликнули, получает все призы. Но тогда оказывается, что заниматься первым холодным контактом показом рекламы пользователю, не знакомому с продуктом невыгодно. Исходя из этого, есть много разнообразных моделей ML (в том числе), которые позволяют лучше распределить профит с показов. Там используются, в том числе, фишки типа attention, некоторые более интересные штуки из нейронных сетей. Прикольная задача. И ее цель, по итогу торговаться на аукционе лучше, правильнее, корректнее и так далее.

Чем лучше вы понимаете, кто повлиял на итоговое решение о покупке, тем лучше вы понимаете, сколько в каждый момент поставить. По итогу вся индустрия идет к пониманию того, что работать с предсказанием вероятности того, что вы что-то купите, менее эффективно, чем работать с идеей степени влияния на решение о покупке. Возможно, вы и так уже были готовы купить настольную игру, на сайт которой вы зашли. Но интернет-реклама начинает вас догонять. Может быть, этой рекламы бы и не было, если бы все изначально решили, что вы и так купите эту игру, и дополнительная реклама не нужна вы уже сделали свое решение. Я вспоминаю термин incrementality testing, и все это еще связано с такой областью ML, как causal inference. То есть, мы переходим от задачи предсказания вероятности совершения целевого действия на предсказание влияния то есть, разницы вероятности того, что вы купите, увидев рекламу, минус того, что вы и так уже купили. Это тоже очень прикольный переход, переход на новую идею о том, как работать, как предсказывать какие-то события.

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

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

Теперь я перейду к ML in production. Вот вы прошли курсы по машинному обучению, или проучились в университете. Вы отличный специалист по Kegel, допустим, и офигенно щелкаете задачи по анализу данных на соревнованиях. Вы приходите в реальную компанию, где итеративно, последовательно развивается большой продукт. И здесь происходит некоторый слом. Оказывается, что у вас просто нет многих скиллов, которыми хотелось бы владеть на тот момент, когда вы приходите в индустрию. Вас никто этому не учил и не объяснял, как это работает в реальности; какие в индустрии сложности, как это не похоже на решение задач с четкой формулировкой. Если в области программирования про это еще рассказывают довольно много, то в области data science недостаточно.

С какими трудностями сталкиваются новички в продуктовых командах, которые долгое время работают над одним и тем же продуктом например, делают рекламу в ВК эффективной? Под новичками я имею в виду себя, в том числе; я четыре года этим занимаюсь и до сих пор чувствую себя нубом. Это очень сложная вещь, и в ней интересно разбираться.
Первый момент, про который хочется сказать это желание приступить к имеющейся задаче сразу с каким-то крутым прогрессивным методом, который можно найти в науке; желание придумать космолет, который сразу все сделает классно. В реальной жизни, в области продуктовой разработки, data science это место, где мы очень слабо можем предсказывать, какой метод в итоге сработает. Очень тяжело работать с изначальными продуктовыми требованиями, потому что вы не знаете путь решения проблемы.

У вас есть формулировка задачи: например, сделать систему автоматической модерации, которая должна решать какие-то изначальные проблемы. Можно побежать и найти какую-то супер-топовую статью, в которой задача решается идеально, накрутить трансформеров. А можно сделать простую эвристику, которая будет смотреть на то, сколько раз мы одобряли данного рекламодателя ранее, брать долю этого числа, сравнивать с 70%, например, и говорить: этот часто раньше одобрялся. Такая штука может сразу очень сильно помочь бизнесу, принести полезную информацию. А сложная система делается долго, и не факт, что она окупится. В data science надо очень быстро приходить к такой идее: вы постоянно работаете в режиме гипотез, не знаете, что сработает, и для того, чтобы сокращать риски и как можно быстрее доносить ценность итоговому пользователю и бизнесу, нужно заниматься задачами от простого решения к сложному. Зачастую заниматься, начиная с эвристик, без всякого ML для него может и не быть данных. Это может коробить data scientist-а, которому интересно крутить нейронные модели. Но без этого не получить изначальный baseline шажочек, от которого можно отталкиваться. Можно очень долго заниматься тем, что вообще не сработает.

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

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

Во-вторых, в любой момент может какой-то признак, или сама модель, начать работать неправильно, неадекватно. У вас есть хранилище, в котором хранятся признаки; что-то поменялось, вместо нулей начали литься null, вместо -1 стали возвращаться другие значения; или кто-то умножил эти значения на 100, потому что думал, что это проценты, а не доли. И ваша модель резко начинает работать неправильно. Вам нужно эти изменения как-то замечать. Самое прикольное качество ML-модели это молчаливая ошибка; она никогда не скажет, что что-то пошло не по плану она всегда выдаст какой-то результат, в зависимости от того, что вы ей дали. Garbage in, garbage out. За этим надо как-то следить. Исходя из этого, есть гигантское количество моментов, которые нужно отслеживать во время работы модели в production. Нужно выстраивать систему мониторинга, следить, чтобы распределение признаков сильно не менялось, и так далее. Надо понимать, что модель может в любой момент выдать полную дичь, и как-то жить в этих условиях. Что, если эти результаты напрямую снимают деньги с наших пользователей делают ставки на аукционе рекламы, или торгуются на бирже, или еще что-то? Есть большое количество способов того, что с этим делать, но про это в первую очередь важно думать.

Как, исходя из этого, меняется жизнь data scientist-а, который приходит в среду, где надо итеративно развивать модели? Как мне кажется, нужно в первую очередь быть хорошим инженером, а уже во вторую хорошим researcher-ом. Потому что твой код и твои выводы, инсайты, которые ты получаешь в ходе исследования и анализа, твои модели все, что является продуктом твоей работы data scientist-а будет использоваться не 2, и не 10 раз. Много людей будет смотреть на то, как выстроены эксперименты, как получены результаты, почему, где, как что работает, и как это используется в production. Поэтому то, чего по максимуму не хватает в людях, которые приходят в индустрию с нуля например, из университета, увлекшись темой data science, или аналитики, или ML это инженерные скиллы. В первую очередь data scientist это подвид разработчика. Он тоже работает с кодом, он тоже работает с чем-то, что работает потом в production в изменяемой среде, что используют люди. Твой код будут читать. Тебе нужно будет придумывать эффективные, хорошо поддерживаемые и тестируемые решения. Это та часть, которой большому количеству кандидатов не хватает. Поэтому, если вы начинающий человек в data science, уделите большое внимание скиллам разработчика. Тому, как писать эффективный, понятный, хорошо поддерживаемый код; инженерным решениям для того, чтобы эффективно выстраивать процессы обмена данными. Это все вам сильно поможет в карьере.

Второй совет и вторая штука, которая отличает крутых data scientist-ов от тех, которым тяжело работать это погружение в продуктовый контекст и в инженерную часть окружения вашей модели. Допустим, вы разрабатываете модель, и вам, как data scientist-у, легко сказать: Мое дело разрабатывать модель, все остальное за пределами моей ответственности. Я обучаю модельки, это мое дело. Встроит их бэкэндер, подготовит данные дата-инженер, оттестирует тестировщик, продукт-менеджер решит, как применять. Но огромное количество выводов и способов того, как сделать модель круче и ценнее, находится за пределами процесса разработки самой модели. Пример: если вы ранжируете поисковую выдачу, то вы ранжируете документы, поступающие извне; есть какой-то отбор кандидатов. Если вы знаете, как этот отбор работает, то вы можете легко понять, что узкое место в работе это не то, что модель плохо работает, а то, что на вход подаются неправильные, неинтересные, неполные документы. С другой стороны, если вы знаете, что в вашем продукте ваша модель может, при определенных обстоятельствах, работать не так, как хотелось бы, но сделать эту работу лучше очень сложно, то можно поменять продукт под модель. Можно сказать: теперь продукт устроен по-другому, теперь не пользователь вызывает модель, а модель вызывает какой-то автоматический инструмент, который координирует несколько параметров, за которыми пользователь не может следить. Идея в том, что можно менять продукт под модель, а не наоборот. Если вы погружены в эти области, то вы, как data scientist и ML-инженер, можете приносить колоссальную прибыль и пользу вашему продукту и вашим пользователям.

Возвращаясь к вопросу о том, что ML это сфера предположений. Мы никогда не знаем, как конкретно прийти к классно работающему продукту, нам приходится пробовать разные пути к финальному решению. Поэтому нужно немного по-другому выстраивать workflow работы. Зачастую людям, особенно инженерам в начальные периоды развития карьеры, кажется, что всякие менеджерские фишки SCRUM, Agile это все фигня, и они не работают. Хотя зачастую они действительно не работают, потому что используются в неправильном контексте. Например, если вы когда-нибудь попадете в data science-команду, работающую по SCRUM, вам станет тяжело и больно. Внезапно окажется, что рисерч стал тяжело прогнозируемым, и вы не будете знать, как вы придете к результату, а тут двухнедельные итерации, еще что-то, в общем, менеджмент генерирует ненужную фигню. Рабочие процессы, в рамках которых вы работаете, должны помогать вам, а не мешать. То есть, когда в data science берут и прикладывают методы из обычной софтверной разработки, это не всегда получается эффективно.

Поэтому я хочу отдельно сказать: если вы работаете data scientist-ом, и вам приходится взаимодействовать с разными людьми заказчиками, коллегами, кооперироваться по работе то вам хорошо бы озаботиться пониманием того, как лучше выстроить процесс совместной работы, самоорганизованную деятельность команды. Хороший способ понять, как это делать я бы рекомендовал обратиться в сообщество, которое называется LeanDS. Там собрались такие люди, которым интересно понять, как лучше выстраивать процессы работы над ML-задачами в условиях продуктовой разработки. Оттуда можно узнать много прикольных штук, которые люди уже придумали, и разные специалисты используют в разных компаниях. И из того, что я бы посоветовал, в первую очередь надо перейти к подходу, когда вы все задачи формулируете через продуктовые гипотезы. Когда вы не знаете, что принесет результат, но прикидываете: я думаю, что такая-то штука поможет настолько-то продвинуть пользовательские задачи, прокачать метрики, и за такое-то время это можно проверить. С такими гипотезами гораздо проще работать. Исходя из такого непонятного флоу работы, где очень тяжело прогнозировать, сколько времени займет ваша задача, когда вы придете к результату, и каким способом, на мой взгляд, очень хорошо работает Kanban. Я не буду долго про это рассказывать, просто посоветую: попробуйте посмотреть на сообщество LeanDS. Посмотрите их материалы. Я думаю, всем, кто работает в data science и сталкивается с процессами, которые перекочевали из обычной разработки, будет интересно понять, что можно делать по-другому и как использовать процессы в свою пользу.

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

Во-первых, как я уже говорил, инженерные навыки для data scientistа очень важны. Не менее, чем навыки, связанные с ML, анализом данных, теорией вероятности и так далее. В первую очередь желаю вам быть крутым инженером, во вторую рисерчером. Второе: очень многим не хватает четкого скилла переформулирования бизнес-задачи в data science-задачу. Это отдельный скилл. Это ситуация, когда нужно понять, чего конкретно от вас хочет заказчик ну, назовем так человека, который хочет, чтобы что-то круто работало. Возвращаясь к примеру с автомодерацией: чего конкретно он хочет? Ведь задачу автомодерации можно поставить очень по-разному, с разными конкретными вещами, которые мы хотим сделать лучше в нашей системе. Исходя и задачи, по-разному формулируется data science-задача; исходя из data science-задачи, по-разному формулируются оптимизируемые метрики, способ подбора датасета, оценки качества и так далее. Этот скилл очень ценен для всех data scientist-ов. Допустим, заказчик говорит, что у него модераторы не справляются с потоком обработки задач на проверку того, хороша ли реклама или ее нужно забанить с определенной тематикой. Потом вы узнаете, что есть множество разных причин бана, и при модерации надо четко их описывать, чтобы рекламодатель мог исправить рекламу. Исходя из этого, вы решаете, что надо делать какую-то многоклассовую классификацию, которая будет генерировать текст объяснения причины, и задача будет очень сложной. Но подождите может быть, задачу можно переформулировать по-другому. И оказывается, что можно концентрироваться не на том, чтобы отклонять рекламу, а на том, чтобы выбирать нужную рекламу. Если реклама хорошая ее можно просто пропускать, если плохая ее можно отдавать живым модераторам, и никакого объяснения не нужно генерировать. Исходя из этого, вы понимаете: если нужно сконцентрироваться на том, что хорошее, что можно пропускать, то надо понять, как управлять этим делом этим потоком объявлений, который будет проходить через вашу систему. Вы понимаете: ага, исходя из этой задачи, я могу выбрать ROC AUC как подходящую мне метрику, она хорошо описывает зависимость между точностью работы модели и количеством объявлений, которое будет автоматически проходить через нашу систему. И так далее. То есть, исходя из этого диалога условного заказчика и вас, как специалиста, вы можете сильно упростить свою задачу, хорошо понимая, как переформулировать бизнес-задачу в data science-задачу.

Я хотел бы рассказать об еще одной штуке, которая очень помогает. Это понимание того, какие конкретно сигналы передаются в модель, которую вы разрабатываете, в виде признаков, и как она их обрабатывает. Это скилл, который напрямую относится к компетенции команды ML-разработчиков. Почему-то очень многие кандидаты, по моему опыту, исповедуют подход ML все съест положил все в градиентный бустинг, и так сойдет. Я утрирую, но, в целом, очень классно, когда вы четко понимаете, что признак, который вы используете, несет в себе ровно ту информацию, которую вы передали, а не ту информацию, которую вы планировали передать.
Например, вы решили, что хорошим показателем того, что пользователь реагирует на рекламу, будет соотношение кликов и показов. То есть, берем количество увиденной рекламы за все время и количество кликов на рекламу, делим одно на другое и получаем показатель пользователя. В одном случае он говорит, что пользователь любит кликать на рекламу, в другом что он вообще не кликает. И передаем это число в нашу модель градиентный бустинг или линейную регрессию. Потом может возникнуть мысль: у модели же нет способа отличить тех пользователей, по которым у нас много статистики, от тех, кого мало. Единица в показателе может означать не то, что пользователь всегда кликает на рекламу, а то, что у него был всего один показ. Возникает вопрос: как представить эту фичу в таком виде, чтобы модель отличала большое количество статистики от малого? Первое, что приходит в голову положить в модель количество показов объявления. Можно просто положить количество показов, но зависимость нашей уверенности в статистике от количества показов рекламы у пользователя нелинейная. Получается, что нужно класть не просто показы, а квадрат или логарифм показов. Потом оказывается, что, если у нас линейная модель, то эти две фичи никак друг с другом не взаимодействуют. Нельзя будет делать схемы вида если у пользователя такое-то количество статистики, то мы верим ей на столько-то, используем фичу с таким-то весом. Такие связи линейная регрессия не умеет строить, но градиентный бустинг умеет. Или можно переформулировать фичу. Можно вместо сырой статистики сглаживать ее, использовать подходы из байесианских переходов, добавить какое-то априорное знание того, как пользователи кликают в среднем, и с помощью определенной формулы их смешать. И так далее. Получается, что очень важно понимать, какой конкретно сигнал вы передаете в качестве признака.

И второе очень важно знать, как этот признак будет использоваться в модели. В линейной регрессии он будет использоваться по одному, в градиентном бустинге по-другому, а, если это нейронная сеть, то она работает с другим видом данных, и как там работает контекст.
Необязательно знать, как конкретно работает модель, но нужно интуитивное понимание того, что возможно, а что нет. Это классный скилл для ML-специалиста. Если вы спросите меня, как работает какой-нибудь конкретный алгоритм в градиентном бустинге, то мне будет тяжело объяснить в деталях, но на пальцах у меня это получится. И в большинстве практических ситуаций этого достаточно, чтобы эффективно пользоваться инструментом.

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

Я хочу сказать еще может быть, мне помогут; у меня есть два выступления на митапах. Одно посвящено тому, какие data science-задачи можно делать в рекламе (и вообще, почему data science-специалистам рекламные технологии могут быть интересны как плацдарм для применения своих скиллов с интересными инженерными вызовами). А второй рассказ про ловушки, в которые мы попадали как команда ML-разработчиков системы, про то, как мы из них выбирались, и то, как вам не попадать в те же ловушки, в которые попадали мы из-за отсутствия накопленного опыта. Хочется этим опытом поделиться. Я думаю, тут можно много полезных вещей для себя выяснить.

И еще до этого я говорил про сообщество LeanDS, посвященное data science-процессам, управлению проектами data science в ML. Тоже очень советую посмотреть на их материалы, ребята делают очень крутые штуки.

Случалось ли строить полную модель воронки продаж?


На самом деле, нам не случалось этим заниматься. Но здесь очень важно, чтобы внешний рекламодатель все очень хорошо настраивал. Поэтому воронками продаж хорошо заниматься, когда вы data scientist со стороны рекламодателя. Допустим, вы работаете в крупной компании, которая работает с большим количеством маркетинговых каналов, и пытаетесь построить аналитику, которая позволит вам хорошо понять, как конкретно разные маркетинговые каналы работают, как хорошо выстраиваются воронки продаж и так далее. Нам же, со стороны ВК как системы для рекламодателей, при работе с такими штуками очень важно, чтобы у рекламодателя все было хорошо настроено. Чтобы рекламные пиксели всегда отдавали правильную информацию о том, как пользователь зашел на сайт, добавил что-то в корзину и купил. И дальше мы должны использовать эту информацию для того, чтобы делать рекламные стратегии лучше и эффективнее. Хочется этим позаниматься; мы практически этим не занимались, потому что настройка таких систем зачастую тяжело дается для рекламодателя. Наверно, проще заниматься этим, когда есть полный контроль.

И такой вопрос: как связать сущности (задать признаки) при построении модели?


Например, посетитель сайта -> клиент

Наверно, хорошо просто исходить из какой-то предыдущей активности пользователя. В целом, это делается разными способами; я могу рассказать про один, который используется при построении рекламных систем, называется он look-alike. Возможно, вы про него слышали. Это ситуация, когда мы говорим: вот пользователи, которые посетили наш сайт, и вот те, которые что-то купили. Давайте посмотрим на то, какие пользователи наиболее похожи на тех, которые что-то купили, и меньше похожи на тех, кто ничего не сделал. Когда мы обучаем такую модель, где 1 это те, кто купил, 0 те, что ничего не сделал, а условно 0.5 это те, кто зашли на сайт, мы можем научиться ранжировать всех пользователей нашей системы по похожести на потенциального клиента. Мы можем использовать это знание в нашей модели и рассказывать клиенту о том, какие признаки, с точки зрения модели, отделяют клиентов от простых посетителей.

Подробнее..

Нейробиология и карьера в науке

20.03.2021 16:14:02 | Автор: admin

На этой неделе в наших соцсетях выступала Виктория Коржова, PhD in нейробиологии в Ludwig Maximilian University of Munich.

Сейчас Вика работает Product Manager в бутик-консалтинговой компании Product People и консультирую студентов и молодых ученых по вопросам научной карьеры и ведет телеграм-канал об этом.

Вика рассказада о своей работе над изучением синдрома Альцгеймера и научной карьере в целом.




Всем привет, меня зовут Виктория Коржова. По образованию я биолог и нейробиолог, защитила диссертацию по нейронаукам в Мюнхене, в университете Ludwig Maximilian. Сейчас работаю как продукт-менеджер в компании Product People. Напрямую моя деятельность сейчас с наукой или исследованиями не связана; мы работаем с очень разными продуктами как продукт-менеджеры, которые иногда более-менее к науке или научным вопросам близки.

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

Я после школы не то чтобы хорошо представляла, чем в жизни можно заниматься. В школе про это как-то мало говорилось; я надеюсь, что сейчас у современных школьников ситуация получше, что больше разговаривают о том, чем можно заниматься в жизни, какие бывают профессии, как университетское образование связано с профессиями. Но, когда я заканчивала школу, было больше ощущение, что университетское образование это продолжение обучения, и можно выбрать те предметы, которыми вы хотите больше заниматься, больше изучать. И я выбрала биологию, потому что биология была интересна. У меня вроде бы неплохо получалось, я участвовала в олимпиадах; по сравнению с другими предметами казалось, что это более интересный предмет. Поэтому я пошла на биофак, поступила в СПбГУ, и учиться было очень интересно. Было интересно узнавать, как все устроено, как устроен мир, разные вещи в природе. Нам много рассказывали на лекциях про замечательных ученых, которые делали открытия, и я думала да, я буду ученым, буду заниматься исследованиями и делать открытия.

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

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

Потом, довольно неожиданно для меня, я перешла в другую лабораторию. Открылась новая лаборатория в Политехническом университете, и они занимались очень интересными вещами, и у них было такое оборудование, с которым я только мечтала тогда работать например, двухфотонный микроскоп. И я перешла на второй курс магистратуры в ту лабораторию. Мне повезло, что лаборатория тогда еще устраивала поездки своих новых студентов, аспирантов и научных сотрудников в лабораторию в США, которой руководил тот же руководитель, который открывал лабораторию в Питере. Я тогда поехала на стажировку в США, и получила больше опыта о том, как идет работа в разных странах. Я сделала там свой магистрский проект, в котором я занималась оптогенетикой на культуре нейронов и изучала болезнь Хантингтона.

У меня также за время магистратуры было два других опыта международной работы. На первом курсе я ездила на стажировку в Швейцарию, в Лозанну, где я изучала молекулярную нейробиологию. И после окончания второго курса магистратуры я была на стажировке в Израиле, в институте Вейцмана, где я тоже изучала молекулярную нейробиологию и морфологию.
А после этого я поступила в аспирантуру в Германии. К концу магистратуры я была уже серьезно убеждена в том, что хочу заниматься именно нейробиологией, изучать что-то в нервной системе. Мне казалось, что академические исследования это тот путь карьеры, который я хочу продолжать. Я был серьезно настроена на аспирантуру; хороших вариантов аспирантуры в России я для себя не видела по группе причин. Было мало лабораторий, которые занимались теми темами в нейробиологии, которые мне были интересны; с другой стороны, в тот момент в принципе было мало хорошо оснащенных лабораторий. Кроме того, шансов, что за интересную тему мне будут платить такую зарплату, на которую я смогу жить в Питере а я сама была приезжей тоже было мало. При этом, хотя мой опыт тогда был не очень большой в сумме я чуть больше полугода провела в разных стажировках за границей мне многое понравилось в том, как работают зарубежные лаборатории, во взаимодействиях между учеными, сотрудниками, студентами и аспирантами. Хотелось побыть подольше за границей, поработать, поэтому я целенаправленно искала зарубежную аспирантуру.

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

Кроме того, как я поняла в дальнейшем, я выбрала не самого подходящего для меня научного руководителя, с которым потом было не всегда просто работать. И оказалось, что в моем интересном проекте было много технических сложностей, на которые часто не хватало поддержки и знаний внутри лаборатории. Это было довольно сложно. И тут мне часто задают тот самый вопрос: как ты можешь давать людям советы о том, как в аспирантуру поступать, если даже сама не слишком хорошо выбрала аспирантуру? Моя позиция состоит в том, что, потому что я осознала те ошибки, которые я сделала, я могу давать хорошие советы. Я знаю, какие бывают неудачи, и понимаю, почему это происходит. Во многом мой неудачный выбор был связан с тем, что, когда я искала позицию за рубежом, мне все это казалось очень сложным. Несмотря на то, что у меня уже были стажировки, мне все равно казалось: ну, хоть куда-то меня возьмут, и уже будет хорошо. Это несмотря на то, что у меня было несколько предложений в аспирантуру из очень хороших мест. У меня все равно было много сомнений в том, что я молодец, и что можно искать то, что мне реально подходит. Мне казалось, что нужно соглашаться на то, что мне уже предлагают, и особенно не выкобениваться.

На самом деле, по реальным оценкам, у меня был хороший профиль, и я могла гораздо больше выбирать, и выбирать что-то более подходящее для себя. Но было страшно, было непонятно, и тогда мало кто давал советы по этому поводу. И поэтому особенной поддержки не было. Так что я, как человек, который прошел этот путь, пытаюсь поддержать студентов, которые сейчас ищут аспирантуру, помочь им поверить в свои силы, в то, что выбирают не только их, но и они. Они могут быть критично настроены к тем вещам, которые для них важны, и бороться с этим impostor-синдромом. Также я хочу помочь ребятам избежать тех плохих решений, которые я сделала.
Что произошло во время аспирантуры? Я поняла, что, когда ты учишься в университете и только часть времени работаешь в лаборатории, или ты работаешь на проекте, который длится всего 2-3 месяца и заканчивается, и ты снова возвращаешься на учебу, совмещенную с работой в лаборатории такая ситуация сильно отличается от того случая, когда ты ходишь в лабораторию каждый день, делаешь много рутинной работы, и у тебя довольно мало разнообразия в работе, потому что учебы как таковой больше нет. Твое основное занятие теперь это как раз рутинная работа. Когда ты учишься в университете, твое расписание гораздо более разнообразно: у тебя много лекций, разные занятия, предметы, экзамены. Все это перемежается с работой в лаборатории, получается динамичная жизнь и работа это веселит. Я поняла, что мне не очень подходит такая работа, где много научно-экспериментальной рутины: я устаю от рутинной работы, начинаю быть не очень сфокусированной и мотивированной, работать становится сложнее, мне приходится себя заставлять. Это было не очень прикольно.

Одновременно я наблюдала два других момента. Я видела, что есть мои коллеги, которым очень нравится экспериментальная работа: провести всю неделю с пипеткой в руках это прикольно для них. Они входят в какое-то медитативное состояние, и им хорошо. Другое, что я наблюдала что были у меня дополнительные занятия. Я занималась организацией разных мероприятий, организацией команд, построением разных стратегических планов, я помогала людям работать вместе эффективно и там были задачи, которые мне гораздо больше нравились. Больше было работы, связанной с людьми, которой в академии очень мало. В академии ты обычно работаешь сам с собой, и мне не хватало общения и взаимодействий.

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

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

Во многом это была интересная работа. Мне нравилось, что я много взаимодействую с учеными. Я много узнала о том, как устроена администрация, финансирование науки. Но через какое-то время снова стало скучновато. Я уже говорила про то, что в университете веселее благодаря разнообразию; я поняла, что для меня разнообразие в работе, работа с разными задачами, большее количество работы с людьми очень нравится и помогает мне быть продуктивной. А больше количество однообразной работы меня довольно быстро начинает утомлять. И я стала думать, что делать дальше.

У меня был ограниченный контракт на два года в этой администрации. Я решила, что хочу дальше работать не в академии, а в коммерческой компании. В коммерческой компании гораздо более динамическая обстановка и более прикладные задачи, которые находят применение в ближайшем времени, а не в далеком будущем. Я поняла, что это важный для меня параметр: чтобы результаты моего труда помогали людям уже в ближайшее время, а не когда-нибудь. Поэтому следующая моя работа была в коммерческой компании; опять же, было очень близко к академии, к науке, потому что эта компания делает и продает научное оборудование, оборудование для нейробиологических экспериментов таких, как те, которые я делала сама в аспирантуре. Мне хотелось продолжать взаимодействовать с учеными и при этом быть в коммерческой среде и это была идеальная ситуация, где я могла использовать свои прошлые знания, свои какие-то контакты. Мое понимание работы ученого было полезно в общении с клиентами, в поиске новых потенциальных клиентов, в том, чтобы помогать им понять, насколько наше оборудование им подойдет. В этой позиции я проработала почти год. Я занималась непосредственно продажами, digital-маркетингом, общалась с учеными, собирала фидбек от действующих клиентов, чтобы понимать, как дальше развивать продукты.

К сожалению, эту работу я потеряла во время эпидемии. Компания была маленькая, и для них это был очень тяжелый период, а я была единственным иностранным сотрудником, который работал удаленно. Мой контракт разорвали, и я стала думать окей, что будет следующее. Из моего опыта работы и дополнительной волонтерской деятельности я знала, что мне нравится, чтобы среда была динамическая, чтобы нужно было разбираться в новых темах, собирать информацию, анализировать ее, обобщать, делать выводы. Мне нравится стратегическая работа, мне нравится обдумывать, как сделать что-то лучше, мне нравится определять, как вещи устроены, как сделать их лучше. И мне нравится, чтобы результаты моего труда находили применение в реальной жизни.
Поэтому, после некоторых размышлений, я решила, что мне подошла бы позиция продукт-менеджера. Продукт-менеджер обычно работает в коммерческих компаниях на стыке разных функций; с одной стороны есть бизнес-задачи и достижение коммерческих результатов, а с другой желания клиентов, понимание того, что нужно клиентам, понимание рынка и индустрии. И немного связи с дизайном, понимания user interface это тоже важно. Поэтому я стала искать позицию продукт-менеджера, и довольно быстро нашла стажировку в компании, где я сейчас работаю. Стажировка была хорошим способом протестировать, насколько мне действительно подходит эта работа, или это не то, что я думаю; оказалось, что подходит. Я очень рада, что выбрала именно эту компанию: это консалтинговая компания, и у нас нет какого-то своего продукта. Мы работаем с разными продуктами наших клиентов, у нас очень много динамичности, очень много переключения контекста, необходимости разбираться в новой индустрии, понимать, что там важное, что второстепенное; понимать разных клиентов, понимать, как что работает. Это очень интересная динамичная среда, и сейчас я продолжаю работать в этой компании.
Я работала с разными клиентами. У нас были из клиентов логистическая компания, кибербезопасность, медицинские технологии два разных клиента, было приложение для людей, которые увлекаются яхтингом. Был клиент из недвижимости, был производитель электрических скутеров. Очень разнообразные индустрии, разные темы, которые нужно осваивать.

Q: в какие компании можно пойти биологу, которому интересна нейробиология, но в академию не особо хочется идти?

В разные компании. Я думаю, лучше думать не с точки зрения в какие компании пойти, а с точки зрения какую работу хочется иметь и какую функцию выполнять. И там уже смотреть, в каких компаниях какие функции есть.

На самом деле, что значит интересна нейробиология? Какая область? Это же очень большая тематика. Хочется заниматься нейробиологией, изучать ее, рассказывать про нее другим что именно из нейробиологии хочется, чтобы было в работе? Также полезно помнить, что не все наши интересы и увлечения должны становиться нашей работой. Мне по-прежнему интересна наука и научные открытия, но это скорее сейчас мое хобби и причина, по которой я долгое время занималась научпопом. Но я не считаю, что это обязательно должно быть моей работой.
Можно подумать: кроме того, что есть интересующая вас тематика, какие еще есть задачи, функции рабочие, которые вам хотелось бы регулярно выполнять? Что у вас хорошо получается, что вам нравится делать, где вы продуктивны, где вы чувствуете энтузиазм от задач? И потом подумать, как эти задачи совмещаются с интересующей областью или областями, чтобы увидеть, какие получаются профессии или позиции на стыке. И потом уже думать, какие есть компании.

Q: если есть вариант податься на стажировку в биотех/фармакомпании или пойти в лабораторию, то что было бы полезнее на начальных курсах биотехнологического бакалавриата?

Мне кажется, что полезно и то и другое. Лучше делать обе вещи, а не выбирать между ними. Это даст вам больше опыта и понимания этих разных областей: как работает фарма/биотех-исследование в коммерческой компании и как в академической среде. Вы сможете подумать над тем, что именно вам больше подходит. Между этими областями есть принципиальные отличия, а есть что-то общее. Из отличий я бы назвала то, насколько это прикладные исследования; нужно определить, в какой мере вам нравятся прикладные исследования. Кроме того, немного по-разному устроен рабочий день, немного разное оборудование, немного разные отношения в коллективе, в иерархии компании. Лучше изучить и то, и другое, чтобы потом было из чего выбирать.

Q: есть программистское образование и опыт. А вот хочется приложить свои навыки в пока абстрактную нейронауку. Насколько я могу быть востребован у нейробиологов?

Давайте сначала разберемся с нейронауками. Нейронауки это несколько более широкая область, чем нейробиология. Когда мы говорим про нейробиологию, мы имеем в виду, прежде всего, изучение животных; на втором месте изучение человека. Если мы говорим про человека это изучение работы нервной системы на клеточном или молекулярном уровне. Если мы говорим про животных это как исследование поведения, так и клеточный и молекулярный и системный уровень исследований; в основном экспериментальная работа в лаборатории, то, что называется wet lab. То есть, эксперименты с пробирками, жидкостями, микроскопами.

В нейронауке также есть cognitive neuroscience когнитивные науки, когнитивная психология, когнитивные нейронауки. Когда мы говорим про когнитивные исследования, мы имеем в виду исследования человека; может быть, в какой-то степени также высших приматов, где мы исследуем по большей части поведение и какие-то основы этого поведения в мозгу, но на высоком уровне. То есть, человека нельзя вскрыть, его можно только целиком изучать. И мы можем с помощью неинвазивных методов измерять активность его нервной системы и соотносить это с его поведением и восприятием окружающей среды. Это исследования с помощью электроэнцефалографии, функционального МРТ, магнитной энцефалографии, просто поведенческие эксперименты.

Где можно применять программистское образование и опыт? С одной стороны, можно применять в когнитивных нейронауках. Для того, чтобы анализировать данные с этого всего оборудования (ЭЭГ, ФМРТ и так далее) и соотносить их с поведением, нужно много программировать. Это анализ больших, сложных данных. Большие массивы данных также есть в некоторых нейробиологических экспериментах, которые касаются молекулярной биологии там тоже востребовано программирование. Поэтому тут много вариантов. Я думаю, что вы можете быть востребованы в зависимости от того, что вы хотите получать в обмен на свой труд; чем меньше вы хотите получать, тем больше вы будете востребованы.

Постарайтесь понять, какие вам конкретно интересны тематики. Когда вы говорите про нейробиологию или нейронауку про что вы думаете, какие темы в вас зажигают интерес? После этого поищите научные группы в академии или исследовательские группы вне академии, если они есть (зависит от тематики если тематика достаточно прикладная, то они должны существовать). Обратитесь к ним, спросите, что они думают, какие у них потребности, можете ли вы им помочь.

Q: какие советы можете дать тем, кто только-только собирается поступать в магу за рубеж и начинать свой академический путь?

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

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

Не бойтесь ничего. Пробуйте. Помните, что точно не поступают за рубеж только те, кто никогда не пробует. Люди, которые хотят, при приложении усилий и времени, рано или поздно находят варианты. Конечно, зависит от того, насколько у вас хороший и готовый профиль, насколько у вас хороший бэкграунд, насколько у вас хорошие оценки. Шансы поступить за рубеж есть у всех, но иногда на это нужно приложить больше времени и усилий. Все возможно. Не бояться и пробовать однозначно стоит.

Q: на каком курсе вы впервые поехали на стажировку?

Я поехала на стажировку после первого курса магистратуры. Я пробовала подаваться на 3-4 курсах бакалавриата, но меня не взяли может быть, потому что мои заявки не были хорошо написаны. К первому курсу магистратуры я поняла, как лучше писать. Опять же, мне кажется, сейчас студенты находятся в гораздо лучшей ситуации: когда я училась в бакалавриате, еще были 2007-2011 годы. ВК только появился, там особенно не было полезной информации, мало говорилось о зарубежной стажировке. Интернет был не так доступен, как сейчас; сложно представить, но на первом курсе бакалавриата у меня даже не было компьютера я пользовалась интернетом в библиотеке университета. Многие вещи тогда были менее известны, и было сложнее. Российские студенты меньше ездили на европейские, американские или азиатские стажировки; меньше было тех, кто уже это сделал они где-то были, но никто их не знал, и никто не давал никаких советов. Опять же, одна из причин, почему я стала рассказывать про это, весть какую-то просветительскую деятельность для студентов чтобы больше людей имело возможность попробовать, определить, нравится им это или нет, получить опыт кроме того, что уже есть в университете.

Q: когда нужно начинать планировать научную карьеру? какую специальность желательно изучать на бакалавриате, если ребенок хочет заниматься генетикой?

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

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

Генетика бывает разная. Важно понимать, что не будет 100% совпадения между тем, что человек изучает на бакалавриате и тем, чем он потом будет заниматься, и это нормально. Есть смысл идти на специальность, которая интересна и которую можно изучать на хорошем уровне. На самом деле, не по всем специальностям есть хорошие вузы особенно есть ограничиваться регионально. Если человек не может уехать учиться в Москву или Питер, то остается гораздо меньший выбор специальностей из региональных вузов. Стоит делать выбор скорее в сторону более хорошей подготовки, чем в сторону 100% совпадения с интересующей специальностью.

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

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

Q: какие советы можете дать провинциальным студентам, которые хотят в науку? Стоит ли на первых курсах переживать по поводу отсутствия возможности участия в конференциях/практики в лабе?

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

Q: есть ли смысл (и полезно ли это) подаваться на летние стажировки после первого курса, если у тебя не идеальные средние баллы? (но есть олимпиадные заслуги, правда, не на международном уровне)

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

Q: можно ли совершить подобный путь: программист -> доп. образование Института биоинформатики -> Сколтех или другой вуз -> развиваться в сторону нейроинтерфейсов / нейрофизиологии? Я на втором курсе бакалавриата сейчас

Если отвечать прямо на вопрос конечно, такой путь можно совершить. Если вы хотите спросить что-то более конкретное, что я могла бы подсказать по поводу этого пути напишите, пожалуйста, более конкретный вопрос. В широком смысле, в нейронауках работают люди с очень разной изначальной подготовкой. Люди с computer science, биологи, программисты, физики, психологи, инженеры. Бакалаврская специальность не является жестким ограничением, если она все-таки из областей STEM наука, технологии, инженерия, медицина. Из всех этих областей можно легко перейти в нейронауку.

Q: так чем интересна ваша биография, помимо стандартного пути после PhD ушел продавцом оборудования? И того, что вам повезло с лабораторией, которая отправляла сходу на стажировки?

Я не знаю. Я и не говорила, что моя биография чем-то интересна.

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

Q: существует ли удаленная работа в мире биотехнологий и биоинформатики?

В биоинформатике 100%, вы работаете с компьютера из любого места. В мире биотехнологий смотря, чем вы будете заниматься. Если по биотехнологиям вы поднимаете работу промышленно, там есть разные аспекты; есть работа на производстве, есть R&D мокрая биологическая работа, которую можно делать только в лаборатории. Но есть также много работы, связанной с анализом данных, которую можно делать удаленно но она стоит ближе к биоинформатике. Также бывают работы, связанные, например, с анализом литературы то есть, надо читать эту литературу, вычленять важную информацию. Это очень важно в биотехе и фарме, и это тоже можно делать удаленно. Прежде, чем фармкомпания займется поиском нового лекарства, нужно узнать, что уже было в литературе по этому поводу, какие есть предполагаемые потенциальные вещества и для этого нужно, чтобы аналитик сидел и читал научные статьи.

Q: как начать академическую карьеру, если ты из очень слабого по науке ВУЗа, и поступил в аспирантуру в другой хороший ВУЗ, но к плохому руководителю?

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

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

Q: не надо идти в аспирантуру, нужно идти в НИИ

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

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

Q: как часто после русской магистратуры можно поступить в зарубежную? Направления смежные или одинаковые, когнитивные науки

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

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

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

Q: вы упоминали негативные комментарии на хабре, как бы вы посоветовали справляться с негативом публичному спикеру?

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

Q: можно ли экстраполировать опыт поступления в аспирантуру по нейробиологии на другие специальности?

Экстраполировать какой-то опыт одного человека можно только в ограниченной степени.

Q: встречаю много историй / советов от том, как поступали в областях биологии / медицины / и. т.д., но о своей специальности нахожу мало информацию. Общие шаги поступления одинаковые или есть отличия?

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

Q: насколько важно крутое CV при поступлении в магу? Я скоро выпускаюсь и переживаю, что за период бакалавра не было ни статей, ни конференций

Ничего страшного, что не было статей и конференций. Такое бывает. Поступить в магистратуру можно без конференций и тем более статей; статей для поступления в магистратуру никто не ожидает.

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

Q: [продолжение вопроса о плохом руководителе] В нашей лабе это невозможно есть ли смысл менять город?

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

Q: кстати, что там у вас была за идея про БП и белки теплового шока? Я как-то не видел литературы о связи патогенеза БП с этими белками. Или это предполагались биомаркеры для диагностики? Я недопонял

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

Q: как при поступлении на PhD реагируют на год работы после вуза?

Нормально реагируют в Европе, Америке, Великобритании. Люди далеко не всегда идут в аспирантуру сразу после магистратуры. Они работают иногда в лабораториях как research assistant, или даже в индустрии какое-то время год, два и потом все-таки решают поступать в аспирантуру.

Q: можете поподробнее рассказать конкретно про вуз (Ludwig Maximilian University of Munich): что вам в нем понравилось/нет?

Я не могу подробно рассказать, потому что для аспиранта вуз это не такая важная вещь, как лаборатория. Лаборатория, в которой я работала, находилась даже не в самом вузе, а в научном институте. Формально я была аспирантом этого университета и проходила какое-то количество курсов в нем, но это совершенно не соответствует опыту студента, который учится в бакалавриате или в магистратуре. Вообще, это очень сильный вуз один из топовых в Германии по life sciences; собственно, он входит в топ-2 вместе с Техническим университетом Мюнхена и соревнуется с ним за первое место. Они отличаются программами; скорее, важнее смотреть учебную программу и выбирать вуз, исходя из этого, а не из каких-то других параметров.

Q: если выбирать между отличным средним баллом и работой в лаборатории / стажировкой, то что лучше выбрать?

Лучше ничего не выбирать. Но тут еще не хватает информации: зависит от того, что вы хотите делать, и средний балл на каком этапе учебы? Если мы говорим о поступлении за рубеж, то средний балл будет иметь значение. Но также будет иметь значение ваш опыт работы и стажировки. Поэтому, по возможности, не стоит ни на что забивать. Это как в вопросе с документами. Один из параметров, по которым студентов выбирает это удалось ли студенту учиться достаточно хорошо, но достаточно хорошо это не означает отличный средний балл. В Германии этого почти никогда не бывает; самый высокий балл это 1.0, и студентов, которые получают 1.0 по результатам магистратуры только несколько процентов по всей Германии.
Работать в лаборатории однозначно нужно. И нужно стремиться не просто проводить там больше времени, но и делать осмысленную работу. Если вы приходите туда 5 дней в неделю и работаете по 8 часов, но вам не дают никакие настоящие экспериментальные задания, а дают (условно) мыть пробирки, то это для вас и вашей карьеры бесполезно. Если вы приходите 2 дня в неделю по 4 часа, но у вас есть проект, который вы постепенно продвигаете делаете эксперименты, получаете данные, анализируете, осмысляете то у вас будет опыт настоящей исследовательской работы, который вам потом пригодиться. Поэтому думайте о том, как в лаборатории делать осмысленную работу и учиться, а не просто проводить время.

Q: учусь в не очень хорошем вузе, 1 курс, что лучше: переводиться сейчас в вуз сильнее или остаться и поступать уже в магистратуру? Когда стоит готовиться к поступлению в магистратуру? Неудачный опыт поступления в бакалавриат, не хотелось бы повторить с магистратурой

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

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

Q: подтвердите или опровергните любимое утверждение российских либералов от науки: на западе вся наука делается в вузах, никаких НИИ и академии наук там нету, это пережиток совка

Академии наук есть, хотя они выполняют совершенно другую функцию, чем в России. Надо сказать, что в разных странах академии наук выполняют различные функции но, в основном, это более репрезентативная функция; это, скорее, про почетность. Стать академиком в Германии почетно, но академия наук не занимается распределением финансов, у нее нет своих институтов, ее функция скорее, репрезентация ученых в государстве и в общественном поле.
НИИ, естественно, есть. В разных странах они устроены по-разному, и финансируются из разных источников. Например, в США есть частные институты (и университеты тоже), которые финансируются из частного капитала. В Германии есть четверка больших сообществ: сообщества Макса Планка, Гельмгольца, Лейбница и Фраунгофера. Они имеют смешанное финансирование государственное и из частного капитала.

Так что НИИ есть, и у них бывает различное устройство и финансирование. То, что вся наука в вузах это, конечно, неверно.

Q: а наука в частных компаниях?

У частных компаний есть R&D с разной степенью прикладных вопросов и с разной степенью возможности работы над неприкладными вопросами. Например, в Google есть отдел, который занимается квантовыми компьютерами, хотя эти компьютеры пока не могут решать никаких задач и неизвестно, когда смогут. Это исследование, идущее на пользу науке.

Q: R&D отделы коммерческих компаний не совсем то, никто не даст вам публиковать результаты, например

R&D могут публиковать результаты. Зависит от того, что это за результаты и как они могут быть использованы. Компании публикуют клинические исследования, например.
Опять же, защитив патентом какое-то открытие, компания может обезопасить себя и потом опубликовать данные, если они имеют исследовательскую ценность.

Q: а насколько важно для работы в области нейронаук иметь профиль магистратуры такой же

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

Подробнее..

Как бросить нелюбимую работу и прочно войти в АЙТИ

01.05.2021 12:14:42 | Автор: admin
На этой неделе в наших соцсетях выступил Николай Сладкий, один из создателей SamaraITCommunity.

Николай, Senior Serverless JavaScript Developer в Voximplant обладает восьмилетним опытом работы с бек- и фронтендом, влюблен *nix- подобные системы, vim, чистый код, архитектурные подходы и open source, как лучшее, что случилось с человечеством. Он один из создателей SamaraITCommunity (сильно причастен к появлению GrindConf, VolgaHack, подкастов SITCast и SITalk), а также он входит в команду авторов проекта Джуность.

Делимся с вами расшифровкой эфира и записью.



Меня зовут Коля, фамилия моя Сладкий. Мне 29 лет, я разработчик, работаю сейчас на позиции Senior Serverless JavaScript Developer в компании Voximplant, занимаюсь движком Voxengine это serverless-платформа. Я занимаюсь разработкой уже около 7.5 лет, почти 8; мои основные инструменты на данный момент языки JavaScript и Go. То есть, на JavaScript мы делаем serverless, а на Go, когда нужно, докидываем перфоманса.

Несколько слов о себе. Я занимался и backend, и frontend, то есть, я full stack web developer, хотя больше backend-based. Как я уже говорил, это почти 8 лет опыта. Я являюсь devops culture addict-ом, то есть, я пропагандирую, что нужно везде докидывать operations, куда только можно, чтобы максимально автоматизировать процессы. Являюсь технологическим евангелистом, в частности, я очень сильно топлю за NodeJS ну, тоже в каких-то разумных пределах. NodeJS это очень классная технология. Ещё я занимался архитектурой, построением web-приложений, работал тимлидом. Работал техническим директором в двух компаниях в стартапе и в более крупной компании, которая называется Mechanica (раньше она называлась ANMEDIO).

Много занимаюсь разной общественно-полезной деятельностью я думаю, это можно так назвать. Есть независимое сообщество разработчиков Самарской области Samara IT Community, мы его когда-то сделали вместе с другими ребятами, теперь оно активно развивается без особого участия с нашей стороны (мы больше модерируем). В рамках нашего комьюнити мы делали интересные мероприятия, у нас была конференция GrindConf, несколько раз мы делали хакатон VolgaHack. Еще мы записываем подкасты SITalk и SITCast. Также я стейкхолдер и один из создателей проекта Джуность.

Это проект для обучения, и он так называется потому, что его главная идея в том, чтобы всегда как бы быть джуном и жить в погоне за новыми знаниями, за развитием. Еще я влюблен в *nix-подобные системы (так исторически сложилось), очень люблю vim, топлю за чистый код, чистую архитектуру, чтобы все было понятно, чтобы все легко читалось. Я топлю за open source, у меня есть много всего интересного по open source, я сам пишу open source меня можно найти в GitHub. Вообще, я считаю, что open source это одна из лучших вещей, что случились за все время существования IT-технологий.

Почему я рассказываю про войти в IT? Наверно, должна быть какая-то подоплека. На самом деле, она есть: дело в том, что я два года своей жизни проработал в полиции, а именно в уголовном розыске. И в 2014 году я начал изучать программирование это было сложно, странно, но я это сделал и поэтому могу вам что-то рассказать об этом. Через 7 месяцев после того, как я начал изучать программирование с нуля, я нашел свою первую IT-работу. Это не была работа супер-программистом: было что-то вроде вебмастера (поддержка сайта, SEO, контекст). С тех пор прошло уже почти 8 лет, я занимаюсь любимым делом, и всем советую. Я прошел тот самый путь, который предстоит пройти каждому человеку, который хочет войти в IT. Конечно, этот путь не будет 1 в 1, и конкретно мой опыт может быть нерелевантен для другого человека. Однако, скорее всего, я знаю многие из подводных камней, с которыми предстоит столкнуться, и на эту тему мы поговорим, порассуждаем и сделаем выводы. Возможно, я сегодня кому-то смогу помочь. Если хотя бы одному человеку это будет полезно уже день не зря пройдет.

image

Поговорим про сферу IT в целом откуда у нее такая популярность? Мы не будем углубляться в детальную историю развития, а поговорим про то, что происходит сейчас в плане рынка, маркетинга, денежной составляющей популярности. Поговорим про то, как войти в IT и стать программистом это будет самая длинная секция, на нее мы потратим больше всего времени; я буду рассказывать именно про программирование, потому что так исторически сложилось, что я программист, и мне это ближе. Я расскажу немного про свой путь; возможно, кому-то это будет интересно или даже релевантно. У меня есть много знакомых, которые до сих пор работают там, где я работал, или в смежных структурах, и хотят изменить свою жизнь, но им чего-то не хватает для того, чтобы это сделать. Поэтому расскажу, как у меня это было.

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

Итак, поговорим немного про IT. Есть такая интересная фраза даже не помню, где я ее слышал: У вас должна быть очень серьезная причина, чтобы в 2021 году работать не в IT. Это шутка, конечно, но в ней есть большая доля правды. Уже в 2020 году а сейчас уже 2021 год IT было везде. То есть, IT проникает во все сферы. Уже нельзя сказать, что IT это какие-то отдельные технологии, сейчас это образ ведения бизнеса. Бизнес меняется до неузнаваемости. И для его правильно функционирования, роста и развития ему приходится уходить в сферу IT.

Мы прошли с вами через серьезное испытание, которое для нас еще даже не закончилось, а для многих стран оно вообще только начинается. Но, тем не менее, мы сейчас уже более комфортно чувствуем себя в этих условиях. Возьмите это же время год назад март, апрель; помните, что происходило, когда объявляли локдауны и все уходили на удалёнку? Было сложно, но, в основном, все сферы побеждают это. Даже сейчас мы с вами сидим я сижу в одном месте, вы смотрите меня, возможно, из другого города или страны и делаем это с помощью интернета, с помощью той самой IT-сферы. И нам это удобно. Получается, что так же мы можем работать. Люди созваниваются через Vox, через другие сервисы так можно коммуницировать друг с другом, общаться, работать, зарабатывать деньги. Сфера здоровья точно так же сейчас уходит в IT, и вообще весь госсектор, все госуслуги это делают. Есть тот же самый сайт госуслуг, где сейчас можно, зарегистрировавшись и подтвердив аккаунт, записываться к врачу, например, а с мая можно будет даже перерегистрировать автомобиль при продаже; то есть, кучу всего можно делать. Доставка опять же, на локдауне мы все это очень здорово почувствовали, и сейчас продолжаем пользоваться. Это очень здорово, очень удобно, когда не нужно выходить из дома, чтобы купить еду, купить другие вещи, сделать что-то еще мы можем полностью удаленно это делать. Эквайринг, удаленный эквайринг или обычный безналичный расчет как часто мы с вами сейчас пользуемся обычными физическими деньгами? Они уже просто не имеют такого смысла, какой в них вкладывался раньше. Транспорт, вся e-commerce, все гаджеты, которые мы носим в кармане это все тоже IT. То есть, все сферы сейчас завязаны на IT, а IT на всех сферах. Мы с вами уже непосредственно работаем в сферах, которые не могут без IT либо в сферах, без которых само IT не может обойтись. Это замыкается рекурсивно на том, что все сферы не могут без IT.

И все это произошло, в первую очередь, благодаря развитию интернета. Многие люди не задумываются о том, насколько интернет мощное оружие, насколько это классная и крутая вещь в современном мире. Это далеко не только Facebook, Instagram и TikTok; люди обычно просто не думают об этом, но, на самом деле, интернет сейчас это в первую очередь работа. Все вышеперечисленные сферы, про которые мы с вами говорили, сводятся в итоге к рынку. А рынок существует для того, чтобы зарабатывать деньги. То есть, интернет это наше главное оружие для того, чтобы зарабатывать деньги. И для того, чтобы делать вещи, нужен только ноутбук, выход в сеть и какие-то скиллы. Получается, что запросы бизнеса уходят в сеть: тот бизнес, которого раньше не было в интернете ему там, допустим, нечего было делать в 2021 году должен там быть. Если его нет в интернете, то, скорее всего, его самого уже нет, или не будет он постепенно деградирует и умрет.

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

И эти люди это мы с вами. Так же, как я интересовался в 2014 году, и как вы интересуетесь сейчас скорее всего, если вы пришли на эту лекцию, то вам это интересно. Я сразу оговорюсь, что я никакой не коуч: я обычный программист, который пишет код. Я просто в свое время уже прошел этот путь, и мне хочется поделиться с людьми. Я не рассказываю, как надо; возможно, у вас будет не совсем так, или совсем по-другому. Но я стараюсь мыслить логически, и у меня много знакомых, которые уже прошли этот путь, или собираются его пройти. Я думаю, если мыслить логически, то можно сделать из этого какие-то выводы, и в этом состоит наша сегодняшняя цель. Потом вы сможете еще раз все обдумать и уже сделать какие-то выводы для себя.

Давайте представим абстрактного персонажа Петю, который хочет войти в IT. Пусть он будет примерно нашего с вами возраста. Важная оговорка: возраст не слишком важен, и, если вам 35-40-50 лет, я не думаю, что вас это остановит. Конечно, будет чуть сложнее по ряду причин, но это не будет невозможно. Итак, Петя нашего с нами возраста, он так же пришел сюда, чтобы узнать для себя что-то новое, и, конечно, он хочет войти в IT. Он хочет стать программистом, потому что это популярно сейчас и он будет обязательно программистом, это его путь, он его выбрал для себя. Что он знает о программировании? Он знает, что это популярно. Потому что работы действительно много, отрицать это глупо; у нас есть вакансии, есть Headhunter, где мы можем их посмотреть, мы постоянно слышим новости, мы приходим в бар и слышим, как программисты общаются друг с другом о странных вещах. То есть, это действительно популярно. И мы знаем, что это хорошо оплачивается. По крайней мере, про космические зарплаты сейчас, опять же, из каждого утюга вещают, мы не можем пройти мимо этого об этом громко говорят громкими словами.

Еще Петя постоянно натыкается на рекламу курсов. Я думаю, так у всех сейчас мы постоянно натыкаемся на рекламу курсов, где из нас обещают сделать программиста за 3 месяца (недели, дня, часа). И Петя задумывается о том, чтобы попробовать. А почему нет он молод (ну, или не очень) и полон сил, он может совмещать текущую работу с обучением, если постараться, и он не совсем тупой. Тут без обид, но мы должны прекрасно понимать: тут нужно будет думать головой. Думать надо везде, конечно, но в IT чуть-чуть побольше, наверно. У Пети есть какое-то образование; это необязательно, но, скорее всего, если у тебя есть образование, то оно научило тебя учиться, и ты знаешь, что это такое. То есть, ты готов дальше самостоятельно обучаться. И еще Петя умеет в компьютеры ну, потому что это все-таки IT, а в 2021 году надо уметь в компьютеры хоть как-то. Хоть серфить Интернет. Есть еще нюансы; ну, Петя понимает, что он не самый умный, хотя и не самый тупой (опять же, без обид), и у него нет профильного образования, хотя бы технического; с техническим образованием будет проще, конечно, а с профильным вообще другая история. Но у Пети этого нет. И, самое главное, он боится, переживает; это довольно тяжело взять и сменить профессию. Но он решает попробовать.

image

И сейчас Петя будет задавать вопросы, а мы будем стараться ответить (это те самые вопросы, которые были в анонсе):
Q: Когда стоит менять профессию?
Очевидно когда ты ненавидишь свою работу. Если ты каждый день ходишь на работу, которую ненавидишь не будешь же ты туда ходить всю жизнь. Нужно что-то менять. Еще если ты не готов всю жизнь заниматься тем, чем занимаешься сейчас. Потому что, опять же, сложно просто прожить всю жизнь; это что получается родился, потерпел и умер? Это странно.

Если он готов к тому, что это будет очень трудно, и нужно будет потратить много времени. Будем честными программистам платят деньги, но платят не за просто так. Это сложно. Это не невозможно; это не rocket science мы не запускаем ракеты в космос (ну, большая часть из нас не запускает), но это потребует очень много усидчивости, времени и сил.
И если ты готов рискнуть своим временем. Потому что, опять же, почему бы и нет. Ты просто принимаешь это решение для себя, это твоя ставка.

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

Q: Стоит ли идти в IT?
Стоит, если ты понимаешь, что это будет очень сложно. Поначалу будет сложно, потом еще сложнее, потом еще сложнее, потом начнет немного отпускать, когда ты уже начнешь понимать, как что-то делать, и разбираться, как что работает.

Тебе нужно идти в IT, если ты технически подкован и ты не боишься этой вашей математики. Про математику мы еще поговорим позже, но, в целом, нужно понимать, что математика здесь присутствует. Не очень сложная, но, тем не менее, без нее никак не получится.
Если ты готов тратить все свободное время на обучение. Если ты учился в университете, ты знаешь, как проходят эти 5 лет. А если ты учился на заочном, ты ещё и прекрасно понимаешь, что такое учиться самостоятельно, когда тебе дают только материалы и показывают роадмап для продвижения. Здесь будет то же самое: ты будешь тратить очень много времени на обучение. Если тебе хочется тусить, то, наверно, это история не для тебя. Но если бы готов вкладывать свое время в обучение, то действуй.

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

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

Q: Хорошо. Ты решаешь стать программистом, тебя пока ничто не пугает. Какое направление выбрать?
Вот здесь начинается интересное. Что мы знаем про направления в программировании? Есть web frontend это HTML, CSS, JavaScript и иже с ними; построены популярные фреймворки React, Vue, Angular. Это более простой путь; не сказать, что все совсем просто бывают разные задачи по степени сложности и в рамках одной профессии.

Мы сейчас будем идти сверху вниз, и каждое следующее будет сложнее по моему собственному мнению. После frontend у нас идет backend именно web-based backend. Это NodeJS, PHP, Go, это всякие Express, Laravel и прочие фреймворки, построенные на этих технологиях. Также у нас есть enterprise backend это Java, C#, то есть, то, про что все слышали. Здесь есть Spring, .NET технологии, на которых строят большие корпоративные приложения, большие распределенные сложные системы. Это банковская сфера и так далее.
Дальше у нас есть mobile development разработка под мобильные устройства. Она сейчас на пике популярности, потому что есть Kotlin, Swift, Dart это три языка, которые больше всего под мобильную разработку заточены. Здесь прямо волна хайпа, однако это довольно сложно.
Также есть направление data science, machine learning работа с данными, обучение нейросетей. Это Python как язык программирования, платформы на нем всякие GPT3, TensorFlow и прочие интересные решения от серьезных игроков, мировых корпораций, которые делают машинное обучение. Это сложно, но очень интересно.

Направление геймдева разработки компьютерных игр считается самым классным и кайфовым, конечно. Я прямо по себе помню когда-то я думал, что буду разрабатывать игры, и это будет классно. Была такая идея. Но, когда я начал этим заниматься, я понял, что это совсем не весело. Если ты сам любишь игры скорее всего, тебе совсем не понравится, что под капотом в разработке компьютерных игр. Языки программирования скорее всего, самые хайповые сейчас C# и C++, потому что на C# построен игровой движок Unity, а на C++ Unreal Engine и множество разных физических кишков, хотя используются не только эти языки и платформы.

Сложное направление, на которое нужно учиться и учиться, потому что здесь нужна хорошая математика это алгоритмы и структуры данных. Именно разработка и оптимизация: всякие карты, геолоки и прочие штуки, где надо по графам считать кратчайшие пути, например.
Есть еще более сложные вещи например, сферы, связанные со сложным перфомансом, со сложными расчетами. Какие-нибудь кишки крипты или просто блокчейнов, которые будут написаны на специализированных языках программирования, например, Solidity (высокий уровень) или Rusty (низкий уровень), но это уже сложно.

Я бы советовал думать больше про первые 3-4 направления. Может быть, ещё data science на Python. То есть, web-контент, web backend, enterprise backend, mobile development плюс data science / machine learning.

Q: Что там с зарплатами на рынке, деньги платят?
Деньги платят, да. Зарплаты есть. Но я не буду приводить цифры. Во-первых, они просто гуглятся: реально, достаточно зайти на headhunter. Иногда работодатель скрывает зарплатную вилку, но среднюю температуру по больнице определить просто из 150-200 вакансий будет 15-20 с открытой зарплатной вилкой, можно посчитать среднее и определить, сколько денег платят тому или иному специалисту в той или иной области. Во-вторых, они сильно разнятся по регионам если я буду рассказывать про московские зарплаты, а вы сами из солнечного города-курорта Самары, то получится несоответствие. Но, опять же пандемия, удаленка, все это вот. Можно и московскую зарплату найти удаленно, и работать удаленно же на заграничную фирму это тоже не проблема. Все зависит от скиллов, от своих умений, от умения себя продавать, что тоже немаловажно. Умение проходить собеседования, подать себя и повысить где-то свою зарплатную вилку это тоже очень здорово, нужно понимать это.

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

И нужно понимать, что, как сказал дядя Бен, большая сила это большая ответственность. Чем больше тебе платят, тем больше ты должен делать, тем более сложные у тебя задачи. Или не чем больше платят, а чем более высокая позиция не обязательно все в деньгах представлять. Для кого-то деньги не первостепенны: может быть, кто-то просто хочет самоутвердиться, добиться чего-то для себя в жизни. Стать лидом, например, или руководить вообще большой компанией быть CTO или solution architect. Многие люди работают именно ради этого, а не ради денег. Я сам знаю много людей, которые работают именно по такому принципу: для них деньги это, конечно, хорошо (можно вкусно покушать, если они есть), но они не самое главное, что есть на рынке.

Q: Где учиться?
Наверно, в 2021 году это самый сложный вопрос. Казалось бы, все должно быть наоборот; когда я начинал учиться в 2014 году, не было такого большого количества информации, какое есть сейчас, ее приходилось где-то выискивать. Я даже не представляю, как в каком-нибудь 2010 году учились самоучки. Сейчас информация в избытке, но это и является главной проблемой. Ее слишком много. Как в этой информационной буре найти то, что нужно тебе, и что не просто потратит твоё время и высосет деньги на платные курсы, а будет иметь хорошее соотношение цена/качество? При этом цена здесь учитывается не только в деньгах (может быть и бесплатно), но и в затратах времени.
Я думаю, самый лучший совет, который здесь можно дать это найти знакомых, которые уже есть в этой сфере. Если у вас есть такие знакомые можно с ними пообщаться, попросить у них материалы и советы, хотя бы по тому, по чему мы уже сегодня прошлись, по тем же самым сферам и выбору будущей профессии в IT. То есть, чем вы хотите заниматься, каким программистом хотите быть frontend, backend, data science. Лучше посоветоваться с кем-то, кто в этом реально шарит, кто в сфере уже хотя бы несколько лет 3, 5, лучше больше. Вам дадут советы, дадут материалы.

В дальнейшем с этими людьми можно договориться о менторстве, или просто о code review; чтобы вы, что-то написав, показывали им, а они отвечали: чувак, здесь надо все переделать, а вот здесь хорошо, делай так, а тут чуть-чуть поправь. Тогда вы будете лучше, быстрее и качественнее обучаться. Но внимание, это очень важно не приставайте к этим людям слишком сильно. Не просите научить вас всему, не требуйте от них чего-то. Старайтесь как можно меньше тупить и не доставать их вопросами, особенно теми, которые сами чувствуете себя в состоянии нагуглить. Я знаю по себе я был тем человеком, который доставал своими вопросами. Я был и тем, которого доставали, но я всегда говорил об этом: успокойся, я не твоя мама, я не буду сидеть с тобой за тетрадками и решать твои домашние задания; я могу тебе помочь, подсказать, но ты должен делать это все сам. Поэтому мой вам совет не доставайте этих людей. Если вы не будете их доставать, если это ваш хороший товарищ и отзывчивый человек, то ему будет даже приятно с вами это обсуждать, разговаривать. Еще важный момент: когда программист, инженер кому-то что-то объясняет, он сам как бы заново это проходит и начинает в этом еще лучше разбираться. Поэтому, если вы не будете сильно доставать собеседника, он, скорее всего, сам будет хотеть общаться.

К сожалению, легко нарваться на ерунду в сети, если вам никто не помогает. Сейчас масса плохих платных предложений менторов, курсов, некачественных книг, на которые можно наткнуться и потратить время впустую. Плохих материалов, наверно, даже больше, чем хороших, поэтому и хорошо спрашивать у того, кто в теме. Хотя я бы не сказал, что тут 90 процентов грязи и только 10 годноты; наверно, соотношение чуть похуже, чем 50 на 50. Старайтесь показывать тот материал, который вы находите, своему другу, который вас менторит или общается с вами он вам даст свой фидбек на этот материал. Это будет здорово.

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

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

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

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

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

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

Q:По поводу математики, английского языка и профильного образования. Нужна ли математика программисту?
Я как-то раз в начале своего пути общался со своим товарищем, очень хорошим программистом, и задал ему этот вопрос. Он сказал: а нужна ли продавцу математика? И, вы знаете, это очень глубокая мысль такое маленькое семечко, из которого может вырасти огромное дерево. Математика нужна вообще всем математика везде вокруг нас. Я это понял потом, когда начал заниматься, поднял заново и переосмыслил школьные знания. Получается, что, конечно, программисту нужна математика. Но она нужны и продавцу иначе он не сможет работать, деньги считать. Она нужна всем без исключения, и надо понимать, какой именно уровень математики нужен. Я скажу так: если вы выберете какое-то из доступных направлений (web frontend/backend), то там не будет чего-то особенного. Вы не будете запускать ракету в космос, никто от вас этого не потребует, особенно в самом начале. Никто не будет сразу давать суперсложные задачи, они все подъемные. В общем, конечно, математика нужна в определенной мере.

По поводу английского языка: английский язык это круто не только для программиста или IT-шника, а для человека в целом. Я думаю, через несколько лет это будет вообще must have. Будем честны: английский это язык мира, на нем весь мир разговаривает. Вся официальная документация, все спецификации языков, протоколов, решений, RFC, чего-то еще написаны на английском языке. То есть, если вы хотите читать и получать четкие знания, то вам нужен именно английский язык. Без него будет сложно.

По поводу образования в некоторых случаях, конечно, корочка нужна, но это тоже скорее исключение. Придете в какую-то компанию работать, вас там спросят а есть ли у вас образование, вы скажете нет, вам скажут ну и уходи, вы скажете ок, и уйдете. В другое место, где нужны люди, которые задачи решают, а не светят корочками. Но, если вы вдруг думаете о том, чтобы пойти на второе высшее, я бы советовал сначала постараться понять, ваше это или не ваше, попробовать позаниматься, может быть, даже найти уже первую работу. Это не так сложно сейчас, на самом деле; может быть, вам потребуется полгода поучиться или, как максимум, год своего времени потратить на это. Но это будет гораздо лучше, чем потратить еще 3-4 года в университете или вообще бросить его через 1-2 года из-за того, что будем честны в университете вы не будете получать тех знаний, которые вам будут нужны для непосредственного решения проблем прямо сейчас. Все-таки университетская база знаний устаревает. Я не говорю, что это происходит во всех университетах, но, наверно, в большинстве своем они учат именно базовым вещам, а не решению задач. А если вы сами начнете учиться на курсах, то вы сможете начать решать задачи и почувствовать профит от решения своих задач, и это будет очень полезно.

image

По поводу кодинга: сколько уделять времени именно на код. Теория это здорово, конечно, но нужно кодить. Кодить нужно столько, сколько сможете. Очень много. Если вы хотите научиться писать код надо писать код. Если вы не будете этого делать, а будете прокачиваться в теории, вы будете отличным теоретиком, может быть, но теоретикам, скорее всего, не платят деньги. Или это бывает редко. Нужна практика. Это как в школе: чтобы научиться делить столбиком, надо делить столбиком.

Допустим, вы всему научились, и начинаете искать работу. Что нужно для того, чтобы начать это делать? Нужна база. Базовые знания математика та же самая, базовая: то есть, базовая логика, чтобы уметь писать решения, алгоритмы, алгоритмы структур данных. Это самое главное, что нужно программисту. Алгоритмы и структуры данных самые простые, чтобы научиться решать задачи, без этой базы вы никогда не будете разработчиком. Также надо знать конструкции и синтаксис целевого языка программирования, библиотеки, фреймворка: то есть, не зная JavaScript, вы не устроитесь во frontend, не зная HTML и CSS, вы не устроитесь верстальщиком, не зная PHP, вы не сможете делать сайты. Это естественно. Синтаксис и конструкции надо знать довольно хорошо. Кроме того, нужно умение решать поставленную задачу. Пусть неоптимально, но верно. Когда вы начинающий разработчик, молодой специалист, джун, от вас требуют одного: чтобы вы учились быстро, решая задачи. То есть, вы берете и делаете задачу, ее дальше передают в работу, а вы, научившись, следующую сделаете лучше.

Получается, что вам нужно решать поставленную задачу. Я бы еще советовал не пытаться выучить все на свете это невозможно; и не ждать у моря погоды (я еще не готов, еще рано искать первую работу): скорее всего, искать работу не рано, вы, наверно, готовы. Вы это почувствуете, или вам это кто-то скажет. Если вы несколько лет сидите, учитесь, но боитесь искать работу вы что-то делаете не так. И еще важно ходить по собеседованиям. Как только вы начинаете это делать, вы набираетесь опыта собеседований, подтягиваете слабые места на них вам указывают. И вы не боитесь провалов. Вы перестанете бояться, что вы придете на собеседование, и вам там скажут чувак, да ты не знаешь ничего. Бывают токсичные собеседования, но это уже редкость. Скорее всего, вам просто скажут: вам не хватает этого, этого и этого. Вы скажете: окей, придете домой, позанимаетесь еще месяцок, пойдете на следующее собеседование. Один раз откажут, второй раз откажут, а к третьему разу вы все выучите, скорее всего, и вас возьмут на первую работу.

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

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

Расскажу кратко о том, как было у меня. Это был примерно тот же самый путь, как я описал выше, только все было не так структурировано, и все было очень размазано, потому что я не особенно понимал, что я делаю, и мне было довольно сложно. Вообще, с компами я дружил с самого детства, но это значит только, что я ковырялся в винде, в реестре, ставил линукс, любил железки, в BIOS залезал мне это все нравилось. Но я никогда не был программистом. В детстве я учился в лицее информационных технологий, но что-то пошло не так, как говорится: у родителей закончились деньги на лицей, а там такая история ты или очень умный, или учишься за деньги. Я ушел из лицея после 7 класса, перевелся в обычную школу с направлением в юриспруденцию, а после 9 класса пошел получать среднее специальное юридическое образование. О чем я, на самом деле, не жалею. После среднего специального получил высшее юридическое, а потом пошел работать по специальности. Около 2 лет я работал в уголовном розыске. Это было весело, это было интересно, это был замечательный жизненный опыт. Я совсем не жалею, что моя жизнь так сложилась.

Но в 2014 году я пришел к осознанию того, что занимаюсь чем-то не тем, и мне нужно что-то менять, делать другие вещи. Я собрался увольняться. Последние несколько лет я много думал о программировании, о том, что когда-то я этим занимался, и меня всегда к этому тянуло. Мне так нравилось, что можно весь день проводить за компом я очень любил компьютеры, любил играть, тратил много времени на MMORPG какие-то. И почему бы точно так же не тратить время на программирование сидеть по многу часов, пытаться решить задачу, получать от этого удовольствие? Я тогда проводил у себя эту параллель с MMORPG. И я понял, что настало время для этого, уволился, начал учиться. Я понял, что у меня отсутствует школьная база знаний, что я в плане технической подкованности и грамотности математики, геометрии, физики сильно отупел. Понял, что мне нужно все это подтянуть, начал общаться с ребятами. Походил по знакомым, собрал у них учебники по математике за 7-8-9-10-11 классы. Перечитал это все для себя, порешал задачи. Нашел несколько знакомых программистов, пообщался с ними и понял, что нужно садиться учиться и писать код.

Начал обучения с Java я до сих пор считаю, что это лучший первый язык программирования. По ряду причин, основная из которых то, что язык включает в себя все самое лучшее и самое худшее (или хотя бы многое). Становится понятно, как вообще вещи работают, как устроены истории с Java под капотом. Думаю, JavaScript слишком запутанный язык для роли первого, а C++ слишком многословный.

Прошло несколько месяцев, я начал писать на Java за еду, что называется (на самом деле, за опыт). Знакомые мне начали подкидывать задачи, по которым надо было писать код, они мне даже какие-то символические деньги платили. То есть, я уже начал работать почувствовал, что я могу себе этим хотя бы на что-то зарабатывать. Где-то через 7 месяцев после того, как я сел учиться, у друга на работе появилась вакансия: они искали не то чтобы программиста, а человека, который бы сайты поддерживал, что-то там дописывал и настраивал рекламу. Там были PHP и JavaScript я с ними был вообще никак не знаком, но все равно решил попробовать. Сходил на собеседование, ответил там на все вопросы, которые они хотели услышать. Они поняли, что я могу решать какие-то проблемы, и наняли меня.

Так я устроился на первую официальную работу в IT, через 7 месяцев. Там я выучил PHP и JavaScript; параллельно пописывал на Java для знакомых, когда было свободное время, потом начал больше времени изучать JavaScript, уделять время NodeJS тогда был 2014 год, эта платформа начала как раз активно развиваться, вокруг нее хайп пошел. Я и по сей день на ней пишу, классная штука. Дальше у меня началась череда работ, подработок; я учился, учился, получил много опыта. Тут, наверно, я как раз и стал миддлом разработчиком, который уже начинает более рационально подходить к решению проблем. Миддл начинает решать задачи более правильно, он может решить задачу, даже если она сложная, и он изначально не знает, как ее решать он все равно найдет решение. Так я для себя оцениваю этот уровень.
Дальше у меня было все, как у нашего гипотетического Пети. Я работал, учился, развивался в принципе, по сей день этим и занимаюсь. Наверно, это вся моя история.

Маленькая поправка.. Сегодня перед выступлением я смотрел комментарии на хабре, и там один человек написал такое: история успеха ничему не научит, гораздо полезнее истории неуспеха, на их основе можно понять, чего и как не надо делать. Такие истории у меня, на самом деле, тоже есть. К сожалению, время ограничено иначе я мог бы часов 5 рассказывать интересные истории из своей жизни но у меня есть знакомые (и знакомые знакомых), которые так и не стали разработчиками по разным причинам. В основном что происходит люди не верят в себя, люди боятся, люди слушают своих родных, которые их мотивируют (да куда ты пошел, зачем, чего). Ребята, нужно верить только в себя, самому себе доверять. Если вы понимаете, что вы способны на это вы точно на это способны. Сядьте и делайте, не ищите отговорки, не ищите отмазки. Но самое страшное это не то, что нет веры в себя, а то, что есть лень. Люди просто не хотят напрягаться и думать, они хотят приходить с работы домой и играть, или садиться на диван с пивом. Это лень.

Есть несколько примеров. Один человек работает инженером, он кодит уже 10 лет, у него абсолютно нормальные мозги. Я с ним часто общаюсь. Но он инженер-то не особо успешный по решениям он нормальный, технически грамотный, но по успеху ну такое. Он кодит в свободное от работы время, кодит интересные вещи, но он так и не стал программистом. Ему лень, он не хочет тратить силы на то, чтобы уволиться, несколько месяцев потратить на обучение вложить это время в себя, и найти себе первую работу. Еще один интересный случай я познакомился с чуваком, который чинит велосипеды (я к нему свой велосипед на ТО отгонял). Он попробовал и устал. То есть, он мне рассказывал, что он занимается frontend, что начал изучать. А через три месяца мы встретились снова, и он сказал нет, я бросил, там что-то сложно, думать надо. Ну, дам. Там надо думать.

Есть еще отличный кейс: человек называет себя программистом, свято верит в это. При этом работает черт знает где, занимается черт знает чем и пять лет учит Java. Пять лет. Не знает ничего, зато пять лет учит Java. По-моему, самый классный антипример. Натуральнейшая прокрастинация. Так жить не надо. Если уж вы что-то взялись делать делайте, это так везде работает.

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

Например, user interface/experience (UI/UX) design здесь надо делать интерфейсы, рисовать это все, делать качественным то, с чем потом конечный пользователь работает, продумывать это все. Технический писатель занимается написанием технической документации к решениям, которые пишут программисты. Есть Sales-менеджеры, которые занимаются продажами. Или Presales-менеджеры и инженеры это те, кто еще до продажников общается с заказчиками и предлагает им какие-то решения; менеджеры здесь ближе к бизнесу, а инженеры ближе к технической стороне, и они могут на этапе предпродажи сказать клиенту, как сделать получится, а как не получится. Есть business development-менеджеры, которые выясняют потребность клиента и то, чем мы непосредственно можем им помочь. Также есть, например, event and communications-менеджеры, которые организуют мероприятия любого уровня все конференции, наша конференция Intercom, например, или другие конференции, которые проводит компания; тоже отличная профессия. Есть project-менеджеры, account-менеджеры, customer success-менеджеры, которые занимаются непосредственно ведением проектов, аккаунтов, продуктов внутри компании. Есть всевозможные юристы, HR или просто рекрутеры, которые занимаются поиском и наймом сотрудников. Контент-менеджеры, таргетологи, маркетологи.

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

image

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

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

По поводу пузыря лопнет он или нет. Вопрос хороший, никто не может это знать, но можно судить по пандемии. Она очень сильно на нас подействовала, но бизнес все равно живет, и пузырь не лопнул. Мы продолжаем развиваться, продолжаем работать. Должно произойти что-то плохое на реально глобальном уровне, чтобы пузырь лопнул пока такого не предвидится, и мы можем спокойно работать, учиться, искать работу, зарабатывать деньги и приносить пользу. Это мое личное мнение, но, опять же, я просто много кручусь в этих сферах и понимаю, как это все устроено. Я понимаю, что IT будет продолжать все новые и новые горизонты, становясь все более привлекательной сферой. То есть, в ближайшее время отката не предвидится, и бояться этого не нужно.

Сделаем выводы из всего, о чем мы сегодня говорили. В 2021 году нужно быть в IT. Серьезно. Если вы работаете в какой-то компании, где нет IT, и ваше руководство или ваш бизнес всячески сопротивляется выходу на IT-рынок я бы советовал вам сменить работу. Не сменить профессию, но работу однозначно. IT-сфера будет расти и развиваться, и бизнес будет продолжать уходить в IT мы сегодня об этом с вами много говорили, и мы все понимаем, что это правда. Интерес к сфере будет расти, рынок будет греться все сильнее, и у нас будет работа. Наш Петя сможет стать программистом, я в него верю но только если действительно захочет. То есть, не только захочет, но и приложит усилия поэтому, если он все это сделает, соберется с силами и сумеет, то у него все обязательно получится, и он найдет работу. Если Петя не захочет быть программистом, то он попадет в IT другим путем благо, их сейчас много. Нужно верить в себя и не лениться, тогда у вас все получится.

image
Q:У меня только один вопрос насколько реально человеку с уже сформировавшимся мозгом, после 25 лет, не испытывавшим до этого интереса к программированию, взять и начать этим заниматься? А если был какой-то интерес почему не углубился в тему самостоятельно, ведь IT-хайпу уже лет 10 точно? Можно было давно обратить внимание.
Могу сказать по себе. Интерес у меня был всегда, но меня всегда что-то останавливало. Лень, скорее всего (сидишь на диване, смотришь сериал все нормально) и страх (ничего не получится, работу не найду, время потрачу). Я не говорю, что это плохо но, если ты постоянно этим занимаешься, то с твоей жизнью никаких изменений не произойдет. Мне тогда было 24 года, если я не ошибаюсь, и я считаю, что у меня мозг тоже был уже вполне сформировавшийся. Осознание, конечно, может приходить в разном возрасте.

То есть, мне кажется это просто лень, вот и все. Вряд ли человек никогда не слышал о программировании: 2021 год на дворе, куда ни зайди рекламируются курсы программирования, открываешь любой ролик на YouTube видишь рекламу. Если он этим никогда не интересовался ну, взял и заинтересовался. Посмотрел какой-нибудь бесплатный ролик наш сегодняшний вебинар, хотя бы и уже многое для себя узнал. Понял, что это классно, интересно. Или, наоборот, подумал: нет, фигня все. Поэтому мне кажется, что это вполне реально.
Q: какую литературу можешь посоветовать для новичков, где лучше ее искать, если спрашивать негде?
Насчет спрашивать негде я сейчас сделаю аттракцион невиданной щедрости и просто возьму и оставлю свой telegram. Собственно, у меня во всех соцсетях одинаковый никнейм nikolasmelui, я попрошу модераторов оставить ссылку. Можете мне написать напрямую, я точно смогу уделить 5 минут на то, чтобы с вами поболтать, ответить на вопросы и посоветовать, дать какие-то материалы для обучения, исходя из ваших потребностей.

По поводу литературы у меня есть 10-15 книг, которые я могу рекомендовать, но для новичков среди них нет ничего. Мне кажется, что лучше смотреть не книги, а курсы ну, в моем случае это видео, например. Однако есть проект Джуность, который я упоминал вскользь сегодня это тот проект, который мы с ребятами сделали, когда я еще в Mechanica/ANMEDIO работал; мы его сделали для того, чтобы распределять по грейдам (junior-middle-senior, и еще по три градации внутри каждой) наших сотрудников. Там есть материалы для обучения, в том числе. То есть, есть тег что нужно знать, чтобы стать миддлом заходишь в этот тег, там есть материалы по обучению.

Единственное я сейчас не являюсь прямым мейнтейнером проекта по ряду причин (в том числе, из-за нехватки времени), и некоторые материалы там уже подпротухли. Но там есть классные материалы, и, наверно, мы в ближайшем будущем обновим проект. Я как раз насобирал материалы; мы и внутри компании Voximplant занимаемся тем, что собираем материалы для какой-то подобной внутренней вещи, и на внешку (в Джуность) тоже стоит этими материалами поделиться. Так что, можно будет там посмотреть. А так напишите мне, и я вам отвечу, покажу, расскажу.

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

Подробнее..

Уже не программист, ещё не предприниматель

03.06.2021 16:16:28 | Автор: admin
На прошлой неделе в наших соцсетях выступил Евгений Донцов, основатель стартапа Ватериус.

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

После выпуска более 10 лет работал программистом в автоматизации промышленных объектов и городов. Основал стартап Ватериус. Прошёл 2 ступени Школы дизайнеров Бюро Горбунова. Участвовал в преакселераторе Сбербанка SberUP.

Делимся с вами расшифровкой эфира и записью.

Всем привет, меня зовут Донцов Евгений. Я основатель стартапа Ватериус по автоматизации передачи показаний счетчиков воды. Сегодня мы разбавим наш эфир бутылочкой чилийского Шардоне. Что общего между Чили и предпринимательством? Большинство из нас не было в Чили и не занимается предпринимательством. Вот про предпринимательство и разработку мы сегодня и расскажем. Ну, как говорит Парфенов, понеслась.

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

Немного чисел: для программистов будет интересно, что устройство Ватериус собрало целых 314 звезд на GitHub. У нас есть комьюнити пользователей устройства и тех людей, кто спаял его сам, в Telegram 214 человек. Количество продаж пока держится на отметке выше 50 в месяц, что, как мне кажется, довольно мало. По данным нашего сервера, с ним выходит на связь около 800 устройств. Показания мы отправляем в 49 управляющих компаний.

Мы прошли длинный путь с января 2018 года. Тогда я пошел учиться в Школу Дизайнер-бюро Горбунова и параллельно начал разрабатывать устройство. В 2019 году основной ступенью развития была 3-я ступень (диплом) Школы Бюро, также посчастливилось участвовать в преакселераторе Сбербанка Sber UP. В том же году запустился наш сайт практически в том виде, в котором вы его видите сейчас. В 2020 году мы вышли на Aliexpress, продолжили интеграцию с управляющими компаниями и начали обрастать дилерами, которым мы оптом продаем Ватериусы. В 2021 году основными вехами были доработка прошивки сторонним разработчиком за деньги, также мы автоматизировали отправку показаний (раньше процесс был полуавтоматическим) и выходим на новые торговые площадки.

Итак, как пройти от идеи до публикации устройства? Вообще, когда вы хотите что-то сделать, очень полезно сформулировать: почему это для вас важно, почему именно вы этого хотите. Лично для меня было важно расширить свои знания по программированию, сделать устройство для счетчиков воды и сделать его простым. Мне были известны заводские устройства, я посмотрел в интернете нашел много устройств от разработчиков, которые предлагали 220 вольт кинуть, что-то перепрограммировать. Мне это казалось лишним. Вот фото ранних прототипов то есть, это буквально делается на коленке. Отлаживается, измеряются различные характеристики, делается несколько версий плат. По результатам я заказал свою первую партию заводских плат таких красивых, зеленых, а не тех, которые дома можно сделать.

image

Я бы хотел обратить внимание на то, что очень важно максимально упростить продукт. Некоторый функционал кажется обязательным, но на самом деле он не является необходимым для работы устройства. Поэтому за полгода я существенно урезал функционал то есть, не стал тратить время на разработку дополнительных фич. Какие-то задачи и подводные камни пришлось решить. Я воспользовался приложением Blynk, бесплатным для некоммерческих проектов, чтобы видеть показания и не программировать свой собственный сервер. Обязательно смотрите по сторонам, изучайте, если хотите сделать свое устройство.
image
Вот так выглядела первая версия устройства, и с ней была опубликована статья на Хабре, которая собрала достаточно большой хайп.
image

Мне стали писать люди, которые хотели для себя спаять такое устройство, просили продать им компоненты. Запуск прошел успешно. Надо отметить, что я проводил в соцсетях опрос на тему сбора показаний счетчиков воды, и большое количество людей сказало: да, им не хочется каждый месяц лезть к счетчикам.
image
Параллельно с разработкой Ватериуса я учился быть дизайнером.
image
Я не занимаюсь дизайном профессионально, я профессионально программировал; я впервые пошел на онлайн-курсы, чтобы познакомиться с новыми людьми из новой области, разложить свои обрывочные знания по полочкам (я в университете газету выпускал). И также я думал над своей профориентацией: может быть, если мне не слишком интересны отличия С++ 2020 от С++ 2017, то я и не программист вообще, и мне надо быть дизайнером? Пока дизайнером я не стал, хотя курсы мне очень понравились. Я узнал огромное количество информации. Так получилось, что, буквально запрыгнув в последний вагон 3-й ступени, я анонсировал создание сервиса по отправке показаний счетчиков воды. Мне это казалось очень масштабной и амбициозной задачей, с которой могли помочь сотрудники Бюро Горбунова. Вот так выглядела первая версия сайта, которую я сам делал на коленке на Java.imageimage
К тому времени у меня было уже несколько людей в команде: Был дизайнер Игорь Вахромеев (привет, Игорь), были программисты, зарегистрированный домен. Был план запустить сайт за 3 месяца, параллельно поучаствовать в преакселераторе Сбербанка и узнать, как делать продажи и он казался очень классным: у меня же на третьей ступени в команде будет еще редактор, менеджер и два эксперта Бюро, и мы обязательно сделаем классный сайт.
imageimage
Не могу сказать, что на 100% не надо так, но вы должны быть готовы к очень большой работе. И это точно не должен быть ваш самый первый проект, как было у меня. Последующие месяцы мы формулировали понимание задачи как документ, показывали эскизы Артему Горбунову (сам Горбунов выбрал меня к себе в команду, где был я с другими студентами, которые выбрали мой проект для диплома). Было огромное количество эскизов, огромное количество дизайнерской работы и, конечно, было совершено большое число ошибок, которые привели к тому, что диплом мы не получили.
Главная ошибка была в том, что мы думали, что арт-директор это научный руководитель, и сейчас он с нами сделает сайт. Скорее, арт-директор это оппонент на защите, который выдает критику. Работа с критикой очень важной качество любого руководителя.

Понимание задачи это такой документ, в котором моя команда формулировала, что мы сделаем к диплому. И, конечно, когда передо мной встала задача регистрации ИП или ООО, то вопросы вроде типа бумаги для упаковки или цвета кнопочки отошли на второй план. Опять же, у меня была прекрасная команда, и люди, безусловно, важны для любого проекта, но руководство этими людьми это, наверно, самое важное. И в тот момент я пытался усидеть на двух стульях учился на дизайнера, при этом пытался еще и выполнять функции руководителя проекта. Это было очень дискомфортно, и это была одна из ключевых ошибок. И, конечно, стоило запускать MVP раньше регистрировать ИП, запускать продажи, чтобы на дипломном проекте заниматься только дипломом, то есть, дизайном, а не всякими согласованиями. Недопуск до защиты был настоящей трагедией для моих коллег по команде. Для меня это не было такой трагедией, но я тогда очень удивился в духе капитана Титаника, который внезапно увидел айсберг и понял, что уйти от столкновения не получится. Нужно было менять методологию управления командой иначе даже привлечение крутых экспертов не вытянуло бы наш проект.

Тем не менее, через месяц мы запустили сайт, причем запустили только с просмотром показаний. Мне это казалось странным вроде делаем сложный проект. Но в итоге так и запустили, по принципу keep it simple, stupid без отправок показаний. Затем мы уже начали добавлять управляющие компании. Тут надо отметить то, что порядка двух недель Артем Горбунов и Илья Синельников пытались мне объяснить, что моя идея с запуском портала для всех устройств и всех управляющих компаний это не то, что нужно делать первым шагом, и сначала нужно сделать простой сайт по продаже устройства. Этого я сначала не понимал, но в итоге спустя несколько лет Артем, Илья, вы были правы, огромное спасибо вам за этот урок. Я всем рекомендую Школу Бюро Горбунова как место, в котором вы можете трансформировать свое понимание, увеличить свои знания и посмотреть на привычные вещи под другим углом.

Собственно, в 2019 году мы запустили сайт, а в 2020 году начали интегрировать компании и разбираться с тем, какие существуют кейсы и подводные камни с отправкой показаний, чтобы сделать этот процесс надежным. Тогда же у меня появился первый дилер на Озоне. В 2021 мною заинтересовались в Казахстане, также я наконец-то добавил новый функционал в устройство благодаря Николаю из Питера. Привлечение оплачиваемого программиста это один из вызовов, о которых я расскажу позже. Также я придумал, как автоматизировать процесс отправки данных в управляющую компанию. На первом этапе эта задача еще не была решена, и отправка была полуавтоматическая: скриптами, но нужно было вручную нажимать. И, конечно, в 2021 году я понял, что стоит уделять внимание маркетингу: продаж все-таки не так много, а для развития проекта, безусловно, требуются деньги.

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

Собственно, как можно почти в одно лицо администрировать сервер, разрабатывать сайт, разрабатывать прошивку и при этом не работать на выходных?image Основной, наверно, инструмент современных программистов это система управления версиями Git; это уже де-факто стандарт, поэтому я даже не знаю, надо ли описывать ее эффективность. Но без нее разрабатывать код очень сложно и для устройства, и для сайта.image
В самом начале, когда я запускал сайт, я думал, что нужно тут же заложиться на 10 тысяч пользователей, которые обязательно придут через неделю. Я добавил показанные в блок-схеме технологии точнее, я пытался их применить, но они не работали достаточно надежно и были по большей части убраны. До сих пор она так и работает ну, добавилась Grafana. Также стоит уделить внимание тестированию: в современных компаниях по разработке ПО его важность знают. Оно обеспечивает быстрое обновление сайта, быстрый поиск ошибок и спокойный сон, потому что вы не сломали существующий функционал новым. За время развития проекта было несколько раз, когда что-то добавлялось, и из-за этого ломалось вообще в другом месте. Тут есть еще приписка: тесты должны действительно проверять какой-то функционал, а не быть просто тестами. То есть, надо проверять и хорошие, и плохие случаи.

Для автоматизации в данном случае, автоматизации обновления сервера и установки ПО я использую Ansible. Более модный инструмент Docker-compose, но так сложилось исторически: мне стала понятна концепция Ansible, и я написал скрипты, чтобы разворачивать одной командой ПО и обновлять сервер. Стоит заметить, что кроме сервера, на котором находится сайт, есть тестовый сервер, который позволяет нам отлаживать функционал онлайн. Несколько раз было такое, что на локальном компьютере у программиста все работало, а после выкатывания на тестовый сервер оказывалось, что в интернете это уже не работает. Для этого тестовый сервер и нужен всем рекомендую. Тесты сначала прогоняются на этом сервере, а только потом код переходит на продакшн. Также для спокойного сна нужен настроенный бэкап базы данных пользователей чтобы, даже если все сломается, можно было взять файл и восстановить все данные.

Упомянутая Grafana это утилита для мониторинга сервера. imageОна позволяет очень быстро чертить красивые графики и настраивать оповещение через Telegram, например, о том, что что-то не так. Кроме нее есть Email-оповещение: об ошибках на сервере, а также бизнес-оповещения (покупки, ежедневная сводка, заявки на новые управляющие компании от пользователей, подозрительные показания перед отправкой). Все это я получаю по электронной почте и могу контролировать. Также все данные Ватериуса складываются в базу данных, откуда их быстро можно визуализировать в Grafana. Мне даже неловко перед пользователями, что в личном кабинете таких красивых графиков нет но я надеюсь, что у нас появятся ресурсы для контент-разработки, и мы наведем в личном кабинете красоту. Дело в том, что целевая аудитория, для которой очень востребованы графики это, как правило, владельцы умных домов, и у них графики рисуются именно в их умных домах, в их настроенных системах. И та аудитория, у которой нет умного дома, но которая хочет видеть графики, пока у нас не удовлетворена. Но я думаю, что мы придем к графикам.
Вот некоторые метрики с устройств, которые мы получаем.imageimage
Вообще, метрики, заложенные при разработке Ватериуса, в этом году выстрелили: image
пользователь обнаружил ошибку с зависанием устройства, и мы очень быстро с разработчиком по графикам увидели, что она действительно возникает, увидели, какого она рода, и смогли ее исправить. График я начертил вручную, чтобы убедиться в том, что это не перезагрузка во время подсчета импульсов, а нештатная ситуация, которая возникала после выхода на связь и не влияла на работу Ватериуса.

PlatformIO это фреймворк для разработки прошивок микроконтроллеров. Если от разработчиков будут дополнительные вопросы пишите, я отвечу на них, а сейчас не буду останавливаться.

Следующая, очень важная, часть нашего проекта это комьюнити. Проект изначально open source, как и сам устройство. Очень большую помощь и в разработке, и в тестировании оказали неизвестные мне люди за что им огромное спасибо, всем жму руку виртуально. Только через 1.5 года я догадался сделать Telegram-чат, за более чем год в нем набралось 214 человек: покупатели Ватериуса и те, кто его сам спаял. В чате люди обмениваются информацией по теме счетчиков воды, оповещают оперативно об ошибках, о багах на сайте, обмениваются опытом по сборке и прошивке Ватериуса. Очень лояльная аудитория, спасибо вам огромное. Даже самые крутые критиканты у нас на самом деле оказываются клевыми людьми, которые дают дельные советы и пищу для размышлений для дальнейшего роста. Еще очень интересный момент: мы проводим мастер-классы по пайке Ватериуса, вы можете прийти к нам и спаять наше устройство. Мы провели уже три мастер-класса. Это скорее история не про бизнес, а про нетворкинг; он даже выстрелил: один из участников нашего мастер-класса по кличу, который я бросил через чат, заснял за выходные прекрасное полное видео установки Ватериуса. Я сам психологически не мог этого сделать, почему-то. Супер. Спасибо огромное. Вот так мастер-класс может помочь проекту и комьюнити.image

Теперь очень важный и интимный вопрос относительно экономики. Нужно ли монетизировать хобби, и можно ли на это прожить? Поскольку мы больше программисты, чем предприниматели, ответ пока отрицательный; вернемся к этому вопросу тогда, когда мы начнем платить себе зарплату. Пока этой зарплаты на наших графиках не видно, и эти графики нельзя считать корректными. Тем не менее, хотел бы обратить внимание на то, что идея продажи через свой собственный сайт на самом деле не вполне правильна, если вы хотите официально продавать ваши устройства. Оказывается, сотрудничество с торговыми площадками теми местами, где девушки шмотки покупают подчас оказывается более выгодно для разработчиков. Потому что вы не занимаетесь доставкой сами: вы только отвозите устройства к ним на склад, а потом спокойно пьете пиво и разрабатываете дальше. Первой площадкой, на которую мы вышли, был Aliexpress, и это было просто: он с 2019 года разрешает предпринимателям из России продавать товары на территории России (только России, из-за рубежа товар не виден). Я выбрал доставку Почтой России как на нее ходить, я знаю. За 2020 год я полностью автоматизировал работу с заказами на Aliexpress и их выгрузкой в Почту России, и это рабочая схема. Но сейчас мне уже не хочется ходить на почту, потому что есть большое количества других задач. Мне хочется перейти на fulfillment: это именно та модель, когда я беру большую коробку, полную маленьких коробочек с Ватериусами, и отвожу ее на склад торговой площадки. А они занимаются доставкой.imageНа втором и третьем графике мы видим продажи через Aliexpress; здесь Ali+p это партнерская комиссия. У Aliexpress есть прекрасная партнерская комиссия: это означает, что какой-то блогер может разместить ссылку на ваш товар и получить столько-то процентов (вы сами определяете, сколько) за продажу. Казалось бы, странная история, но на деле обнаружилось огромное количество ссылок на Ватериус в социальных сетях. А я удивлялся, откуда у меня покупатели.
График wb это Wildberries, и у них пока очень маленькая комиссия 12%. Поэтому торговля через Wildberries оказывается очень выгодной, даже выгоднее, чем ходить на почту с Aliexpress. Сейчас мы переходим на fulfillment с Aliexpress и на Яндекс-Маркет, с доставкой им на склад. Я думаю, в этом году будет обновление этих графиков. Ну, и последний график это оптовая цена; левая пятка решила, что отпускная цена за опт будет таковой. Там у нас только налоги и небольшой процент за доставку.
Опять же, это только примерная экономика. Там не видно ни моей заработной платы, ни разработки, ни разных других расходов: сервер, брак, мобильная связь, абонентская плата за счет в банке и так далее. Только налоги 7% по упрощенной системе, которая подходит для такого микропредприятия, как я.

Теперь не менее интригующий график в виде динозавра: график продаж.image Я просто взял Excel и сделал себе две таблицы доходы и расходы. И в них указываю продажи и все то, на что средства уходят, соответственно. Стоит заметить: поскольку достаточно низка маржинальность от продажи Ватериуса, основную его стоимость составляет производство. Поскольку вы не можете заказывать партии по 10 штук из-за достаточно длительного цикла производства, несколько раз возникал кассовый разрыв: требовалось оплатить производство партии, а денег по тем или иным причинам на счету не было. И приходилось вынимать из собственного кошелька. Когда это достаточно небольшие деньги, проблем нет, но есть устройство более дорогое в производстве это может быть не очень экологично.
Стоит упомянуть, почему я так поверхностно занимаюсь экономикой: за меня все делает онлайн-банкинг и онлайн-бухгалтерия. Я использую банк Точка, нареканий к нему нет; на все глупые вопросы отвечает. Единственный нюанс: про пользу онлайн-бухгалтерии я узнал сам, и немного поздно где-то полгода назад. Теперь на сайте за меня заполняются все налоговые платежки и какие-то другие отчисления, я только нажимаю на кнопку подписать и отправить деньги.
Поскольку надо на что-то жить и развивать проект вон, из зрительного зала просят новый красивый корпус, а это инвестиции неплохо начать считать деньги, считать прибыль, которую приносит проект. И, видимо, стоит общаться с бухгалтером что я уже начал делать при очень странных обстоятельствах. В третьей (по-моему) партии устройств заедала кнопка, и мне позвонил покупатель с вопросом насчет включения Ватериуса. Мы начали разбираться с проблемой, устройство в итоге само включилось, а человек оказался финансовым директором крупной международной компании. Он сказал проект интересный, предложил помочь. Мы уже несколько раз встречались, обсуждали. Я надеюсь, мы скоро посчитаем баланс и сделаем отчет о движении денежных средств, и тогда я, наконец, узнаю: зря или не зря мы тут этим занимаемся уже который год.
Через месяц после этого знакомства я выяснил причину заедания: оказалось, на производстве отмывали платы после припаивания кнопок, и флюс, который растворялся в спирте, мешал работе кнопки. Еще несколько лет назад я бы разорался на производителя, наверно, и сказал бы, какой он негодяй, и пошел бы его менять но на то и существует предпринимательство, чтобы развивать человека. Я объяснил ситуацию, производитель сказал без проблем, изменим технологию, и следующая партия была идеального качества. Кстати, надо внести строчку про отмывку флюса в конструкторскую документацию.

На следующем слайде у нас карта покупателей.imageЗдесь уже, собственно, вся Россия и немного Казахстана. В апреле прошлого года мне написала в Facebook на английском девушка, которая хотела купить Ватериус; есть упоминания Ватериуса на англоязычном сайте. Я уточнил понимает ли она, что именно хочет купить, она сказала: понимаю, я сдаю дом в аренду, и нужно считать воду, потому что она дорогая. Я сказал: ОК; мы нашли способ оплаты, и оказалось, что она живет на Нидерландских Антильских островах в Карибском море. Сайт Почты России не смог найти этот адрес, но в отделении помогли, и посылка была благополучно доставлена. После этого я говорю, что у меня с маркетингом очень плохо: первая девушка-покупатель была немка, живущая в Карибском море, а не россиянка.

Теперь перейдем к главе о том, с какими сложностями, которые нужно будет преодолевать, может столкнуться любой из нас, любой предпринимательimageДля меня задачи из этого списка имели наибольшую сложность при решении, хотя для кого-то они покажутся элементарными. Надо сказать, что любая деятельность связана с определёнными подводными камнями, а также и с новым состоянием, новыми вызовами для человека. А поскольку все люди разные, для нас разные вызовы вызывают различные эмоции и ощущения. Первым вызовом для меня была статья на Хабрахабре такая финальная черта под запуском устройства в публичное пространство. Следующая черта регистрация ИП или ООО: я полгода ходил, обсуждал с друзьями, спрашивал советы, думал, что именно мне нужно, и решил зарегистрировать именно ИП, потому что там более простой алгоритм. Пока, за два года, я не пожалел об этом. Следующая история была про третью ступень Школы Бюро Горбунова, где я никак не мог понять, как же так вроде бы дримтим есть, а диплом уходит у нас из рук. Это было удивительно, потому что до этого я делал проекты в студенчестве, а там изначально набираются замотивированные друзья, знакомые, которые хотят что-то сделать, и все тянут телегу одинаково. Ну, может быть, мне так попадало. Но, когда у людей есть своя жизнь, свои хобби, свое время, своя работа, семья, разные ценности, разные цели, то движение телеги вперед становится более сложным.

Следующая история, с которой сталкиваются все люди, которые что-то делают в публичном пространстве это критика. На самом деле, критика не всегда является критикой иногда люди так дают советы. И это очень сильно помогает при общении, например, на форуме электронщиков: иногда ты задаешь действительно глупые вопросы, на тебя люди обрушиваются как это вообще работает?, ты начинаешь спрашивать а почему это не должно работать?, и дальше раскручиваешь человека на информацию, которая в итоге помогает тебе с твоим устройством. Опять же, советы про функционал и по поводу его доработки можно воспринимать как критику, можно огрызаться, например, если у тебя нет ресурсов, чтобы сделать этот функционал, или если ты не планировал его делать. Но, в целом, это все маячки на то, что было бы интересно людям. И, если им рассказать, что это планируется, а это не планируется как правило, никакой злости никогда не возникает, все со всем соглашаются.

Очень важная история про переговоры. Любое предпринимательство, любая деятельность это про общение с другими людьми. Кстати, переговоры это отдельная дисциплина в Школе Бюро Горбунова. Эта дисциплина очень важна, я рекомендую всем читать книги на эту тему и практиковаться. Даже если вы просто работаете наемным сотрудником, вы каждый день встречаетесь с другими людьми и вынуждены договариваться с ними. Я почему так об этом говорю я же работал программистом, а многие программисты любят работать из своей норки; вот оказывается, что программисты отличаются друг от друга именно так называемыми софтскиллами. Одни умеют общаться с заказчиками и пользователями, а у других этот навык менее развит.

Другие вызовы в моем проекте это, конечно, бумажная работа. Для меня очень сложно прочитать все эти инструкции и выполнить 50 пунктов для того, чтобы, например, зарегистрироваться на Wildberries; я полгода держал задачу в долгом ящике, не зная, как к ней подойти. В итоге я нашел в себе силы, разместил вакансию на profi.ru и тут же нашел специалиста, готового помочь с регистрацией на Wildberries. Это умение делегировать, умение просить помощь, предложить деньги это тоже очень важный навык для предпринимателя, который позволяет расти его проекту.

Очень важным для меня этапом была вакансия о доработке прошивки Такие вакансии обычно очень высоко оплачиваются, и проект достаточно сложный то есть, доработать надо было какой-то небольшой кусочек. И мне психологически сложно было попросить это сделать на форуме. В итоге я разделил задачу на несколько мелких задач: сначала сформулировал максимально подробно эти задачи на GitHub прямо как отдельные issue и потом мне стало легко дать ссылку на эту issue на Китуре (репозитории) и на форуме. И меньше чем через неделю нашелся прекрасный магистр вуза, и первый его вопрос был если ты это сам разработал, то в чем проблема сделать эту маленькую часть работы? Я понял, что это наш человек, и он прекрасно сделал эту работу, получил заслуженную оплату, и сейчас мы продолжаем общаться.

На следующем слайде много умных слов, с которыми вы столкнетесь, если будете делать свои проекты лоб в лоб.imageВо-первых, хочется сказать, что, наверно, предпринимательство это самый быстрый способ попробовать себя в разных ролях и самый эффективный способ для вашего развития. Пока я не начал программировать свои проекты, мой интерес к программированию постепенно угасал. Я занимался дизайном, фотографированием но, когда я начал программировать свои проекты, у меня появился интерес к новым технологиям, я узнал новые профессии, узнал, что программирование это не только про биты-байты, а еще и про заботу о пользователе, эффективность бизнеса. Очень важная история самому не проще; до сих пор я многие вещи программирую сам, хотя их можно было бы делегировать другим людям. Для этого, безусловно, нужны средства или прибыль от продаж, или инвестиции и правильная постановка задач. Постановка это тоже камень преткновения, с которым у меня до сих пор сложности. Тем не менее, в 2020 году я предпринял попытку делегирования той части, которая мне была понятна это разработка и до сих пор со мной работает прекрасный талантливый студент, который мне помогает с backend. Но еще раньше у меня в команде был студент, который написал frontend. Это огромная работа, и у меня огромная к нему благодарность, потому что время все-таки ограничено. Frontend мне до сих пор не понятен по сути своей работы, и я там могу только поправлять текст.

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

Также мне хочется сказать: размер и масштаб любой компании зависит, в первую очередь, от ее лидера. То есть, развитие лидера идет параллельно с развитием компании, и, когда вы видите человека, который создал миллиардную компанию, можно сказать, что он лучший руководитель, чем тот, который создал миллионную компанию. Потому что те вызовы, с которыми он столкнулся на пути к своему миллиарду, были сложнее, чем у того человека, который создал только миллионную компанию. Конечно, Ватериус пока ни одной из этих отметок не достиг, но мы с неугасающим любопытством занимаемся этой странной деятельностью продажей устройств, которые передают показания счетчиков воды на сайт.
Хочется сказать, что подобная интенсивная деятельность иногда приводит к выгоранию людей. Выгореть можно как на наемной работе, так и при работе руководителем. Очень важно соблюдать баланс отдыха и работы, уделять внимание себе, чтобы не выжать из себя все соки. Этому очень помогает понимание себя, понимание того, почему ты этим занимается, понимание своих ценностей. Звезды так сошлись, что то, чем я занимаюсь, мне очень ценно и я этим действительно горю; прошло 3 года, и я совершенно не охладел мне, наоборот, очень любопытно, и передо мной открываются все новые задачи, которые я стараюсь решать.

Безусловно, в этом помогает поддержка моих друзей, моих родителей. Нетворкинг, безусловно, нужен и наемным сотрудникам. Если у программистов есть StackOverflow и различные конференции, то у предпринимателей это какие-то комьюнити, встречи, мероприятия, которые позволяют посмотреть на практике, с какими вызовами сталкиваются другие люди. В это году я попал в комьюнити USkillz; Дима и другие друзья привет! Я узнал, что предпринимательство это не только про доход, а это про ценности, про идеи, которые люди реализуют. Мне это очень ценно и очень полезно. Эту презентацию сегодня впервые увидел человек, с которым я познакомился, она сейчас в Нью-Йорке Маша, привет и, казалось бы, где бы еще я познакомился с такими интересными людьми?

Спасибо вам огромное за помощь всем пользователям Ватериуса, всем инженерам, которые сами паяли, кто помогает словом, кодом, делом; спасибо всем моим друзьям, которые меня менторят, коучат, прокачивают, консультируют в неизвестных для меня вопросах. Только вперед!
На следующем слайде некоторые ссылки, которые могут быть полезны людям, занимающимся своим проектом, руководящим командой разработки, и даже тем, кто просто хочет сменить счетчики.


Форумы по электронике:

electronix.ru | esp8266.ru | easyelectronics.ru

Контакты:

Ватериус
Почта
Telegram-канал

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

Q: по поводу схожести дизайна с устройствами Xiaomi
Да, у Xiaomi очень приятный дизайн. Я тоже за минимализм, на Ватериусе всего одна кнопка и один светодиод.

Q: Будут ли прошивки по воздуху?
Прошивка по воздуху появится в новом корпусе, потому что мы будем применять микроконтроллер с большим объемом памяти.

Q: Когда можно будет смотреть график потребления воды в личном кабинете?
Уже есть идеи, я думаю, это реализуем

Q: почему на графике Wildberries не было эквайринга?
Там не было эквайринга, потому что эквайринг это кассовый аппарат. Я с удивлением узнал, когда я только хотел сделать кнопку Купить на сайте, что я должен каким-то образом передавать эти данные в налоговую, вот это все делает эквайринг. То есть, это кассовый аппарат, который мы в магазине видим. И оказалось, что Яндекс-касса говорит о том, что аппарат надо купить или взять в аренду. Я такой: блин, мне же нужна только кнопка для сайта. И я нашел Робокассу это облачный эквайринг, который стоит 4%. Мне подходит. А когда я продаю через Wildberries, этого эквайринга нет, потому что мне переводят мою долю сразу мне на счет, поэтому эквайринга в расчете с ними нет.

Q: Есть ли выход на иностранные рынки? планируете/хотите/думаете?
Ну, если Казахстан можно считать иностранным рынком то уже не только думаем, а почти подписали с ними соглашение. Кроме того, Ватериусом интересуются в Европе оказывается, в Европе такие же счетчики, и было несколько заявок на покупку. Ну, то есть, тоже люди хотят прикрутить к умному дому. Опять же, мы не то, что иностранный российский рынок не можем проанализировать, поэтому, если у вас есть связи пишите. С удовольствием выйдем на иностранные рынки, потому что там Ватериус уже считает воду.

Q: Почему не остановило существование Сауреса?
Да, Саурес это наш вроде бы главный конкурент. Объясню: во-первых, он очень перенавороченный такой многофункциональный конструктор, который, прежде чем он заработает, нужно запрограммировать. У него там 50-страничная инструкция. Был смешной случай, когда моя знакомая с ВМК (системный программист, программирует явно лучше меня; я попросил ее купить Саурес, чтобы какой-то фидбек получить, когда ей нужно было передавать показания счетчика) написала мне в 2 часа ночи: Жень, а какие там цифры нужно вводить? Мы минут 5 искали по инструкции тип счетчика, ввели; после этого я сел и запрограммировал, чтобы пользователи Ватериуса никогда не задавались этим вопросом то есть, чтобы Ватериус определял характеристики любого счетчика, у которого есть провода.
Саурес не open source, он закрытый. Хотелось сделать максимально простое устройство, открытое, которое могли бы спаять другие такие же технари, как я. В этом смысле Саурес не являлся в тот момент конкурентом: то есть, когда изначально разрабатывался Ватериус, никакой мысли о бизнесе не было. Просто было желание удовлетворить свои инженерные амбиции, вот и вся история.
К вопросу об интересных историях: мне уже анонимно предлагали конструкцию Сауреса. Даже такой кейс случался. Но мне их разработки не нужны просто потому, что у меня не хватает времени даже на реализацию требуемого функционала своих идей. В общем, денег я не готов платить. Я посоветовал чуваку все выложить в онлайн.
Еще история меня начали копировать. Какая-то компания из российского города просто выпустила Ватериус под своим лейблом. Такой интересный юридический кейс, даже вот так уже было.

Q: Про систему Git
Скажем так: даже если вы один разработчик, Git вам может помочь смотреть свою историю изменений, помнить, когда вы и что запрограммировали. Это на случай, если вы захотите откатить версию или найти ошибку в коде. Бывает, что ошибку видят только через месяц, а Git позволяет откатить версию, чтобы проверить, есть ли в предыдущих commit ошибка. Тем самым можно найти конкретную дату и время commit, приведшего к ошибке. А когда у вас больше одного программиста, использование Git обязательно. Надо один раз его выучить, и больше не возвращаться к этому вопросу. Это как слепая печать на клавиатуре.

Q: Будет ли оплата криптовалютами? Чтобы избежать эквайринга и вообще банков
Я тут такой классный гик по умным домам, при том, что у меня умного дома и нет. И криптовалют у меня нет. Видимо, когда у меня появятся криптовалюты, тут же появится и способ оплатить Ватериус, или воду вообще, криптовалютами. Но пока ничего нет. Тем не менее, если вы знаете, как это реализовать у нас открытый проект, добро пожаловать. Можно поучаствовать.

Q: Проект Ватериус всегда будет открытым? Или в дальнейшем идеология может измениться?
Интересный вопрос. Скажем так: я пока с трудом понимаю кейс закрытия уже открытого проекта. То есть, даже если мы добавим какой-то новый функционал. Ну, может быть, у нас будет enterprise-версия, закрытая, которую мы будет продавать через дилеров, и будет community-версия бесплатная и не обладающая каким-то особенным функционалом. Но Ватериус это просто такая штука, которая считает воду и отправляет показания на телефон; что там можно добавить особенного для enterprise я не знаю пока. Поэтому я думаю, что он останется открытым.

Q: Как решили вопрос с дублером проекта?
Я купил банку попкорна. Они делают свой портал всех порталов. Пока наш проект реализован на качественно другом уровне. Мне смешно. Ну, кейс абсолютно понятен; какой-то местный программист увидел Ватериус и сказал начальнику: да тут все понятно, как сделать, погнали. Это вместо того, чтобы начальник просто позвонил мне и сказал: можно у вас покупать готовые устройства? И это ему вышло бы дешевле.

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

Предыдущую расшифровку нашего эфира можно посмотреть тут, ещё больше наших спикеров по хэштегу #ruvds_расшифровка


Подробнее..

DDoS-атаки откуда берется и куда девается мусорный трафик

13.06.2021 18:05:09 | Автор: admin
На прошлой неделе в наших соцсетях выступил Георгий Тарасов, Product Manager в Qrator Labs.

Георгий выпускник ВМиК МГУ, работает в команде Qrator с 2012. Занимался разработкой, управлением проектами, собрал в компании команду pre-sales инженеров. Теперь развивает в Qrator новый продукт, а именно защиту от онлайн-ботов.

Делимся с вами расшифровкой эфира и записью.


Всем привет, меня зовут Георгий Тарасов. Я работаю в компании Qrator Lботнетовabs, знаю кое-что о DDoS-атаках и методах противодействия этим угрозам. В основном на собственном опыте, на опыте работы с клиентами, которые страдают от DDoS-атак или знают про угрозы, исходящие от них, и заблаговременно принимают решение выстроить себе защиту, применять контрмеры, быть готовыми к такой активности.
Из общения с десятками, потом сотнями (сейчас уже, наверно, перевалило за тысячу) разных организаций складывается достаточно интересная картина того, откуда приходят атаки, почему они случаются, какие действия бизнеса могут к этому привести. И, конечно, техническая сторона дела: что происходит на стороне жертвы, что происходит на транзите в сети к жертве, кто еще может пострадать от атаки, и многие другие вещи.
Сегодня мы, я думаю, достаточно неформально поговорим: не будем затрагивать прописные истины, а посмотрим, скорее, на эффекты DDoS-атак, попробуем понять, почему они происходят, и как вести себя, оказавшись один на один с DDoS-ером, который пришел на ваш ресурс, на промо-сайт или на сайт бизнеса, которым вы занимаетесь.

Сначала, наверно, вставлю пару слов о себе. Меня зовут Георгий Тарасов, я учился в МГУ на факультете ВМК, мечтал заниматься распределенными вычислениями, суперкомпьютерами, но жизнь повернулась немного по-другому. После выпуска я пришел в компанию замечательных людей, которых тогда было немного чуть больше десятка. И там сказали мне: ты слышал что-то про DDoSатаки? Я сперва округлил глаза: что за DDoS-атаки? Хакерство, киберпреступность, что это такое? Мне тут же пояснили, я изучил начальное количество материалов, почитал статьи; на тот момент это был 2012 год в отношении DDoS и защиты от них царил полный Дикий Запад. То есть, сервисы еще не заняли главенствующее положение защитников для мелкого, среднего и большого бизнеса, каждый защищался подручными средствами, кто во что горазд, нанимал специалистов для настройки фаерволов. И посреди всего этого оказалась та компания, в которую я пришел и она стремилась наладить более-менее одинаково высокий по качеству сервис как для мелких сайтов, которых прикладывают чем-то таким прикладным-хозяйственным, так и для крупного бизнеса, перед которым стояли гораздо большие угрозы.

Год за годом рабочая стезя меня толкала все ближе к самим клиентам, к их кейсам, к историям с их подключением. В итоге, со временем, я пришел к тому, чтобы заниматься работой pre-sale. То есть, приходит заказчик он либо уже под атакой, либо ожидает ее, либо просто хочет построить защищенную инфраструктуру для своего бизнеса. Он хочет подключиться к сервису, защититься от атак, купить дополнительные услуги. Его нужно проконсультировать, выяснить, что наибольшим образом подходит ему, выслушать, какие риски у него есть сейчас и какие ожидаются, и совместить гору с горой: понять, какой спектр услуг, какой сетап в техническом и организационном плане более других подойдет для того, чтобы ему снять боль, напряжение и неприятности, с которыми он пришел.

Процедура онбординга у нас не всегда была простой и быстрой; иногда клиентов приходилось подключать месяцами, общаться с ними. Whiteboarding, построение схем, итеративный подход (это не сработало, пробуем другое) все это оказалось очень увлекательной деятельностью. Ну и плюс гигантская база контактов организаций из всех сфер интернет-активности, всех сегментов рынка, организаций из бизнеса и не из бизнеса, обучение, например. Каждый со своей уникальной инфраструктурой, целями, задачами, и со своими болями в отношении DDoS-атак. Из этого сложился интересный паззл, и сейчас он позволяет мне, поглядывая назад на этот опыт, двигаться дальше и помогать нашей компании диверсифицироваться по продуктам, запускать новые штуки. Сейчас, например, самая важная тема для меня это борьба со скреперами, именно с ботами из числа таковых, которые откровенно вредят, потому что скрепинг бывает разным. Мы конкретно боремся с теми, кто своим скрепингом, перебором, парсингом делают больно клиентам, которые к нам приходят. Это похожая, смежная, хотя и не совсем напрямую связанная активность с защитой от DDoS. Главное, что платформы и техстек используются похожие.

Вернемся к DDoS-атакам: мы о них говорим сегодня, и говорили также и полгода назад, и говорим помногу раз каждый год, но, тем не менее, они никуда не деваются. Они все еще с нами.
Надо сказать, что, несмотря на их эволюцию в техническом плане, появление новых векторов, рост полосы и рост интенсивности атак, те тулзы и подходы, которые DDoS-атаки используют, не слишком изменились за последние 30 лет. Давайте сравним это с хакерской активностью, со взломами, с поиском дырок, уязвимостей, различных способов проникновения через защиту чужого приложения и извлечения данных из него. У нас есть уязвимость в фреймворке, компоненте, инхаус-приложении; в нем обнаруживается дырка. Есть вектор атаки, который это эксплуатирует. Приходит ресерчер, приходит whitehat или случается реальная атака; разработчики, security-специалисты закрывают дырку. Она может позднее всплыть в видоизмененном виде снова, где-нибудь в новой версии фреймворка или в похожих решениях, но конкретный эпизод остается в истории. Дословного повторения мы вряд ли увидим.

С DDoS-атаками все по-другому. Абсолютно такие же векторы атак, использующие те же самые протоколы, ту же самую методу с точностью до сигнатуры трафика, продолжают долбить сайты и сети на протяжении десятилетий. Они нечасто сходят со сцены: сходят только векторы, использующие совсем устаревшие протоколы, которые оказываются закрыты на любом устройстве. Хотя и там иногда бывают приколы. Если мы посмотрим на список прикладных протоколов поверх транспортного протокола UDP, применяющихся в крупномасштабных volumetric-атаках с использованием амплификации, то увидим интересные экспонаты, которые, наравне с TNS, ATP, SSDB используются сплошь и рядом. Есть, например, MotD, RIPv1-протоколы. Пойди в любую компанию, спроси devops-ов или админов есть хоть один компонент или endpoint, слушающий или пишущий, который использует это? Скорее всего, на тебя посмотрят как на Рип ван Винкля из произведения Вашингтона Ирвинга, который проспал 100 лет и спрашивает какую-то нерелевантную музейную фигню. Тем не менее, если отверстие есть, то вода в него обязательно пойдет. Если где-то есть открытый порт для этого протокола и, не дай бог, есть какой-то стандартный системный компонент, который может слушать на этом порту, то атака может пойти туда. Поэтому зоопарк решений для организации DDoS не движется по исторической шкале из точки А в точку Б. Он от точки А продолжает прирастать вширь и вглубь всевозможными новыми методам по мере того, как новые протоколы появляются, развиваются, их внедряют крупные компании, и в них находятся свои приколы и схемы для того, чтобы принимающей стороне, читающей протокол, сделать больно.

Старые методы не сходят с арены. Простой пример: если посмотреть немного в историю, в первых зарегистрированных случаях крупных DDoS-атак в середине-конце 90-х, которые уже тогда попали в новости то есть, они не были замечены историками и исследователями спустя годы, а сделали заголовки сразу же использовался вектор TCP SYN Flood. То есть, это были атаки при помощи TCP SYN-пакетов. Любой человек, мало-мальски знакомый с тематикой DDoS-атак, который читал книги или смотрел презентации и статьи на эту тему, скорее всего, видел описание такой атаки на первых листах. Это, можно сказать, хрестоматийный случай генерации достаточно большого количества дешевого трафика, затраты на обработку которого на стороне сервера окажутся гораздо выше затрат на его создание со стороны атакующего ботнета, каких-то устройств, которые он использует. Если мы посмотрим в статистику атак за 2020-21 год, например, то увидим, что TCP SYN Flood никуда не делся, такие атаки все еще встречаются в дикой природе, и ими прикладывают крупных и мелких игроков бизнеса. Тулзы и ботнеты, которые генерируют TCP-трафик, тоже никуда не делись, потому что эта атака даже с поправкой на то, как изменилась производительность компьютеров и пропускная способность интернет-каналов и корпоративных сетей за последние 30 лет приводит к столь же эффективным результатам. От нее просто нет смысла отказываться. Другое дело, что мир уже научился чуть лучше от них защищаться, но и здесь есть некоторые оговорки.

О защите мы поговорим чуть позже, а пока попробуем посмотреть на цифры и ответить на вопрос: почему атаки случаются? Вот немного исторических данных, которые за прошедшие пару лет мы выудили из своих клиентов, организаций и бизнесов, с которыми мы работаем.

image

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

DDoS-атаки


Мотивация к DDoS-атакам, про которую мы успели узнать она, в некоторой степени, строится на возможности обогатиться на этой теме. У нас есть вот такие данные об этой истории.

image

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

Тем не менее, на заре нашей юности был интересный эпизод: существовал один интернет-магазин кедровых бочек. Он не продавал кедровое масло или кедровые орешки продавал конкретно бочки для промышленного использования пищевиками. Это был их основной бизнес, продавались бочки через сайт; можно сказать, они одними из первых стали это делать. И, когда с клиентом пообщались по поводу атак на него, оказалось, что существуют другие интернет-магазины кедровых бочек, и между ними реально происходит кровная вражда: конкуренты постоянно DDoS-ят сайты друг друга, в нонстоп-режиме, пытаясь завернуть поток клиентов. Ну, много ли клиентов для кедровых бочек можно сказать, что это одни и те же люди, которые приходят либо в одно место, либо в другое, и вряд ли будут заказывать в обоих местах сразу. Поэтому за этот ручеек клиентов шла борьба не на жизнь, а на смерть.

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

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

Что мы знаем про облик DDoS-атаки в наше время? Что это часы паразитной нагрузки, или всплеск трафика на 5 секунд, который вырубает маршрутизатор? На самое деле, если взять среднее по больнице с учетом морга и крематория, получится ни то, ни другое. Что-то опосредованное. В прошлом году медиана длительности, по данным из нашего годового отчета, была около 5 минут;

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

Касаемо ботнетов и их задействованности в современном DDoS-ландшафте.


Самый большой ботнет, который мы наблюдали, и от атаки с которого мы защищали клиентов это порядка 200 тысяч источников. Это уникальные IP-адреса речь идет не об источниках трафика, о которых мы можем предполагать из емкости атаки, а об атаках, где используются валидные сессии, при которых источник должен себя подтвердить через TCP-handshake или более вышестоящие протоколы и сессии. То есть, это валидные устройства пользователей интернета, с которых приходил в сторону жертвы DDoS-трафик.

Нельзя сказать, что весь DDoS в мире приходит с подобных классических ботнетов. Я сейчас кратко опишу, в порядке прописных истин, как они вообще появляются, чтобы потом не останавливаться на этом. Ботнет это сеть устройств, подконтрольная злоумышленнику, который имеет возможность выполнять определенные действия на каждом из устройств этой сети например, генерировать трафик. За счет этого происходит распределённая атака на отказ в обслуживании: злоумышленник дает команду, устройства шлют трафик в различном виде и на разных уровнях пакеты, запросы, битики к цели, которую он хочет вывести из строя. Так мы привыкли видеть DDoS-атаки: есть тысячи зараженных машин, и хакер со своего C&C-центра машины, с которой осуществляется управление централизованно посылает броадкастом команду. Например, слать UDP-трафик на адрес Х, что и происходит. Но сейчас этот процесс может выглядеть немного по-другому, потому что существенный пласт атак использует подход с амплификацией (усилением) трафика. Его идея заключается в том, что напрямую ботнет трафик на ресурс жертвы не шлет. Задача ботнета сгенерировать некоторый начальный поток трафика, который может быть небольшим (порядка сотни мегабит), и за счет эксплуатации особенностей прикладных протоколов на базе UDP например, DNS заставить большое количество DNS-серверов в сетях (во многих сетях есть большое количество DNS-серверов, которые не защищены от использования их в таких атаках) принимать запрос, не особо проверяя, от кого он, и выполнять его. Например, они отгружают доменную зону размером в десятки килобайт на некоторый адрес, который непонятно кому принадлежит, и непонятно, этот ли адрес присылал этот запрос. Таким образом, начальный поток трафика проходит через тысячи DNS-серверов, которыми хакер непосредственно не управляет эти сервера просто находятся в интернете и готовы обработать query, не проверяя, от кого он приходит. За счет такой схемы сотня мегабит трафика, которую злоумышленник сгенерировал с помощью относительно небольшого ботнета (это может быть всего несколько десятков машин) превращается в десятки гигабит в секунду полосы, которая летит с этих name-серверов в сторону жертвы.

Что с таким случаем делать? Забанить источники, от которых пришел трафик так можно забанить половину интернета, потому что они прямого отношения к хакеру и ботнету даже не имеют. Здесь нужны другие механизмы борьбы с этим трафиком как минимум, его нужно куда-то слить, чтобы он не попал на машину, которая находится под ударом, и при этом не запоминать адреса источников и не пытаться применять к ним какие-то санкции.
Получается, что часть атак по-прежнему приходит напрямую с ботнетов с использованием валидных сессий и валидных IP-адресов, а часть в основном, те, которые применяют метод амплификации приходит совсем не с самих ботнетов. Ботнеты там используются только как свеча зажигания в моторе. Так было не всегда; амплификация это сравнительно новая история. Если посмотреть на крупные кейсы, то мы живем с атаками такого типа только последние 10 лет, возможно меньше. Другое дело, что именно сделало их настолько популярными, что именно сделало их опасность такой же большой, как и у традиционных методов здесь интересно будет рассмотреть, наверно, самый известный публике случай, который произошел в 2016 году. Тогда мир узнал о том, что ботнеты это не только зараженные вирусами компьютеры, а еще и IPTV-камеры, кофеварки, микроволновки, умные дома, ворота с Wi-fi и прочее. В какой-то момент развитие, популярность и распространенность интернета вещей разнообразных устройств с доступом в интернет достигло критической точки, на которой злоумышленникам стало интересно использовать именно их вместо более сложных в эксплуатации ПК, корпоративных серверов, публичных серверов и так далее, для генерации трафика.

Знаменитый ботнет Mirai базировался на десятках тысяч IPTV-камер конкретных производителей, на которых стояла одна и та же прошивка, никакой защиты от внешнего управления не предусматривалось, а выход в интернет не всегда был завязан на локальную сеть. Хотя бы админка может быть доступна через интернет, и этого уже достаточно для того, чтобы использовать маленькую железяку для генерации трафика. И, хотя одна камера много нагенерировать не сможет у нее канал маленький таких устройств десятки и сотни тысяч, и они максимально размазаны по миру. Опасность такой атаки, с точки зрения традиционных методов защиты, очень велика. Этим воспользовались авторы Mirai и те, кто последовал за ними, скопипастив этот подход и развернув свои ботнеты. 2016-17 годы стали настоящим всплеском с точки зрения атак с амплификацией, которые использовали в качестве корневого источника трафика подобного рода ботнеты. Эта история продолжается и сейчас: коробки продолжают выходить новые, и их защищенность от взлома и эксплуатации осталась на таком же уровне, потому что на первом месте стоит дешевизна и массовость производства. Другое дело, что мир уже научился чуть лучше защищаться от них, как и в случае с атаками SYN Flood. Гонять такого рода потоки трафика с IPTV-довольно затруднительно, security-люди уже слишком привыкли к такой истории.

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

Так или иначе, эта история никак не завершилась. Другое дело, что остальные методы атак подтянулись по своей опасности и интенсивности к тому, что продемонстрировал Mirai в 2016 году. Тогдашние атаки были примерно на 600-700 гигабит в секунду полосы, на тот момент невиданные цифры. Это почти в 10 раз превосходило виденные в дикой природе доселе атаки. Сейчас такими цифрами никого не удивишь: с момента возникновения Mirai рост полосы атак давно перевалил за терабит в секунду и продолжает расти. Широкополосные соединения и надежные магистральные сети провайдеров этому способствуют.

Что касается того, что из этой активности видели у себя мы. Несмотря на то, что Mirai это была в основном западная история, кусочек долетел и до наших клиентов в России. Это случилось на следующий год после его возникновения: к нам прилетела самая крупная на тот момент для РФ атака, которая составляла порядка 500 гигабит в секунду. Конечно, полтерабита уже было довольно популярной цифрой в мировой DDoS-ологии, но для сайтов Рунета, чьи инфраструктуры было расположены в России и подключены к нашим провайдерам, это было что-то с чем-то. К счастью, мы довольно быстро и эффективно пришибли атаку, и последующие встречи с подобного рода ботнетами уже не были сюрпризами ни для нас, ни для наших заказчиков.

DDoS-атаки в даркнете


image

У меня в повестке дня есть интересный вопрос: рассказать о том, что происходит в DDoS-атаками в даркнете. То есть, организация, проведение, методы, способы защиты. Тематика DDoS-атак в даркнете для нас, как для компании, никогда особого интереса не представляла: по понятным причинам, клиенты из даркнета к нам защищаться не приходят. Специфика занятий, на которых они зарабатывают деньги, и их собственная база пользователей, приходящих к ним на ресурсы, не располагает к тому, чтобы в такого рода отношения с сервисами защиты входить. Конечно, в мире есть исключения. Понятно, что где спрос там и предложение, и конкуренция в даркнете имеет примерно те же виды и обличия, что и в публичной сети. Поэтому DDoS-атака как способ выключить конкурента или заставить кого-то заплатить выкуп за то, чтобы его перестали DDoS-ить, постепенно, уйдя из заголовков новостных статей в публичном интернете, продолжает цвести пышным цветом в Tor-сетях и в даркнете в целом.

Понятно, что структура Tor несколько отличается от того, что мы имеем в публичной сети. Связь даркнета с публичным интернетом, которая осуществляется через экзит-ноды (гард-ноды) сама по себе является узким местом и не располагает к тому, чтобы большое количество трафика организовано лилось из даркнета в паблик (и наоборот). Тем не менее, в стародавние времена (2012-14 годы) такая штука, как сокрытие C&C-центра ботнета, существующего в публичной сети, внутри Tor-сетей, имела место быть. То есть, хакер держит свой C&C-компьютер в даркнете, через Tor отсылает управляющий трафик на ботнет, находящийся в публичной сети, и уже в публичной сети происходит атака на сайт. Для злоумышленника профит в том, что, если C&C в публичной сети можно отловить есть конкретные методы, которыми владеют ИБ-шники и форензики, по поиску управляющих центров, их перехвату и поиску владельцев то в даркнете это сделать гораздо труднее. Но эта лавочка просуществовала недолго, по ряду причин. Во-первых, сама работа C&C, рассылающего управляющий трафик по десяткам, сотням или сотням тысяч машин для начала атаки даже такая нагрузка, небольшая с точки зрения публичной сети (control point traffic), для Tor очень заметна и существенна. В 2013 году, когда один из крупных ботнетов поселил свой C&C-центр на onion-ресурс, трафик, который он генерировал, оказался достаточно заметным, чтобы замедлить работу целого сегмента Tor-сети. Не всем это понравилось, конечно. А самое главное, что в случае, когда атака уже случилась или была предотвращена, и расследованием атаки занимаются правоохранительные органы, инфосек-компании, эксперты-форензики, то, если ботнет был скомпрометирован, ниточки ведут в экзит-ноды тора. И по шапке получает, как и всегда в этом случае, владелец экзит-нода. Сам хакер не подвергается непосредственной угрозе, но закрытие экзит-нода и привлечение владельца к ответственности (хотя владелец и не имеет отношения конкретно к этим атакам) приводит к невозможности использовать инфраструктуру Tor в дальнейшем, в том числе и для других подобных действий. Поэтому, чтобы не пилить сук, на котором сидят сами организаторы атак, эту активность они преуменьшили, и сейчас она уже не столь заметна.

Что касается поиска контрольных центров ботнета и их владельцев это не совсем наша история. Мы занимаемся конкретно защитой от атак, а не расследованиями и поиском организаторов, хотя информация, которая у нас есть, помогает инфосек-компаниям заниматься своим делом конкретно, поиском. Один такой кейс прошел в большой степени на моих глазах, поэтому я с удовольствием им поделюсь. В 2014 году на одного из наших клиентов крупный банк с большим онлайн-присутствием произошла серия DDoS-атак, достаточно интенсивных. Мы сумели их отфильтровать и защитить клиента. Клиент не остановился на этом и обратился к инфосек-специалистам для поиска источников атаки и ее организаторов. У них были соображения о том, что ряд атак, происходивших на их ресурс, используя примерно одинаковый технический стек, вполне могли происходить из одного и того же места и быть одной и той же природы то есть, скорее всего, заказчик и организатор были те же самые. Что сделали люди из инфобеза: они достаточно быстро нашли сам ботнет, с которого генерировался трафик это было самое простое. А потом они подселили свой собственный honeypot такую же машину в этот ботнет, чтобы поймать момент, когда придет управляющая команда на атаку какого-нибудь ресурса. При очередном кейсе атаки они не только обнаружили машину, управлявшую началом и процессом атаки, но и выяснили, что с той же самой машины были обращения на атакуемый ресурс. То есть, злоумышленник-организатор атаки параллельно с кручением ручек для отправки мусорного трафика сам заходил на ресурс почекать, как он там, живой еще или свалился. По этим двум признакам его и нашли, сопоставили, нашли владельца машины. Дальше история уже переросла в уголовное дело; конец был довольно прозаический, и к технической сфере отношения не имеет. Тем не менее, понятно, что с даркнетом похожая история прокатывает труднее. Выход будет, естественно, на владельца экзит-нода, а что с ними бывает в России я уже говорил.
Это что касается атак из Tor-сетей наружу, теперь по поводу происходящего внутри самого даркнета. Там DDoS цветут пышным цветом, всех сортов и мастей. Что интересно например, в нашей статистике за последнюю пару лет можно увидеть, что атаки на 7 уровне то есть, на уровне приложений, те, которые используют HTTP, HTTPS-запросы, выбирают конкретные URL
Q: Посадить удалось? Если нет, то все равно безнаказанно будут нападать
Да, доказать и привлечь к уголовной ответственности злоумышленника удалось. Правда, это случилось не в Российской Федерации, а в соседней стране.

так вот, атаки на уровне приложения сейчас составляют в статистике лишь малую часть. Большая часть атак, которые мы видим регулярно это TCP, UDP, пакетные флуды, амплификации. То есть, более примитивные методы, которые дешевле стоят в организации, для которых есть куда больше тулзов, чтобы их быстро развернуть и начать. Для них не нужно большой подготовки перед атакой на какой-то сайт достаточно развернуть эту пушку в общем направлении жертвы и долбануть из нее. Прикладные атаки это всегда некоторый предварительный ресерч, выяснение того, как работает приложение, которое будут атаковать, как работает инфраструктура, куда эффективнее всего долбить в какие URI, в какие компоненты приложения. Эта работа стоит денег организатору, и по затратам такие методы атак выходят гораздо выше, чем дженерик-средства. А дженерик-средства популярны и дешевы в том числе и потому, что со времен Mirai, с 15-16 года, отрасль организации DDoS-атак и вообще активности на этой почве стала сервисной.

image

То есть, такое понятие, как устроить DDoS на заказ написать какому-нибудь хакеру, сказать ему, чтобы он положил некоторый сайт в определённое время этого уже практически нет. Потому что владельцы ботнетов и владельцы тулзов для организации ботнетов нашли более прибыльный способ зарабатывать на своем ремесле. DDoS as a service работает примерно так же, как и любой легальный сервис по подписке защита, CDN, ускорение сайтов. Ботнет предоставляется клиенту в shared-виде: то есть, некоторая часть мощностей предоставляется заказчику в пользование на определенное время за определенный прайс. Допустим, 5 минут атаки с существенной полосой будут стоить 10 долларов. Понятно, что маржинальность для владельцев все равно высокая: это гораздо выгоднее, чем one-time заказы от сомнительных личностей, которые и сдать властям могут. Сервисная работа куда более опосредована и не контактирует с заказчиком напрямую, при этом задействованность такого ботнета в атаках получается гораздо выше. То есть, зараженные устройства используются для генерации мусорного трафика гораздо более эффективно. Такие сервисы их еще называют бутеры растут как грибы; их искореняют, их сносят, находят организаторов, но они тут же вырастают снова. Самый знаменитый пример бутеров это сервис под названием vDOS, который держал под контролем часть ботнета Mirai, предоставляя его в shared-формате всем желающим. У них даже был сайт в публичной сети, довольно посещаемый, а оплату они принимали вообще через PayPal. Собственно, именно через PayPal эксперты-форензики и нашли организаторов; ими оказались двое израильских студентов, которые предпочли такой способ зарабатывания денег учебе и карьерным перспективам. Их привлекли к ответственности, но, по последним новостям все ограничилось общественными работами; возможно, мы еще увидим их либо в новой ипостаси бизнеса, либо уже на службе у какой-нибудь спецслужбы государства.

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

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

Касательно даркнета есть еще одна интересная история. Техстек, который там используется, проходит те же стадии эволюции, которые публичный интернет проходил десятки лет назад. Уязвимость конкретных веб-серверов, уязвимость устройств, которые используются для размещения ресурса в даркнете, к самым примитивным методам DDoS-атак, никуда не делась. Она потихоньку устраняется, но, так как этим не занимаются специализированные компании, это происходит спонтанно и медленно. Методов завалить ресурс, размещенный в даркнете, великое множество их был миллион, и сейчас осталось прилично. Если зайти на GitHub и поискать тулзы, с помощью которых можно вывести из строя ресурс, размещенный в даркнете, то можно найти совершенно курьезные способы. Такие примитивные вещи, как медленная атака GET-запросами, с которой справился бы любой, даже бесплатный, сервис по защите от DDoS и ботов (а если бесплатный не справляется, то можно заплатить 20 долларов CloudFlare и решить этот вопрос, или самому настроить балансировщик) были все так же эффективны против onion-сайтов пару лет назад. Подобные методы публично доступны и не требуют больших ресурсов, то есть, большого ботнета, для организации атаки. Довольно частая история на Tor-ресурсы приходят не DDoS, а нераспределенные DoS-атаки. Достаточно определенной последовательности запросов с одной конкретной машины, чтобы погасить Tor-сервер.

image

Такая ситуация сохранялась; например, фикс Tor-браузера 0.4.2 закрыл дырку, которая позволяла запросами из этого браузера завалить любой ресурс в даркнете, затратив 0 рублей на атаку.

Защита в даркнете


Что касается защиты в даркнете это тоже забавная история. В конце концов, adhoc-security-сообщество, которое там существует, пришло к выводу, что защищаться таки надо. Появилась такая штука, как EndGame: это тулкит для защиты от DDoS на своей конкретной машине, которая публикует ресурс в Tor.

image
Используются такие компоненты, как Nexi бесплатный фаервол для NGINX, а также конфиг самого NGINX и настройки сетевого фаервола. С точки зрения тех историй, которые происходят в публичной сети, EndGame это курам на смех; это то, что студент в рамках курса по internet security учится делать в первую очередь. Настройка фаервола на своей машине, если там крутится NGINX настройка его параметров, чтобы нельзя было завалить его медленной атакой, защита от небольшого SYN Flood. Никакого rocket science. Все это достаточно простые с технической и организационной точки зрения действия. Тот факт, что такая защита стала популярной историей в даркнете, говорит о том, что эволюционировать там еще есть очень далеко куда. Возможно, именно инфраструктурная разделенность таких сетей приводит к тому, что более крутые решения, которые есть по эту сторону, там не приживаются.

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

Забавные случаи из практики



image

Если говорить о забавных кейсов из опыта работы с клиентами, из опыта подключения мы говорим про публичную сеть, конечно. Я уже рассказывал про конкуренцию, это наш staple case, что называется, когда мы говорим про разные сегменты бизнеса. Еще забавны технически вещи, происходящие у наших клиентов на этапе онбординга и на этапе пилотной работы, первых недель и месяцев подключения к защите. Как правило, они связаны с тем, что некоторые пользователи может быть, даже вполне легитимные ведут себя очень интересным образом, совершенно не похожим на всех остальных. То же самое можно сказать и про ресурсы, которые мы защищаем. Некоторые ресурсы очень интересным образом подходят к вопросам общения с юзерами, имея свои трактовки протокола HTTP. Иногда это приводило к недопониманию и к конкретным инцидентам, которые разрешались даже без взаимного негатива, а с улыбкой и со смехом.

Когда мы говорим про уровень приложения и атаки на этом уровне, зачастую трафик этих атак мало отличается от запросов, которые делают нормальные пользователи. В этом и состоит интерес и сложности таких атак. Если не брать в расчет эффект от их работы и источники, из которых приходят эти запросы, они могут быть неотличимы от паттерна нормальных пользователей. Здесь приходится использовать более глубокий поведенческий анализ, смотреть на сессию каждого юзера от handshake и до выхода с ресурса, чтобы понять, что он вообще сейчас делал на ресурсе хорошее или плохое, не причинил ли он какой-то вред, не стало ли остальным юзерам худо от запросов из этого конкретного источника? На такие вопросы нашей автоматике приходится отвечать ежесекундно для сотен разных клиентов и для тысяч сайтов. Иногда граничные случаи поведения пользователей попадают в поле зрения системы и сводят ее с ума.

Простой пример это когда пользователь с абсолютно, в целом, легальной линией поведения, работает как планировщик задач, посещая новостные страницы на ресурсе в строго определенное время. Начинает в .00 минут утра, заканчивает в .00 минут вечера. При этом действия, которые пользователь совершает, не причиняют никакого вреда: это не парсинг и не скрепинг, он просто ходит по статьям, пишет комменты и отвечает на них.
Придраться не к чему кроме того, что он каждый день стартует и заканчивает в одно и то же время, и объем работы, которую он проделывает на ресурсе, получается несоизмеримо больше, чем у всех пользователей, которые не были определены как боты. У нас были разные гипотезы на этот счет; пару раз мы его случайно банили, после чего он писал в abuse ресурса по поводу того, что, собственно, происходит. В конце концов, мы махнули рукой мало ли, может быть, это контент-райтер, который явно работает в две смены без выходных и перерывов. В любом случае, пока такие юзеры время не приносят, принимать какие-то санкции к ним мы не считаем нужным.

Другой случай с обратной стороны, это когда ресурс ведет себя странно по отношению ко всем пользователям. У нас был заказчик, одна из функциональностей ресурса которого заключалась в том, чтобы предоставлять пользователям сгенерированные отчеты в виде DOC-файлов. Каждый такой отчет весил порядка 200 Мб, с картинками и таблицами. Забавным было то, что генерация отчета на сервере начиналась по нажатию кнопки на веб-странице. После этого сервер уходил в себя думать, генерил отчет и по готовности отсылал его одним куском, не нарезая на chunks, через HTTP file transfer, в рамках ответа на запрос. Шутка заключалась в том, что этот файл генерировался на сервере десятки минут. В какой-то момент наша служба поддержки получила от клиента заявку с просьбой увеличить время таймаута на обработку запроса на наш reverse proxy до 20 минут. Сначала люди не поверили своим глазам и пошли разбираться: как так, 20 минут на таймаут на запрос? Зашли на сайт, проверили, получилось именно так: с момента нажатия кнопки соединение продолжается 20 минут, после чего сервер наконец выгружает файл, и его можно получить. Экспериментальным путем скорее, даже трезвым оценочным взглядом стало понятно, что десяток пользователей, одновременно попавших на сайт, могут случайно устроить DDoS и полностью вывести сервер из обращения без какого-либо злого умысла, труда и затрат. И это не хабраэффект, когда десятки тысяч людей ломятся на инфоресурс одновременно, а сервер не может обработать их всех из-за нехватки производительности; здесь просто интересная история с ответами на запросы приводит к тому, что сервер не может так работать. Мы со своей стороны, конечно, порекомендовали делить файл на chunks, отправлять его кусочками, формировать отчеты в фоне и прочее.

В интернете есть ресурсы, которые работают по похожему принципу то есть, они by design уязвимы к атакам любой интенсивности и сложности организации. Вообще ничего не нужно, чтобы вывести такой сайт из строя. Есть API, работающие таким же примерно образом (тяжеловесные ответы, дорогие в обработке запросы к API, синхронная работа API). Сам факт этого приводит к тому, что DDoS-атаки случаются в разных местах даже без участия злоумышленников, хакеров, без всякой задней мысли. Когда мы сталкиваемся с такими ситуациями, мы стараемся консультировать заказчика насчет того, где у него странность в приложении и как ее можно исправить. И, конечно, пополняем свой паноптикум забавных архитектурных решений, которые мы ни в коем случае никому бы не рекомендовали имплементировать.

Буду рад ответить на любые вопросы их можно будет оставить в статье на Хабре или написать мне по контактным данным.

Ссылки для чтения:


Предыдущую расшифровку нашего эфира можно посмотреть тут, ещё больше наших спикеров по хэштегу #ruvds_расшифровка


Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru