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

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

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

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

  • Структура собеседования по Data Science / Machine Learning
  • Академический и карьерный опыт человека, вторгающегося на рынок Data Science / Machine Learning (спойлер, это я)
  • Некоторые ресурсы для помощи на этапах собеседования
  • Почему отказ - это только начало

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

Степень магистра или доктора философии. степень - довольно распространенное требование для ролей, связанных с машинным обучением и наукой о данных, поэтому я получил степень магистра в области компьютерного зрения, машинного обучения и робототехники. До получения степени магистра у меня был трехлетний коммерческий опыт в области разработки программного обеспечения (веб) и степень бакалавра в области разработки программного обеспечения. Я работал в корпоративных компаниях и стартапах, а также имел несколько контрактных должностей, все в программной инженерии (Интернет). А теперь я вхожу в область науки о данных / машинного обучения.

Не все интервью одинаковы, но вот краткая структура моего первого интервью:

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

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

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

Первый этап: телефонный разговор

Телефонный разговор был между мной и одним из основателей стартап-компании. Это был разговор, который длился около 30 минут и касался предыстории компании, моих навыков и опыта, а также ожиданий от обеих сторон в будущем.

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

Лучший способ подготовиться к этому этапу - это сделать следующее:

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

Второй этап: Технический тест (Возьмите домашнее задание по кодированию)

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

Первой задачей было проанализировать некоторые фиктивные данные о клиентах, представленные в таблице Excel, и извлечь из этих данных некоторые идеи и выводы. Для выполнения первой задачи я использовал стандартные инструменты и библиотеки для анализа данных, такие как Pandas, Numpy, Matplotlib и Jupyter Notebook.

Вторая задача была больше ориентирована на внутреннюю реализацию с использованием Python и Flask, сопровождаемую задачами интеграции API.

Лучший способ подготовиться к техническому тесту - это сделать следующее:

  • Ничего

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

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

Третий этап: презентация и вопросы / ответы

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

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

Так как же разработчику за одну ночь стать 5% докладчика на TED?

Ну, я просто сделал следующее:

  • Я смотрел это видео на презентации Стива Джоба
  • Потом я посмотрел это видео, еще это видео и это видео (пожалуйста, не берите сигарету на интервью, а проявите чувство юмора)
  • Наконец, я создал презентацию, которая, надеюсь, будет отличаться от стандартных слайдов PowerPoint с использованием Prezi.

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

Вот и все.

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

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

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

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