Habr как стать data scientist
Перейти к содержимому

Habr как стать data scientist

  • автор:

Из инженера – в Data Scientist: лайфхаки от первого лица

Привет! Меня зовут Роман Ленц, в Первой грузовой компании (ПГК) я занимаюсь анализом данных и машинным обучением в рамках проекта «Цифровой вагон», подробнее о котором рассказано здесь. Еще 3 года назад я работал инженером-конструктором в зарубежной строительной компании. Почему я решил кардинально поменять свою карьерную траекторию, почему выбрал именно Data Science, и как я к этому пришёл? Поделюсь опытом, который, возможно, окажется полезным для молодых специалистов, ищущих «работу мечты». Тем, кто задумался о смене профессии, думаю, информация тоже будет полезна.

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

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

Определившись, я стал постепенно вспоминать основы математики, линейной алгебры, статистики, теории вероятности. Параллельно начал проходить профильные курсы на крупных онлайн-платформах – DataCamp, Stepik, Яндекс.Практикум и других.

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

Участие в хакатонах по машинному обучению

От знаний к практике. Участвуя в хакатонах, я учился применять все полученные знания на онлайн курсах на решении прикладных задач. Самая популярная площадка для проведения соревнований по машинному обучению, которой мне приходилось пользоваться в поисках проводимых мероприятий, – Kaggle.com, но вообще-то подобных площадок довольно много. Есть и российские аналоги, например, ребята из Boosters.pro организовывают и проводят крутые чемпионаты для крупных российских компаний.

Хакатоны дают выход на реальные задачи от реальных компаний, в том числе лидеров рынка. Компании часто бывают заинтересованы не только в перспективных и интересных решениях от участников, но и в найме персонала, поэтому есть шанс сразу же после завершения соревнований получить приглашение на собеседование или оффер. Кроме того, благодаря участию в решении таких задач вы не просто «прокачиваете» свои навыки, но и начинаете лучше понимать, что нужно и важно для компаний конкретных отраслей. Если это банк, то ожидайте задачи на кредитный скоринг, для тяжелой промышленности — это оптимизационные задачи, а в ритейле — прогнозирование спроса и промо. Это будет вашим преимуществом во время собеседований.

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

Работа с ментором

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

Если такого друга-ментора у вас нет, отчаиваться не стоит. У Data Scientists и всех причастных к этой сфере разработчиков есть свое довольно живое комьюнити на 60 тысяч человек в Slack, которое так и называется – Open Data Science. Здесь есть и те, кто только интересуется этой сферой и делает первые шаги, и уже продвинутые специалисты. Смотрите здесь анонсы мероприятий, связанных с машинным обучением, актуальные вакансии, обсуждайте свои задачи или проекты, узнавайте об очных или онлайн митапах, которые проводятся время от времени. На сайте сообщества можно посмотреть открытые обучающие курсы, соревнования и различные проекты, в которых можно принять участие.

Практика и прокачка soft skills

Еще одним важным аспектом перехода в DS являются те soft skills, на «прокачивание» которых будущий специалист должен обратить особое внимание. Понятно, что в части базовых навыков важны математическая подготовка, знание алгоритмов машинного обучения, статистики и теория вероятности. Но не менее важный навык – умение общаться с заказчиком, услышать его потребности, убедить его, не нагружая сложными математическими формулировками.

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

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

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

Ходите на интервью

Хотелось бы добавить ещё один важный этап — интервью, который многие игнорируют или зачастую просто боятся. При самостоятельном освоении материала по машинному обучению, статистике, больших данных и т.д., а особенно при прочтении различных статей на форумах, вам часто будет приходить в голову мысль: «А почему так много нужно знать?». Именно большой поток информации при прохождении курсов может отпугнуть тех, кто хочет войти в DS. Но нужно понимать, что есть довольно большой разброс желаемых требований к кандидатам в зависимости от того, чем компания занимается и её уровня технологической «зрелости». В одной компании вам нужно знать всё о компьютерном зрении и NLP, а в другой достаточно будет знать основы классического машинного обучения и немного статистики. Поэтому ходите на интервью как можно чаще и практикуйтесь. Только так вы сможете понять, что от вас ожидают работодатели и где стоит подтянуть свои знания. В этой сфере всё стремительно меняется, нужно всегда быть в теме лучших практик на рынке, и об этом вы больше всего узнаете от ваших потенциальных работодателей.

