Базовые технические навыки современного специалиста: 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 станет новым “умением работать на компьютере”.