Базовые технические навыки современного специалиста: SQL

· 3 мин

Какие технические навыки нужны современным специалистам, а особенно — продакт менеджерам? Начну эту серию постов с навыка аналитики при помощи SQL — языка запросов к базам данных, который американцы произносят как “сикуэл”, а в старом свете — “эс-кью-эл”.

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

Ключевая функция продакт менеджера — понимание пользователей, их поведения и предпочтений. Один из основных механизмов получения инсайтов — это анализ данных. Данные часто хранятся в специализированных базах данных, предназначенных для анализа (data warehouse), а SQL — это язык, позволяющий выгружать данные, рассчитывать метрики и делать анализ.

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

“А как же инструменты анализа и визуализации данных, которые позволяют делать аналитику мышкой?” спросите вы. Такие инструменты действительно есть и хорошо работают, когда хорошо настроены. Однако, когда углубляешься в анализ, то рано или поздно начнёшь упираться в ограничения этих инструментов, потому что глубокий анализ часто требует извлечения данных из разрозненных источников (a.k.a. танцев с бубном).

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

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

SQL — это один из самых полезных технических навыков в любой бело-воротничковой профессии. Данные есть везде и умение их анализировать сделает тебя более эффективным. Бонусом, даже если в компании нет data warehouse, ты можешь создать свою собственную базу данных на компьютере, используя легко доступные приложения вроде SQLite или Microsoft Access.

SQL — это НЕ язык программирования и его легко выучить по книжкам и курсам, плюс в интернете полно тестовых баз данных, на которых можно тренироваться. Несмотря на название, SQL больше похож на анализ данных в таблицах Excel, чем на программирование. Только вместо манипуляции таблицами мышкой нужно прописывать шаги языком, который очень похож на обычный английский.

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

SELECT
  date,
  COUNT(DISTINCT customer_name)
FROM usage
WHERE date >= '2021-02-09'
GROUP BY date
ORDER BY date ASC

Давайте разберём запрос. Заглавными буквами написаны команды, которые делают выборку (SELECT) с подсчётом уникальных клиентов (COUNT DISTINCT) из таблицы usage (FROM...), с определённой даты (WHERE), группировкой по дате (GROUP BY) и сортировкой по возрастанию (ORDER BY...ASC). Сложно?

Я выучил основы SQL за несколько вечеров по книжке почти 20 лет назад. Это внесло огромный вклад в мой рост, так как тогда такие знания ещё были относительно редкими. Сейчас умение вытаскивать и анализировать данные при помощи SQL всё ещё остаются моим преимуществом, но разрыв с коллегами быстро сокращается. Ещё лет 10 и знание SQL станет новым “умением работать на компьютере”.