Буду рад, если кому-то помог решиться на первые шаги в Data Science. Верьте в себя и не бойтесь круто изменить судьбу.

  • data science
  • machine learning
  • смена профессии
  • практические советы
  • Блог компании Первая грузовая компания (ПГК)
  • Хакатоны
  • Машинное обучение
  • Карьера в IT-индустрии

Почему Data Science не для вас?

Data Science сейчас во многом благодаря активному маркетингу становится очень популярной темой. Быть датасаентистом – модно и, как говорят многие рекламки, которые часто попадаются на глаза, не так уж и сложно. Ходят слухи, что работодатели стоят в очереди за возможность взять человека с курсов. Получить оффер на работу крайне легко, ведь в ваши обязанности будет входить требование данных от заказчика (как обычно говорят, чем больше данных – тем лучше) и закидывать их в искусственный интеллект, который работает по принципу черного ящика. Кстати, еще и платят немереное количество денег за всё это.

Спойлер: это не так.

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

Обзор понятий

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

Дата аналитики обычно заняты тем, что получают данные и пытаются найти в них закономерности. Эти люди отвечают на вопросы бизнеса: что, почему, как, как сделать лучше, а еще вот можете на график посмотреть. Аналитики чаще контактируют с другими людьми: чтобы выстроить правильную коммуникацию в команде и правильно описать и презентовать результаты своего анализа. Ваши друзья здесь: мат.статистика, python/R, SQL, платформы типа PowerBI/Tableau/Qlik и прочее необходимое для визуализации результатов. Также необходимо глубокое понимание области, в которой вы проводите анализ.

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

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

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

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

