Кому помогут курсы по DATA SCIENCE?

Привет, здесь Владимир из DataWorkshop.

Я веду подкаст "Бизнес мысли" (пока только на польском языке), на котором уже более 200 000 прослушиваний.
На русском языке мы будем публиковать статьи на основании подкастов.

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


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


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


Очень классные истории. Мне нравится слушать разные истории людей, которые растут и меняются, поэтому и создаются такие эпизоды, как этот.
От аналитика данных до Data Scientist-a.
Первой о своем опыте рассказывает Ola Mazurek, которая работает с данными уже довольно давно.

В настоящее время она работает Data Scientist-ом. До начала курса она сомневалась, стоит ли идти на курс, есть ли смысл, ведь она уже работает в этой сфере. Но довольно часто бывает так, что, когда вы работаете в одном месте, это немного повторяет определенный опыт, который ходит по кругу. Это также является некоторой проблемой, которая де-факто есть у всех, когда они работают на одном и том же месте.

Стоит также сказать, что Ола выиграла конкурс в Kaggle по теме "Прогнозирование цен на недвижимость в Москве".

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

Я приглашаю послушать отзыв Оли.

Владимир:
Привет, Оля. Представься, пожалуйста, чем занимаешься и где живешь.
Оля:
Привет, Владимир. Меня зовут Ола Мазурек. В настоящее время я работаю Data Scientist-ом в компании Mondelēz. Я поддерживаю процесс составления прогнозов и живу в Варшаве.
Владимир:
Вступительный вопрос. Какую классную книгу недавно прочитала и почему ее стоит прочитать?
Оля:
Хотя я недавно прочитала книгу, которую вы рекомендовали на курсе - "Атомные привычки", на самом деле я хочу поговорить о другой книге. А именно о той, которая меня больше тронула. Это книга под названием "Касаясь пустоты", написанная Джо Симпсоном. Она была опубликована в 1988 году - в год моего рождения. Это книга альпиниста, рассказывающая о его экспедиции с другом Саймоном в перуанские Анды.


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

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

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

Мой путь заключался в том, что я начинала как аналитик данных, но с использованием SaaS и SQL. Около 5,5 лет я занималась анализом данных о клиентах, поддержкой бизнес-партнеров - это были данные о лояльности.

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

Но было также здорово использовать данные сегментации клиентов, например, чтобы увидеть, как эти клиенты группируются в определенные конкретные сегменты, что их интересует, как эти сегменты отличаются друг от друга. Вторая вещь - это scoring - своего рода модели propensity. Все это время речь шла о Random Forest, логистической регрессии или K-means.

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

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

После этого приключения я перешла от анализа клиентов к прогнозированию. Здесь действительно есть много возможностей для улучшения, потому что всегда есть проблемы, мы всегда хотим большей точности. Так что на самом деле есть ряд возможностей и действительно хорошая область, чтобы побудить нас использовать новейшие методы, чтобы действительно попытаться получить на полпроцента больше этой точности.
Курс по Data Science подходит для  Data Scientist-a?
Владимир:
Работая уже несколько лет в роли Data Scientist-а, используя Random Forest для работы с данными, ты все-таки решилась пойти на наш практический курс по Data Science. Хотя и сомневалась. Что повлияло на Твое решение?
Оля:
Да, я некоторое время сомневалась, потому что, с одной стороны, я не хотела повторять те знания, которые у меня уже были. Известно, что это было бы бессмысленно. С другой стороны, я подумала, что, во-первых, курс на Python, а я пока скорее изучала Python для собственных нужд, потому что постоянно использую SaaS на работе (в обоих случаях). Все курсы, которые проходила до сих пор, были созданы для тех, кто хотел обучиться с нуля.

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

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

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

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

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


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


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

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

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

Так что некоторые из синергии между этими решениями, которые люди разрабатывают на Python, не все они будут переведены 1:1 в SaaS. Поэтому я думаю, что именно туда я буду направлять свои дальнейшие карьерные шаги.

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

Тогда все только начиналось и были разные позиции Data Scientist. Сейчас возможностей гораздо больше.

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

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

Если находиться в центре организма и отдавать себя, т.е. вкладывать свое время, свою энергию в достижение своих целей, то рост может быть гораздо быстрее, чем кажется. Большое спасибо за этот отзыв.
Оля:
:)
Data Scientist — самые важные навыки.
Владимир:
Оглядываясь назад, какие навыки Ты считаешь наиболее важными для Data Scientist-а?
Оля:
Однозначно первое – это желание развиваться. Я думаю, очень важно не оставаться на месте. Этот мир сейчас слишком быстро меняется, и это также девиз вашего подкаста. Вы должны идти в ногу со временем, вы должны проверять эти новые алгоритмы, новые предложения, которые придумываются.

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

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

