Приключения и злоключения в собеседовании по науке о данных

Реалии поиска работы в области науки о данных

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

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

Итак, вот что я узнал ...

Что я узнал из своего поиска работы

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

Подача заявки онлайн - пустая трата времени

Я обнаружил, что поступление на работу в области науки о данных было пустой тратой времени. Когда я впервые начал поиск работы, я подавал заявки на 10-15 вакансий за ночь, для которых, как мне казалось, я подходил. Я думаю о 50 или 60 вакансиях, на которые я подавал заявки, я получил 3 или 4 отзыва. Мне гораздо больше повезло с сетью в LinkedIn. Честно говоря, это мой лучший совет всем, кто ищет работу, особенно в сфере технологий. Общайтесь с людьми в LinkedIn и в любом другом месте, о котором вы знаете. У вас получится намного лучше, чем вслепую претендовать на вакансию.

Не тратьте время на компании с плохой процедурой собеседований

Процесс собеседования - это окно в компанию. Если компании требуется целая вечность, чтобы ответить вам, сделать вам предложение или что-то еще, вот как она будет работать, когда вы там будете работать. Они будут вялыми и невосприимчивыми. Я скажу, что это то, над чем я работаю в Deutsche Bank. На момент написания я хотел нанять нескольких инженеров Splunk. Я работал с нашей командой по персоналу, и мы приглашали кандидатов, проводили собеседование и представляли предложение в течение 2–3 дней. Это говорит кандидатам, что они нам действительно нужны, и показывает, что мы можем добиться цели. Напротив, у меня была одна компания, которая поддерживала меня в течение нескольких месяцев, прежде чем представить мне предложение, в котором я к тому моменту уже принял позицию в Deutsche Bank.

Честность и этика имеют значение

Что касается меня, я не хочу работать в компаниях, которые ведут себя неэтично, или имеют неряшливых менеджеров и т.д. что они сталкиваются. Никто не пытался изобразить все идеально и прекрасно. (К вашему сведению, у каждой компании есть свой BS). Как известно большинству людей, банки жестко регулируются, и международным банкам приходится иметь дело с невероятно сложными режимами регулирования. На это есть серьезная причина. Когда я проходил собеседование в Deutsche Bank, меня поразило то, что каждый интервьюер обсуждал со мной, каково это работать в банке, где вы не можете просто делать с данными все, что хотите.

Теперь я отказываюсь сдавать экзамены по кодированию

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

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

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

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

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

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

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

Ох ... и давайте поговорим о HackerRank. Этот сайт отстой. ОТСАСЫВАЕТ !!! Другого способа выразить нельзя. Это совершенно ужасно. Если вы еще не пробовали, НЕ ДЕЛАЙТЕ! HackerRank ставит перед вами задачу кодирования. Вы можете написать код в их среде на любом из множества предварительно выбранных языков, а затем ваш код будет протестирован на предмет вариантов использования, которые вы не видите. Почему это отстой? Просто потому, что у вас нет возможности отладить код. Я сделал это для двух потенциальных работодателей, и, хотя я прошел эти тесты, я обнаружил, что они действительно раздражают и отнимают излишне много времени. Я потратил, вероятно, 30 минут на отладку какого-то кода, что, если бы я смог увидеть тестовый пример и результат, заняло бы 30 секунд. Другая проблема, с которой я столкнулся с HackerRank, - это искусственная среда. Большую часть работы, которую я делаю сейчас, я выполняю на Python 3. Есть набор модулей, которые я использую, которые в значительной степени стандартные, такие как Pandas, Seaborn, Scikit-learn и т. Д. Когда вы выполняете задание HackerRank, вас могут заставить использовать незнакомую версию Python без стандартных модулей. Хотя я могу кодировать на Python 2.7, я работаю не так быстро, как на Py 3, и точно так же я могу кодировать без стандартных модулей, но это займет больше времени. В итоге, если вы нанимаете, пожалуйста, не используйте HackerRank.

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

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

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

Актуальные интервью:

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

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

  • Если бы вы были террористом или преступником, какие методы вы бы использовали, чтобы скрыть свою связь с органами наблюдения? (Полностью открытый, и позволяет кандидату продемонстрировать свое понимание сетевых и телекоммуникационных технологий) (Это было для позиций кибер-аналитика)
  • Я попрошу кандидата провести меня через процесс разработки системы для обнаружения мошеннических транзакций по кредитным картам. В зависимости от времени я займусь этим, спрошу о конструктивных ограничениях и т. Д.
  • Объясните старшему менеджеру, как вы оцениваете ценность проекта X по науке о данных. Мне очень нравится этот вопрос, потому что он заставляет кандидата стратегически думать о влиянии того или иного проекта.

Лучшие интервью: CapitalOne, Orbital Insight, Kensha. Из этих компаний я получил предложения только от одной из них, но я был очень впечатлен процессом и компанией.

Худшее интервью: меня попросили реализовать кластеризацию K-средних с помощью Map-Reduce. Это интервью раздражало меня, потому что я довольно откровенно говорю о том, что я делаю и чего не знаю, а этот интервьюер был просто придурком. Я не заявляю об опыте разработки MapReduce в своем резюме. Pro Совет: если кандидат говорит, что не знает X, не задавайте ему миллион вопросов о X. Это просто придурок. Вместо этого найдите то, в чем кандидат хорош, и посмотрите, совпадают ли эти сильные стороны с тем, что вы ищете.

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

Вопрос, вызывающий самые большие размышления. Расскажите, как бы вы спроектировали автономный автомобиль.

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

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

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

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

В заключении

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