Почему всё-таки Data Science не для вас?

  1. Data Science – для усидчивых. Над одной и той же задачей придется сидеть очень долго. Пока найдешь все необходимое в данных, пока найдешь оптимальный способ обработки данных, пока погрузишься в область, пока переберешь все модельки, которые могут потенциально хорошо решить эту задачу… А еще надо дождаться, пока модель обучится — это ж целая вечность пройдет! Потом еще выясняется, что у модели метрики недостаточно хорошие, и весь этот путь нужно пройти заново, но с новыми идеями. Хватит ли вам умения занять себя другими делами во время обучения модели? Вряд ли проджект будет в восторге, если узнает, что несколько дней вы пили кофе, пока модель обучалась. Хватит ли вам терпения перебирать идеи до тех пор, пока точность модели не достигнет нужного бизнесу числа?
  2. Математика останавливается не на 2+2 и даже не на интегралах. Вам точно понадобятся знания по мат.статистике, линейной алгебре, теории вероятностей. Нет, вам не хватит встроенных в библиотечки функций. Может быть для какого-то поверхностного анализа и составления простецкой модели – да, но чтобы лучше анализировать огромные массивы данных, в математике действительно нужно разбираться.
  3. Вам нужно знать Python/R/Scala или еще что-то, на чем вы соберете ваше решение. Вы не бэкенд-разработчик, но вам нужно приготовить умную штуку, которую можно будет встроить в прод. Нужно будет составлять POC-шки, функции предобработки данных, которые затем будет имплементировать бэкенд-разраб. Необходимо уметь общаться с бэкендерами на их языке, если им понадобится помощь при внедрении вашего решения.
  4. Еще немного о встраивании модели в прод: вам нужно интересоваться тем, на каком железе будет запущена модель. Ну не получится запустить трансформер на сервачке заказчика с двумя ядрами и без малейшего признака GPU. А решение, которое работает на вашем компе и не работает на устройствах клиента не будет принято и, соответственно, оплачено.
  5. Нужно знать фреймворки, которые приняты в команде. Если вы до этого делали fit на керасе, а потом внезапно пришли в команду, которая работает на pytorch, уйдет много времени на обучение работе с новыми инструментами. Справедливости ради, вряд ли вас возьмут на работу со стеком, в котором у вас нет опыта, но на всякий случай лучше задавать этот вопрос на первых этапах собеседования.
  6. По ходу проектирования решения нужно будет использовать огромное количество, библиотек и лучше знать как ими пользоваться до начала работы над проектом. Или же уметь быстро ориентироваться в документации, а в процессе только добирать необходимое. Обучаться всему и сразу плохая идея.
  1. Вам нужно уметь использовать тулзины, которые тесно связаны с разработкой моделей. Модели и данные нуждаются в версионировании. В этом могут помочь DVC, MLflow или, например, Weights&Biases. А еще модели нужно сервить. В этом случае могут быть пригодны TorchServe или Tensorflow Serving. А может быть вам нужно будет написать свою обвязку вокруг модели, чтобы ее можно было быстро потестить. Этот зоопарк огромен. Нужно выбрать из него именно те вещи, которые вам помогут, и учиться ими пользоваться.
  2. Нужно уметь не только чистить данные, но и размечать их, когда вам не дали нормальной разметки, искать, какие данные можно добавить к выданному заказчиком датасету, если его явно не хватает.
  3. Важной частью вашей работы будет общение с бизнесом для того, чтобы точно определить цель того, что вы делаете, и не сделать того, что не нужно. Иногда заказчики дают расплывчатое ТЗ, внимательно вчитываясь в которое вы обнаружите, что заказчик хочет всё и сразу, но при этом непонятно зачем. Поэтому нужно будет суметь задать такие вопросы, которые прояснят, что действительно требуется от вас, или суметь сократить скоуп работ до реально реализуемого.
  4. Если проджект где-то там пообещал нереальные сроки для выполнения вашей задачи, нужно вовремя суметь сказать, что пятилетку за три года – не получится. Нельзя просто так взять и выстроить радужные мечты вокруг того, как быстро вы сможете сделать задачу. А с вас точно потребуют сроки, в которые будет необходимо уложиться. Вопрос оценки времени на реализацию – очень сложен. Здесь важно не только правильно декомпозировать задачу, но и добиться понимания от вышестоящих людей, почему эта задача не может быть реализована в очень сжатые сроки. Так что составляем план, и его придерживаемся. А если что-то выходит из-под контроля срочно трубим о том, что ничего не успевается и с этим надо что-то делать.
  5. А еще вам самим придется составлять ТЗ по данным, которые вы хотите получить. Из нашего опыта, чаще приходят заказчики, которые не понимают, что вам от них нужно и в каком объеме. Будьте готовы отвечать на вопрос сколько и каких данных вам надо, вникать в задачу на этапе обсуждения проекта и предполагать, какие кейсы могут возникать в вашей задаче. Также количество размеченных данных, следует запрашивать в таком объеме, который сможет удовлетворить заказчика. Если вы потребуете терабайты размеченных данных, а другой исполнитель скажет, что ему хватит пары гигов, то выберут скорее его, а не вас, просто потому что разметка данных стоит немалых денег. А ответ «чем данных больше – тем лучше» никого не устроит.
  6. Data Science – не только про генерацию красивых картинок и красивой музыки без помощи человека. Частый запрос бизнеса – проанализировать информацию о клиентах. Из этой бизнес-задачи может вытекать DS-задача, которая вам не понравится. Например, выстроить контекстную рекламу так, чтобы новые покупатели приобрели товар подороже, или завысить цену продукта в соответствии с предполагаемым уровнем дохода покупателя. Будет ли такая задача вписываться в ваши моральные рамки? Возможно, у вас будет опция отказаться от задач, которые не подходят вашему пониманию хорошо-плохо.Но бывает и так, что вас не спрашивают. Конечно, вопрос, стоит ли работать с компанией с которой у вас разное понимание границ не в плоскости data science, а скорее в общем. Но будьте готовы к тому, что в data science часто встает вопрос этики использования данных, и эта этика зафиксирована в достаточно размытом формате.

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

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

Важное качество в профессии датасаентиста – способность постоянно учиться, находить для себя новые задачи и расти на этом практическом опыте. А еще постоянно следить за событиями в сфере, потому что кажется, что она обновляется чаще и кардинальнее, чем другие сферы IT. Поэтому специализированные курсы – это хорошо, высшее образование – тоже, но важно понимать, что это ещё далеко не всё, это только начало длинного и тяжелого пути.

Cекция «вопрос-ответ» в лучших традициях пиар-страниц курсов

  1. Датасаенс – это весело?

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

  1. Я математик по образованию и по желанию и очень хочу в DS. Получится?

