Это немного интересно писать и может показаться чрезмерно драматичным, но я хотел бы затронуть область науки о данных и машинного обучения, с которой вы не сталкиваетесь на 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.
Вывод: найдите метод, который отличается от нормы, либо обеспечивая исключительное качество при представлении, либо изображая творческое начало, которого не обязательно ожидать.
Вот и все.
Все действия и шаги, которые я предпринял при подготовке, помогли мне пройти все этапы собеседования и поставили меня в положение, в котором меня рассматривали на эту роль.
Некоторым из вас может быть интересно, почему меня отклонили на эту роль, и простой ответ заключается в том, что у меня не было прямого опыта работы с алгоритмом, который требовалось разработать. На эту должность было несколько претендентов, некоторые были исключены на первом этапе, а некоторые - на этапе технических испытаний. Последний этап был между мной и другим кандидатом, который имел опыт в разработке машинного алгоритма и, возможно, лучше подходил для этой роли, чем я.
Отказ - это не конец, а, скорее, начало. Отказ показывает, какие пробелы имеются в ваших знаниях, навыках и опыте. Итак, когда вас отвергают, вы ищете эффективный способ восполнить этот пробел, и тем самым вы будете на шаг ближе к получению следующей должности.
Двигаясь вперед, я буду заполнять свои пробелы, исследуя еще больше алгоритмов машинного обучения и используя их в текущих проектах. Не стесняйтесь оставлять комментарии о своем опыте отказа и о том, как вы с ним справились.