Спринт 16/24 → Тема 6/8: Паттерны решения задачи → Урок 1/5

Кратко:
  • Переход от джуниора к мидлу в Data Science требует системного и критического мышления.
  • Умение вгрызаться в контекст и разговаривать продвигает карьеру.
  • Наполеон говорил: «Кто не умеет говорить, карьеры не сделает».
  • В статье рассматриваются несколько алгоритмов, которые стоит ввести себе в привычку.

Спринт 16/24 → Тема 6/8: Паттерны решения задачи → Урок 2/5

Контекст задачи

Привыкните сразу вникать в контекст задачи.

Вы работаете специалистом по Data Science в интернет-магазине «Алик-и-Эспрессо». Отдел маркетинга поставил задачу: разработать систему рекомендаций товаров. Как вы думаете, почему взялась эта задача?

Правильный ответ

  • Маркетологи проводят эксперимент Верно. Они решили, что машинное обучение поможет в продвижении интернет-магазина. «Лучше всего работают рекомендации на баннерах в соцсетях, хотим их», — добавили маркетологи.

Это сразу задаст направление разработки модели:

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

Алгоритм понимания контекста прост:

  1. Ответьте на вопрос: что привело к появлению задачи?
  2. Определите с заказчиком области, где искать ответы или гипотезы.

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

Спринт 16/24 → Тема 6/8: Паттерны решения задачи → Урок 3/5

Проработка запроса

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

Вы сэкономите себе время и силы, если сделаете один за другим 6 шагов:

  1. Уточните, кто конечный «заказчик» результата. Кто угодно, включая высшее руководство. Исполнительный директор вряд ли явится собственной персоной, но через тимлида задачу поставить может. Зная, кто конечный заказчик, можно понять, что именно писать в отчёте.

Выберите вопрос, который поможет корректно уточнить заказчика результата:

Правильный ответ

  • Кому нужны результаты?
  1. Выясните, зачем нужен результат вашей работы. Вас попросили посмотреть, насколько эффективны разные каналы коммуникации. Цели «поиск канала для дальнейших инвестиций» и «решить, от какого канала нужно отказаться» определяют разный смысл итоговых рекомендаций.

Какой вопрос вы зададите, чтобы понять итоговую цель своей работы?

Правильный ответ

  • Что мы будем делать с полученным результатом?
  1. Уточните все параметры, которые хочет знать заказчик задачи. Нет ли подводных камней? Ваш тимлид попросил разработать модель, которая предскажет время доставки в зависимости от погоды и пробок. А в ходе разговора выяснилось, что модель должна запускаться на смартфонах и быть быстрой.

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

Правильный ответ

  • Какие ресурсные ограничения на разработку модели есть?

Правильный ответ

  • Где можно проверить первый прототип модели?
  1. Проговорите и зафиксируйте образ идеального конечного результата. Где фиксировать: в тикете, в почте, в таск-менеджере — зависит от компании. Даже если заказчик утверждает, что устной договорённости достаточно, мы рекомендуем записать вводные параметры, чтобы было с чем сверяться.

  2. Набросайте прототип решения — и сверьтесь с заказчиком, подойдёт ли оно? Возможны несколько циклов «прототип —> обратная связь —> исправления», пока вы не согласуете удобную форму.

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

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

 
Спринт 16/24 → Тема 6/8: Паттерны решения задачи → Урок 4/5
Доработка результата

Работа сдана. И вдруг заказчик говорит, что результат вашей работы не соответствует его ожиданиям.

Или же внезапно хочет поменять вводные задачи, например, метрику качества. Аргумент железный: «Это же просто». (А это далеко не просто!)

Как на это реагировать? Есть две стороны алгоритма — эмоции и суть.

  1. Об эмоциях: Вы не рады, особенно если предстоят объёмные доработки.
  • Ругаться смысла нет — важно донести до коллеги мысль, что время и ресурсы теряете вы вместе.
  • Дружелюбно объясните, что корректировки хороши в процессе, а не на стадии результата.
  1. По сути:
  • Задумайтесь: насколько качественно вы «сняли запрос»? О чём ещё можно было спросить, чтобы получить качественное ТЗ?
  • Всегда закладывайте в код масштабируемость, чтобы оперативно вносить исправления и дополнения.

От доработок никуда не деться, но в ваших силах сделать их максимально конструктивными.

 

Спринт 16/24 → Тема 6/8: Паттерны решения задачи → Урок 5/5

Заключение

С умения разбираться в контексте задачи и грамотно снимать запрос начинается мастерство специалиста по Data Science.

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