Отличная база. Математика как основа – это очень хорошо. Но вам еще очень многое придется освоить. Удачи вам в этом нелегком пути!

  1. А я вот из программиста решил переквалифицироваться в датасаентиста, каковы шансы?

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

  1. А почему вы говорите, что искусственного интеллекта сейчас не существует?

Искусственный интеллект – интересное понятие. Этим термином внезапно стало принято называть всё, что может делать что-то за человека. Но до «интеллекта» там далеко. Да данный момент то, что мы называем ИИ, это алгоритмы, которые могут решать узконаправленную задачу. Распознавание лиц? Детекция объектов? Генерация контекстной рекламы? Интеллектуальный анализ данных? Все это узконаправленные сферы. Разве мы можем назвать калькулятор искусственным интеллектом? Ну, это вряд ли. Хотя он также решает узконаправленную задачу – решение математических уравнений. А пару столетий назад это казалось задачей искусственного интеллекта. В целом, можно сказать, что ИИ существует, но в очень примитивном виде. Его эволюцию можно сравнить в эволюцией человека. На ранних стадиях задачи человека также были узконаправленными и примитивными, но человек эволюционировал. Так же можно предположить и с ИИ, он может эволюционировать. И не обязательно базой для «прогрессивного ИИ» будут нейронные сети.

Подведем итоги

  • Data Science – это профессия с высоким порогом входа. Нужно многое знать, нужно многое уметь. Если вы хотите в IT, и вам кто-то сказал, что через дата саенс это сделать проще, чем через другие профессии, то не слушайте этого человека. Обратите внимание на другие возможные варианты входа в IT, например, верстку или ручное тестирование.
  • Data Science – это не только про построить предсказывающую модель в jupyter-notebook и отдать ее дальше. Скорее всего, вам придется делать сильно больше этого функционала.
  • В работе с данными есть разные ветвления профессий, например, инженер данных или аналитик данных. Для них требуются иные навыки. Может быть, если ваше желание именно работать с данными, вам стоит посмотреть на эти специализации.
  • Data Science – про постоянное обучение и слежение за новыми разработками в этой сфере. Держать руку на пульсе – это один из ключевых навыков датасаентиста.
  • Курсов, на которых вам за несколько месяцев дают всё необходимое для профессии – не существует. Вам могут дать базу, но стоит ли эта база тех денег, которые за нее просят, это спорный вопрос.
  • Есть множество курсов по DS, которые находятся в открытом доступе абсолютно бесплатно, и дают примерно тот же материал, что и дорогостоящие. А практические задачи можно найти на kaggle. Кстати, там же есть и решения других людей, которые могут вам помочь обучиться и понять, как же все-таки делать лучше. Рассмотрите этот вариант. Возможно, в будущем мы сделаем статью-сборник с такими материалами, а пока посоветуем отличный ресурс для начала обучения.

Ничего не понятно, но очень интересно: как начать карьеру в Data Science без профильного образования

Считается, что Data Science — это очень сложное направление, в котором обязательно нужны математические знания и техническое образование. Это верно только отчасти: внутри Data Science есть сайентисты, аналитики и инженеры. У них разные задачи и им нужен разный бэкграунд. О том, на кого легче выучиться гуманитарию, что нужно знать, чтобы войти в новую специальность и можно ли стать хорошим аналитиком данных без профильного опыта, рассказывает преподаватель GeekBrains, Data Analyst с уклоном в Data Engineering Никита Васильев.

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

Что нужно знать аналитикам, инженерам и сайентистам

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

Data-аналитику важнее всего софт-скиллы — разговорные навыки, умение вести документацию и процессы в Jira. Этот специалист делает вспомогательную работу в Data Science, поэтому на базовом уровне ему тоже стоит понимать теорию вероятности и статистику. Но на работе эти знания ему могут и не пригодиться. Всё зависит от специфики компании, в которую он устроится. Но точно понадобится понимание бизнеса, того, как там всё устроено, какие есть боли, задачи и проблемы.

Data Scientist действительно должен хорошо разбираться в математике: чтобы строить модели, нужно понимать, как они работают. Например, он должен знать, чем можно пренебречь, чтобы модель построилась быстрее, как её использовать и подать данные. Работать с ними, как с черным ящиком — нельзя.

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