Мы говорили о том, что до начала курса Ты сомневалась, идти или нет. Теперь возникает вопрос: стоило ли оно того?
Оля:
Конечно, оно того стоило. Лучшим доказательством этого является то, что даже когда курс еще продолжался, я уже купила еще один. Так что я определенно считаю, что оно того стоило. Я действительно многому научилась, ваш подход к использованию практических примеров просто великолепен. Мне это очень нравится.

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

Здесь я чувствую, что было не "одно предложение", и мне, вероятно, удалось немного больше. Так что я тоже этому рад. Я также горжусь тем, что внес свой вклад в это. Большое спасибо, скоро увидимся.
Оля:
Большое спасибо, продолжайте в том же духе.
Нужны ли лицу, принимающему решение, рабочие знания в области Data Science & Machine Learning?
Владимир:
И теперь мы переходим к другому участнику нашего подкаста - Piotr Kaczmarski. Очень интересный человек, который уже имеет многолетний опыт работы в сфере ИТ.

Привет, Петр. Представься, пожалуйста, кто Ты, чем занимаешься, где живешь?
Петр:
Привет. Более 20 лет я увлеченно занимаюсь информационными технологиями. Я живу в Варшаве. В начале своей карьеры я руководил ИТ-командами в банке, затем немного внедрял ERP-системы. Некоторое время я также занимался управлением проектами, а в настоящее время я работаю в бухгалтерии и отвечаю за все, что связано с IT-командой, то есть за оборудование, программное обеспечение. В наших рядах в фирме работают налоговые консультанты, бухгалтеры, люди, отвечающие за кадры, расчет заработной платы, а также у нас есть ряд юристов. В общей сложности нас около 160 человек. В моем ИТ-отделе работает 17 человек.
Владимир:
Расскажи, какую классную книгу успел прочитать за последнее время и хотел бы порекомендовать?
Петр:
Честно говоря, я стараюсь много читать и искать новое вдохновение в том, что читаю. Я читаю много постов на Linkedin, в которых также можно найти много интересного.

Я действительно призываю всех использовать эту среду, потому что вы можете наблюдать за самыми разными интересными людьми, которые занимаются Machine Learning или Data Science по всему миру. Полезно просто наблюдать за такими людьми. Среди моих друзей, например, есть люди из США, Австралии, Индии или Мексики. Благодаря одному такому другу, с которым я познакомился на Linkedin, я узнал о книге, которую недавно прочитал.

Она называется "Как Google, Боно и Гейтс сотрясают мир с помощью метода OKR". В ней описывается метод, использующий цели для управления компанией, который когда-то был разработан в Intel, а в настоящее время, насколько я знаю, используется, в частности, в Google. В Польше я узнал, что Allegro и еще более 50 компаний используют его. В книге приведены примеры использования этого метода, а также свидетельства людей, которые принимали в нем участие.

Насколько я понял, этот метод состоит в том, чтобы поставить перед собой цели, которых мы хотим достичь - в идеале в течение 3 или 6 месяцев. Для этого мы определяем ключевые результаты, которые являются своего рода измерителями успеха. Разумеется, они должны быть измеримыми, и их количество должно быть где-то между 3 и 5.

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

Теперь давай поговорим о Твоей роли, потому что Ты немного упомянул о том, чем занимаешься, но скажи, чтобы было понятно: какова Твоя роль в работе?
Петр:
Как я уже упоминал, у нас команда из 17 человек, и, например, у нас есть супер отзывчивые и доброжелательные сотрудники внутренней поддержки, так что это своего рода IT-команда (такие золотые руки, что просто если у пользователя возникла проблема, они пойдут и разберутся с ней, починят, решат его проблему).

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

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

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

Первым делом, связанным с ML, которое мы сделали уже пару лет назад, было внедрение OCR. То есть, это уже было своего рода семя искусственного интеллекта, которое мы пытались сделать. У него была одна задача: распознавание счетов. Пользователи загружали документы на этот портал, они автоматически передавались прямо в OCR, OCR распознавал их и возвращался к нам с результатом. На портале, если что-то было не так, неправильно распознано, это исправлялось. Позже это отправляется как правильные данные в OCR, и OCR просто начинает учиться на данных, которые мы отправляем.

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

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

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

Петр, Ты был участником курса "Data Science & Machine Learning на практике". Ты занимаешь руководящую должность, что означает, что, вероятно, не будешь кодировать напрямую. Какова была Твоя мотивация?
Петр:
Отчасти, если кто-то уходит в отпуск, он все равно кодит — так получилось. Почему я решил начать учиться? Хотелось бы создать в нашей компании команду, которая бы занималась такими темами. Я подумал, что было бы здорово, если бы такая команда ускорила и улучшила качество обслуживания клиентов и скорость обслуживания. Чтобы создать такую ​​команду, подобрать правильных людей, мне нужно пополнить эти знания.

Итак, в начале я получал знания через различные виды обучения (например, Udemy, LinkedIn Learning), я слушал ваши подкасты, эти подкасты были со мной годами, и где-то тем временем появилось сообщение, что онлайн-интенсив DWthon запускается. Я подписался на это. Я прошел курс по Python. После этого я просто записался на курс «Практическое машинное обучение» и прошел его.
Владимир:
Скажи мне, что было для Тебя открытием? Насколько будут востребованы полученные Тобой знания и насколько значим для Тебя такой способ передачи опыта?
Петр:
Если честно, я хотел собрать свои знания воедино. Я записался на курс, потому что, как я уже упоминал, я проходил эти курсы на Udemy или LinkedIn Learning или даже поступил на некоторые курсы в Хельсинкский университет, курс машинного обучения, который я закончил там же. Но те курсы, которые я проходил, давали готовый Jupyter Notebook, где по мере выполнения все шло хорошо. Не хватало именно такой организации, поэтому я и записался на курс DataWorkshop.


На этом курсе я получал знания, в течение двух недель я начал впитывать эти знания, через две недели я уже думал, что много знаю. Мне казалось, что я могу сдвинуть горы. Пришло время соревнований (прим. во время каждого выпуска курсов проводится конкурс в Kaggle), я сел за стол, чтобы участвовать. Единственное, что мне тогда удалось набрать по памяти в Jupyter Notebook в самом начале, это import pandas as pd - и больше ничего. Но день за днем, когда я просто проводил часы, практикуясь, копаясь в информации в образцах блокнотов, которые были предоставлены в рамках курса, время от времени, конечно, были взлеты и падения, то поднимаясь в рейтинге, то падая в рейтинге, и, конечно, у меня было много написанного кода.


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

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

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

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


Я говорю о ситуациях, в которых что-то было учтено неправильно, а если это было учтено неправильно, то следствием будет плохо составленная финансовая отчетность, плохо составленные документы в ZUS (касса социального страхования), в налоговую инспекцию. Честно говоря, да, я постепенно внедряю свои знания и идеи. По этой причине, например, мы, возможно, еще встретимся, потому что я уже записался на курс NLP, который, возможно, позволит мне еще глубже погрузиться в эти темы.
Владимир:

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


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

Зачем программисту нужно машинное обучение?
Владимир:
Привет, Мацей. Представься, пожалуйста, кто Ты, чем занимаешься и где живешь.
Мацей:
Здравствуй, Владимир. Меня зовут Мацей Радошко. Я программист с 8-летним опытом работы. Формально моя нынешняя должность называется Senior Fullstack Software Engineer. Что это значит, возможно, я сразу объясню для тех, кто не знает. Fullstack Software Engineer означает, что на работе я имею дело с такими двумя частями программного обеспечения, как Frontend, т.е. визуальная часть, видимая конечному пользователю, который использует приложение, и Backend, т.е. часть, работающая в фоновом режиме, выполняющая фактические задачи или логику приложения. В настоящее время мой стек, то есть технологии, на которых я работаю, - это Java, JavaScript, TypeScript, Node.js и React. А я родом из Вроцлава, там и работаю.
Владимир:
Теперь мы перейдем к темам машинного обучения, поскольку Ты прошел курс "Практическое машинное обучение". Почему решил пройти этот курс?
Мацей:
Я никогда раньше не нуждался в машинном обучении. Я окончил Вроцлавский технологический университет по специальности "компьютерные науки". Я выбрал специализацию в области разработки программного обеспечения. Была возможность специализироваться на искусственном интеллекте, но программная инженерия показалась мне более интересной, а также более важной с точки зрения того, чем я хочу заниматься дальше. Честно говоря, в то время тема ML меня нисколько не привлекала.


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


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

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

Они показали мне, что даже если я еще не сталкивался с искусственным интеллектом в своей профессиональной деятельности, где-то есть люди, которые уже делают это. Поэтому, продвинувшись немного вперед во времени, в какой-то момент я решил, что хочу наверстать упущенное и научиться чему-то у ML. Я убедил своих друзей (здесь мы передаем привет Асии и Гжесь :)) присоединиться ко мне, потому что вы знаете - вместе веселее. Мы записались на курс «Практическое машинное обучение».
Владимир:
Как сейчас относишься к теме ML?
Мацей:
Я чувствую себя все более и более уверенно. Моей первой целью было понять лексику в целом. Если название practical machine learning окажется не таким уж практичным и я останусь только с некоторым словарным запасом, более или менее сложным, подумал я тогда, то это уже будет успехом для меня, потому что мне будет о чем поговорить. Я смогу понять, что мне говорят люди, и я прекрасно знаю, что рано или поздно я столкнусь с этими темами, потому что времена такие.

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

