Тестовое задание в Welltory
…или как я нашёл пользователя по данным фитнес-трекера
В январе 2020 я активно искал работу по новой специальности аналитика данных, которую не за долго до этого получил в Яндекс.Практикуме. Среди ~30 компаний, с кем мне пришлось пообщаться в процессе поиска работы, больше всего мне запомнились Welltory.
Welltory делают мобильное приложение, где с помощью камеры можно измерить вариабельность сердечного ритма. Это небольшие изменения временно́го интервала между соседними сердечными сокращениями. На основе этих данных приложение делаeт выводы об общем самочувствии.
Ребята искали нового сотрудника, кто бы помог работать с данными. Для начала нужно было выполнить тестовое задание: проанализировать данные по количеству пройденных шагов одного пользователя.
Рассказажу про одну особенность задания — как я вышел на конкретного пользователя, с чьего трекера были выгружены эти данные. Эта история до сих пор греет меня каждый раз когда её вспоминаю.
По результатам этого тестового меня выбрали для «следующего тура» среди «гораздо больше 100»© соискателей. Не знаю, за счёт ли самого́ анализа или за моё «открытие» или ещё почему-то: предположу, что за совокупность факторов.
Анализ
В качестве тестового задания дали выгрузку с фитнес-трекера одного пользователя и надо было разметить дни как обычные и необычные (выше или ниже нормы). В признаках ничего необычного: начало и конец «сессии», ID пользователя и, собственно, количество шагов. Время дополнительно дублировалось в едином часовом поясе.
Поскольку данные по шагам были разбиты по «сессиям», надо было их сагригировать по дням. Дело нехитрое: просто взять сумму шагов за каждый день.
Но что делать с колонкой с часовым поясом? не складывать же их так же по дням. Я решил проверить, в какие дни часовой пояс отличался от предыдущего дня. Получилась четыре таких дня: один день 29 июня и недельная поездка с 1 по 7 июля. И это показалось мне очень интересным.
Цепочка умозаключений
Welltory скорее всего предоставили реальные данные — ведь зачем париться и синтезировать стерильные данные. Хорошо бы взять реальные, чтобы в них действительно что-то можно было бы найти.
Раз данные реальные, значит — и человек реальный. Но персональные данные — дело щепетильное; нельзя просто так раздавать данные клиентов. Проще взять данные одного из сотрудников.
И часовой пояс подходит: как раз в Питере есть офис компании, значит, там живёт сколько-то сотрудников. Шанс повышается.
Как можно это подтвердить? Скольких сотрудников надо «проверить»?
Я не какой-то там частный детектив из фильма — я не умею находить людей по фото или работодателю. Из Welltory я знал только тех, кто был связан с тестовым заданием:
- Павел Правдин, на Твитер которого была ссылка в вакансии.
- Евгения Смородникова, кому надо было прислать результат тестового.
Повезло, что Евгения активно ведёт Фейсбук. Зашёл на её страницу и просто отмотал на период предполагаемой поездки — и вуаля! — там был пост про поездку в Хельсинки.
Всё сошлось: поездка из московского часового пояса на один часовой пояс на запад. Ха! Почувствовал себя настоящим data-детективом.
Сопроводительное письмо
Итоги анализа надо было оформить в удобном виде. Так, чтобы заинтересовать человека на той стороне, чтобы ему было интересно продолжить разговор. Поскольку результат тестового надо было отправить в Телеграм, пришлось оформить всё в виде отдельных сообщений.
Потратил какое-то время, формулирую и отсылая сообщения самому себе, чтобы представить, как их будут читать. Важное вперёд, повыше; последний график и кратко вывод достать из тетради и поставить прямо тут.
В конце добавить «вишенку»: почему именно я — в моём случае это тяга к quantified-self. К тому же не за долго до этого слушал подкаст с Евгенией и даже сделал конспект.
кстати, ещё слушал подкасты с одним из фаундеров; очень понравилось и это послужило ещё один фактором, почему я захотел там работать.
Нежданчик в конце
Свой отточенный отчёт по тестовому я отправил вечером. На следующее утро в 06:02 (!) пишет Евгения «ну нифига себе» (!!) первым (!!!) же сообщением, чем сражу неимоверно располагает к себе.
Она сходу указывает на недостаток моей работы — решение не будет адаптироваться, если данных будет больше, ведь я размечал кластеры вручную. Но тем не менее, они хотели бы со мной поговорить. Прохожу, так сказать, в следующий тур.
Мне уже приходилось назначать такие встречи с другими компаниями. По отлаженному сценарию я предлагаю на выбор несколько дней на предстоящей неделе, в каждом дне несколько удобных мне часов. Всё, чтобы им было удобнее найти подходящее для себя время.
Ответ Евгении меня удивил: «а можешь вот прямо сейчас?» — то есть полседьмого утра :-) вот это скорость! Вот что значит, общаться с небольшим продвинутым стартапом, а не огромной корпорацией. Как будет «бюрократия» наоборот?
Финальные титры
Саша прошёл собеседование — много волновался, каждое предложение из него вытаскивали клещами с нескольких попыток, но всё же минут за 30 он смог назвать все необходимые термины и рассказать порядок применения статистических критерирев. Потом, правда, интервьюер подвёл итог беседы и повторил всю логическую без запинок: у него на это ушло 30 секунд :-)
После собеседования был второй тур. Там был датасет покруче. Одних только признаков — 45. У меня ушёл день только на то, чтобы это переварить. А поскольку, у меня нигде не появилось значка «proud junior data engineer at Welltory», можно сделать вывод, что дальше второго тура я не прошёл.
По результатам ребята дали подробную обратную связь: сильные стороны и что ещё подкачать. Отдаю честь ребятам — обратная связь была открытой, полной и оперативной. До сих пор это был самый приятный опыт общения с другой компанией.
Выводы, которые я сделал для себя
- Незначительная второстепенная деталь может вывести на интересные выводы.
- Данные для анализа не ограничиваются датасетом, который тебе прислали.
- Хорошие компании и приятные люди существуют, надо только их найти.
P.S.: работу в итоге нашёл: в роли единственного дата-инженера в небольшой компании пишу ETL-пайплайны на Python.
==[====>
больше такого — в моём Телеграм-канале data будни
:)
^_^
да уж, такая проделанная работа и отказ.. Они чего, сеньора искали на джуновскую позицию?
работу оценивают по результату, а не по приложенным усилиям :-)
Этот принцип хорошо описан у Николая Товеровского в посте «делать ≠ сделать»