ИИ занимаются специалисты по компьютерному зрению и обработке естественного языка (Natural Language Processing). Требования к этим специалистам аналогичны тем, что предъявляются к сайентистам, но вдобавок нужны знания про направление, которым они занимаются. Тем, кто занимается компьютерным зрением важно понимать, как работают алгоритмы по распознаванию видео и картинок, владеть С++. Специалисты по NLP должны знать Python.

Как учиться на Data Science

Стать специалистом в Data Science можно с любым (даже гуманитарным) бэкграундом, было бы желание. Моя сестра — студентка, учится на социолога. Сейчас она проходит курсы по SQL и Python, хочет стать аналитиком данных. Я ей рассказываю что нужно знать, на каком уровне и зачем. Она отлично справляется.

Глубокие знания статистики или теории вероятности потребуются далеко не всем: это зависит от компании. Аналитики ищут источники, находят данные, соединяют их, а затем передают заказчику. Это львиная часть их работы. Вторая часть — умение разговаривать с коллегами. Никакая математика здесь не нужна, главное — научиться пользоваться языком запросов для БД. Достаточно понять логику и уметь правильно её описать.

Самостоятельно овладеть профессией из Data Science сложно. Нужно много работы, практики, придётся потратить массу времени. Курсы позволяют сделать это гораздо проще и быстрее, так как есть готовая программа, наставник, который отвечает на вопросы, помогает и даёт обратную связь.

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

Как облегчить обучение Data Science

Главная проблема для тех, кто решает учиться на Data-аналитика — незнание, с чем придется столкнуться и что с этим нужно делать. Чтобы определить, подходит ли вам Data Science, посмотрите на YouTube-ролики, авторы которых рассказывают, чем занимаются и какие навыки нужны, чтобы справляться с обязанностями. На первом этапе это поможет сложить представление о профессии. Не стесняйтесь писать авторам этих видео или расспрашивать своих знакомых, уже работающих в этой сфере.

Как бы вы не решили учиться, сами или на курсах, начиная обучение, обязательно почитайте, на какое направление идёте и какие знания вам нужны. Советую открыть вакансии на HeadHunter и прочитать требования. Составьте список навыков и по нему начинайте изучать специальность. В сети всё есть — документация, курсы по Data Science, статьи, видео.

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

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

Самое трудное — не бросить. Это актуально и для курсов, и для самостоятельного обучения. Начинать учить что-то новое всегда сложно и важно соблюдать баланс. Занимаясь по 8 часов в сутки, вы перегрузите себя, испугаетесь обилия информации, быстро выгорите и бросите. Лучше обучаться планомерно: понемногу, но каждый день. Можете выделить два часа — занимайтесь два часа. Можете 15 минут — занимайтесь 15 минут. Главное — не забрасывайте и возвращайтесь к учёбе каждый день.

Ко мне на курс приходят учиться разные люди:

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

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

Приходя на курсы, большинство студентов облегченно выдыхает. У них наконец начинает складываться представление о профессии, её методах и задачах. А практикуясь, они понимают, что работа им под силу. Есть и те, кто разочаровывается. В основном это те, кто приходит в Data Science с нуля из-за денег и не хочет вникать в детали. Когда таким людям приходится писать много кода, они разочаровываются. Но по-другому учиться не получится. Нужно трудиться, выполнять практические задания. Если готов работать, будет легко.

Я пришел в Data Science с физического факультета. Из базы у меня были знания статистики и теории вероятности, но я ничего не знал о программировании. Учился сам — смотрел курсы на Youtube, читал книги.

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

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

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

Зачем в Data Science программирование и Excel

Если вы уже знаете какой-то язык, будет легче. В Data Science используют Python, но у всех языков программирования есть общие паттерны. Из Python понадобится умения соединять таблицы, группировать, работать с аналитическими функциями. Также стоит изучить некоторые библиотеки. Для работы с массивами данных это NumPy, Pandas и Matplotlib для их визуализации. Ещё пригодятся TensorFlow и Keras — это готовые библиотеки с алгоритмами машинного обучения.

Частый вопрос — нужны ли для работы в Data Science глубокие познания в Excel. На самом деле, да. Хотя без Excel и можно обойтись, некоторые задачи в Python придётся делать гораздо дольше.

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

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

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

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

Как устроиться на работу без «вышки»

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

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

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

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