Забавный анекдот: Аcия, о которой я упоминал, однажды на наших частных консультациях (потому что мы иногда собирались вместе, чтобы решить проблемы, с которыми, возможно, кто-то столкнулся, а другой человек случайно проходил через это или знал ответ). Однажды Аcия принесла вопросы от коллеги, который претендовал на должность аналитика данных или специалиста по анализу данных.

Просто из любопытства она начала перечислять эти вопросы, и мы вместе пытались на них ответить. Оказалось, что, будучи на тот момент, наверное, на середине курса или на 3/4 курса, мы действительно могли ответить на все эти вопросы, и я предполагаю, что люди, которые были в теме 4-5 недель, не претендуют на такую должность. И тогда я действительно увидел, что это не просто мое восприятие того, что я знаю, как что-то делать, а то, что, отвечая на эти вопросы, рынок также подтверждает это.
Владимир:
Это круто, также стоит сказать, что эта компания задает правильные вопросы, потому что иногда с этими вопросами рекрутеры поступают по-разному, но Ты привел очень крутой пример. Вообще, есть интересная вещь - однажды у меня была презентация на эту тему, посвященная Fullstack (включает и фронт и бэк).

Есть некоторые мысли, что просто Full содержит или будет содержать ML, а без ML это будет такой Halfstack. Как думаешь: это видение скорее на 5, 10, 20 лет вперед? С Твоей стороны (или со стороны компании, бизнеса) есть идеи, как начать использовать ML? Что думаешь: Fullstack и ML уже сливаются воедино или это лишь долгосрочная перспектива?
Мацей:
Позволь мне сначала рассказать историю из моей жизни о том, как выглядела моя карьера и ML на горизонте. За 8 лет работы в компаниях я лишь однажды столкнулся с ML в бизнес-приложении, и то только потому, что мы сами решили попробовать создать такой прототип в рамках хакатона, что и сделали.

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

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

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

С другой стороны, если спрашиваешь меня о рынке труда и о том, включает ли Fullstack уже или будет включать ML или нет - это очень хороший вопрос, потому что, глядя на объявления о работе, для работодателей Fullstack - это человек, который будет заниматься разработкой как frontend, так и backend, и, честно говоря, я не видел объявлений о работе, где упоминалось бы что-то о ML. Возможно, я не искал таких объявлений, но они не особенно привлекли мое внимание. Если посмотреть на мое окружение, то получается, что либо кто-то занимается ML и темами data scientist или data engineering и не слишком много программирует, либо программирует, а ML занимается кто-то другой.

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

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

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

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

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

Последний раз я использовал ML в Java в колледже. В настоящее время, по крайней мере, с точки зрения Java-разработчиков, ML равен в основном Python, где-то, возможно, позже R. В моем окружении бытует мнение, что если вам нравится Java, то вряд ли вам понравится Python, а это может означать, что вы не имеете дело с ML на ежедневной основе. Ведь почему вы должны расстраиваться, если вас раздражает язык? Возможно, это изменится, благодаря распространению машинного обучения в компаниях и изменению требований на рынке труда, т.е. в объявлениях будет требоваться, что вы должны знать это, потому что это стандарт. Или, может быть, через развитие технологий. Возможно, эта монополия Python на ML закончится или мы начнем использовать какие-то другие технологии.

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

Я спрошу еще об одном, не касаясь непосредственно ML — Ты работаешь как Fullstack Developer и прошел курс, в котором, конечно же, было много о машинном обучении, но также много внимания уделяется и другим вещам. Мне любопытно (просто с точки зрения перспективы), есть ли какие-либо знания, которые Ты получил на курсе и которые Ты также можешь использовать в качестве Fullstack-разработчика? Я не то, чтобы говорил что-то о Java, а, может быть, образ мыслей, может быть, определенный подход, может быть, Тебя что-то вдохновило?
Мацей:
Многие вещи были повторением элементов, которые я использую каждый день. Например, не пытаться неделями выдавать решение, а потом при проверке после этих недель выясняется, что то, что я делал, - бессмысленно. Это больше касается выполнения небольших циклов и проверки того, движемся ли мы в правильном направлении или нам нужно сделать шаг назад.


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

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

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


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


Еще раз большое спасибо за то, что поделился своим мнением.
Мацей:
Спасибо большое.