Главное на собеседовании — вести себя адекватно, не замыкаться, откликаться, если тебе пытаются помочь или подсказать. Идти на контакт, показывать свою обучаемость.

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

Главное — опыт, если он есть, образование неважно. Будут задавать технические вопросы и смотреть на прошлые места работы. Можете рассказать о проектах: что делали, как решали задачи и какими методами. Этого для собеседования достаточно.

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

После неудачных собеседований я никогда не стеснялся задавать вопросы о том, чего мне не хватило. На всякий случай возьмите у технического специалиста, который с вами говорил, контакты, чтобы задать этот вопрос, если вам откажут. HR оставит стандартный ответ и вы не узнаете, что именно было не так. Например, устраиваясь на работу, я видел, что везде нужен SQL. Когда не справился с собеседованием, попросил поделиться материалами. В итоге мне посоветовали сайт SQL-ex и я там его осваивал.

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

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

Не расстраивайтесь, если собеседование не удалось. Любая оценка очень субъективна. Даже если в одном месте сказали, что профессия «не ваше», в другом ваш опыт может быть ценен. Чем больше собеседований вы пройдете, тем легче они будут даваться. С какого-то момента страх уйдет совсем. Встречи с работодателями — это полезно. Они локализуют те знания и скиллы, которых вам не хватает и позволяют не останавливаться.

  • data scientist
  • data analyst
  • machine learning
  • computer vision
  • nlp
  • Блог компании GeekBrains
  • Big Data
  • Машинное обучение
  • Карьера в IT-индустрии
  • Data Engineering

Реальный путь в data science

Эта статья про мой путь к первой работе в DS (data science). Путь был длинным и пройден за 2,5 года. Кому-то эта цифра может показаться отпугнуть, и если бы я знал об этом в начале, то меня, возможно, тоже бы отпугнула. Некоторые могут назвать меня неспособным дурачком (и отчасти они будут правы), но, надеюсь, для кого-то эта статья поможет сократить время обучения и быстрее пройти этот путь.

Знакомство и первые шаги

Эта история начинается осенью 2019 года. Юный первокурсник Миша (это я) в очередной раз услышал про какой-то data science. Немного погуглив, я узнал про курс от всем известного поисковика, на котором можно узнать об этой области подробнее.

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

Для начала я изучил, что вообще должен знать DS и сравнил это с тем, что имелось у меня в голове на тот момент. Поняв, что в голове ничего не имеется (кроме Паскаля в школе и 4 по математике в универе), я решил, что начать стоит с Python.

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

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

Приступаю к DS

15 апреля 2020 года я открыл курс «Введение в Data Science и машинное обучение» и начал получать свои первые знания в этой области. Курс мне понравился, не могу сказать, что он давался мне очень легко, но особых проблем не возникало, если не считать Kaggle, на тот момент это казалось очень непонятной штукой.

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

Первые неудачные попытки

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

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

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

Первый шанс

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

Конечно, в этот момент возникали мысли «может это не для меня?», но в конце июня меня пригласили пройти собеседование на стажировку в Мегафон (да-да, опять он).

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

“У меня наконец-то получилось, теперь я уже полноценный работник и сто процентов останусь в компании после стажировки”, думал я на тот момент.

Первую половину стажировки мы (нас было 5 человек) изучали различные вещи, связанные с работой DS. Подробно разбирались с ML, Git, Oracle DB и подобными штуками. Во второй половине нас стали распределять по проектам. Я попал на проект, связанный с рекомендацией одного из тарифов. Я пытался решить эту задачу в течение полутора месяцев. Какой-то результат я получил, но не очень хороший. Далее было итоговое собеседование по итогам стажировки, которое я успешно завалил. После этого я понял, что нужно было лучше готовиться к нему, но было уже поздно. К сожалению, мне пришлось расстаться с коллегами. Я думал, что теперь, когда у меня есть опыт, я смогу устроиться на работу очень скоро. Как же ошибался.

Победа

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

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

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

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

Если вы и дальше хотите узнавать о моей карьере то подписывайтесь на мой телеграм.

  • data
  • data science
  • data engineering
  • карьера
  • карьера программиста
  • карьера в it-индустрии
  • карьера в it
  • стажировка
  • первая работа
  • python
  • Python
  • Data Mining
  • Big Data
  • Карьера в IT-индустрии
  • Data Engineering

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *