В этом материале я расскажу вам о роли аналитика в крупной технологической компании, а также о том, как можно им стать. Что такое крупная технологическая компания? Под этим можно понимать множество организаций, но в этом материале я буду называть так компании, которые получают львиную долю своей выручки благодаря программному обеспечению. Сюда можно отнести Google, Apple, Amazon и Netflix. Из отечественных можно выделить Яндекс, Ozon, Тинькофф и VK (ex. Mail.Ru Group). В любой такой компании сегодня есть аналитики. Они носят множество имен: Data Analyst, Data Scientist, Product Analyst и т. д., но всех их объединяет одна основная черта — эти люди занимаются анализом данных. Дальше под словом “аналитик” я буду подразумевать людей всех этих специальностей. Стоит отметить, что в технологических компаниях также востребованы системные- и бизнес- аналитики, но их работа отличается своей особой спецификой и в данной статье я буду говорить не о них. Я постарался сделать материал интересным к прочтению для людей любого уровня подготовки, но я особенно хочу дотянуться до тех, кто в настоящий момент продолжает обучение в университетах или только выбирает ВУЗ. Статья также будет полезна всем, кто рассматривает карьеру аналитика.  Итак, начнем с главного. Например, вот так оценивает зарплаты аналитиков ресурс Хабр Карьера. От себя добавлю, что чисто эмпирически цифры скорее занижены, чем завышены. Даже по самый консервативной оценке специалист уровня Middle сегодня получает от 150 тыс. руб./мес.  Лучше всего можно понять, как выглядит реальный рынок зарплат, посмотрев на конкретные предложения. Из соображений конфиденциальности не раскрываю имена компаний. Например, здесь готовы нанять аналитика уровня Middle на ЗП в районе 250 тыс. руб./мес.:  Тут младший специалист уже может претендовать на 150 тыс. руб/мес. + премии, а Middle претендует на 300 тыс. руб./мес. + премии.  Когда дело доходит до старших специалистов, то вилки иногда начинают пробивать потолок. Например, здесь старшему специалисту готовы платить 450 тыс. руб. / мес. + премия по результатам работы. Кто такие аналитики? Разберем роль аналитика в крупной технологической компании — посмотрим, в какой момент нам понадобится придумать аналитика: Разработчики. Все начинается с них — кто-то должен писать код. Сюда можно отнести фронтэнд-, бэкэнд- и мобильных разработчиков, DevOps, тестировщиков и т. д. Эти люди непосредственно несут ответственность за качество кода: они программируют и в целом делают все, чтобы софтверная часть продукта работала. Они заботятся об отказоустойчивости, отсутствии багов и скорости. Чего они не делают? Они (в среднем при прочих равных) не принимают решения о том, куда дальше двинется продукт. Разработчики не определяют, какую задачу должен решать их код. Они делают так, чтобы эта задача была решена. Кто же определяет задачи? Менеджеры. Именно они решают, что должен делать продукт. Почему? Все просто — они непосредственно отвечают за финансовые показатели продукта. Если код работает неправильно — это ответственность разработчика. Если код работает правильно, а прибыль снижается — ответственен менеджер, ведь именно он поставил задачу разработке. К менеджерам можно отнести Product-менеджеров, весь C-level менеджмент, а также всех, кто ответственен за принятия решений о будущем сервиса/продукта. Стоит отметить, что иногда менеджерские функции берут на себя аналитики (“Менеджер-аналитик”) или разработчики (“Product Engineer”). Однако в больших компаниях эти функции чаще разделены и есть отдельные люди, которые отвечают за принятие решений. Так зачем же нужны аналитики? Аналитики помогают менеджерам принимать правильные решения. Почему менеджерам нужна помощь в принятии решений? Дело в том, что в отличии от физического бизнеса, цифровой гораздо сложнее осмыслить без технической подготовки. У менеджеров неизбежно появляются вопросы, ответы на которые с одной стороны необходимы для принятия решения, а с другой требуют погружения в технический аспект. Почему бы просто не обратиться к разработчикам? Практика показывает, что эффективно отвечать на вопросы менеджеров настолько объемная задача, что для этого нужна отдельная роль. Такой человек должен не просто отвечать на вопросы менеджеров, но и работать с ними вместе, участвовать в формулировании этих вопросов, проверять гипотезы, ставить эксперименты и многое другое. Оговорюсь, что сегодня роль аналитика сильно шире, чем просто отвечать на вопросы бизнеса, но именно это первопричина выделения этой роли. Какие бывают вопросы у бизнеса? Давайте разберем типичные примеры вопросов и как может выглядеть ответ:  Ad-Hoc. (от лат. “по особому случаю”) Самый простой случай это так называемая ad-hoc аналитика. К вам пришел один из менеджеров с конкретным вопросом. В ответ он хочет получить цифру или набор цифр, а также интерпретацию и ваш финальный вывод. В таком случае ответом на вопрос бизнеса может стать простая таблица с данными и график. Примеры таких вопросов: сколько мы потратили на рекламу в 2022 году? какой экран нашего мобильного приложения принес нам больше всего денег? как изменилась конверсия из просмотра в заказ с января по декабрь этого года? Помимо простых вопросов часто бизнесу нужно проверить гипотезу, которая валидирует или опровергает намеченный ими план. Исследование. Когда аналитика вроде бы носит разовый характер, но обладает расплывчатой формулировкой, сложной логикой и большой значимостью, стоит говорить скорее об исследовании, чем об ad-hoc задаче. Как правило для ad-hoc вопросов характерны количественные формулировки, тогда как в исследованиях вопросом может быть “почему?” или “как нам сделать Х?”. Примеры таких вопросов: почему 1 млн. пользователей смотрит главный экран нашего приложения, но рекламу смотрит только 70%? почему мы стали терять пользователей в августе 2021 года? как нам удержать наших пользователей? Успешное исследование может органически перерасти во все другие форматы работы аналитика и стать отдельным направлением. Дашборд. Когда Ad-Hoc задачи начинают повторяться, пора задуматься об автоматизации ответов. Никто не говорил, что на вопросы бизнеса обязательно нужно отвечать вручную каждый раз. Необходимо только, чтобы люди имели возможность видеть все то, что происходит внутри продукта. Для этого аналитики создают специальные инструменты — дашборды от англ. dashboard — приборная панель. Как правило, на них выводятся ключевые показатели бизнеса и продукта: выручка, количество активных пользователей и прочие метрики. Результатом исследования вполне может стать новый показатель (метрика), который хочется отслеживать на постоянной основе. В таком случае показатель можно добавить в дашборд. Качественные дашборды становятся не просто “приборной панелью” сервиса, но самостоятельным инструментом проверки гипотез. Менеджеры могут проверять гипотезы, используя фильтры, группировки и селекторы. В последнее время многим людям пришлось узнать, что такое дашборд на примере мониторинга коронавирусной инфекции. По всему миру возникла потребность следить за динамикой числового показателя в разбивке по странам, городам и прочим. Например, вот так выглядит коронавирусный дашборд OurWorldInData: Эксперимент. Однако не все гипотезы можно проверить путем простых вычислений на исторических данных. Иногда гипотезу нельзя по-настоящему корректно оценить без проведения эксперимента. В таких случаях аналитики занимаются экспериментами. Как проводятся эксперименты в технологических компаниях? Типичный пример — АБ-эксперимент. Выделяется какое-то весомое множество пользователей (скажем, 10%) и члены этого множества делятся случайным образом на 2 группы: А, в которой не будет никаких изменений пользовательского опыта, и Б, в которой сделаем одно конкретное изменение. В результате мы сможем оценить, как это изменение влияет на интересующие нас показатели. Допустим, мы хотим перекрасить кнопку “Купить” из зеленого в синий цвет. Мы выделяем случайные 5% пользователей в группу А и те же случайные 5% в группу Б так, чтобы группы не пересекались. У группы А ничего не меняем, у группы Б перекрасим кнопку в синий цвет. В течение какого-то периода (скажем, 10 дней) у нас будут 2 абсолютно одинаковых группы пользователей, которые видят разную кнопку. Если в группе Б станут делать больше заказов, то мы делаем вывод, что синяя кнопка лучше, чем зеленая. Аналитики занимаются дизайном эксперимента, а также помогают принять финальный вывод по итогам. Здесь возникают вопросы статистической значимости наших выводов, а также “сколько по времени нужно держать эксперимент?” и “как одновременно проверять множество гипотез, чтобы эксперименты не влияли друг на друга?”. Алгоритм / модель машинного обучения. “Вопросы бизнеса” это не только непосредственно менеджеры. Иногда сама кодовая база требует ответа на определенные вопросы. Например, в каком порядке Google или Яндекс должен выдавать результаты поиска? Какое видео должен показать TikTok следующим? Какую цену должно выставить Яндекс.Такси для поездки? В таких задачах партнером аналитика выступает скорее разработчик, а не менеджер. Здесь вопросы появляются уже у разработки и нужно умение строить выводы по данным на уровне кода, т. е. сам продукт должен автоматически принимать решения на основе данных. Когда стоит задача сделать рекомендательную систему, отранжировать страницы по убыванию важности или выставить правильную цену, на помощь разработке приходят аналитики. Как правило, в таких случаях аналитики делают прототип решения и уже разработчики реализуют принципы для всей аудитории продукта. Стоит оговориться, что в некоторых организациях выделяется смежная роль — Machine Learning Engineer, которого иногда по-русски называют “Аналитик-разработчик”. Такой человек сначала разрабатывает прототип алгоритма, а потом самостоятельно раскатывает логику на всю пользовательскую базу. Английский Язык. Отрасль анализа данных это международный феномен и большинство нововведений приходит из-за границы. Все библиотеки для анализа данных, а также справочники, технологии и знания должны быть понятны всему миру, поэтому оптимизированы под английский язык. Все онлайн-курсы и книги написаны на английском языке. Стоит ли говорить, что английский язык может стать основным сдерживающим фактором, если вы решите строить карьеру заграницей. Если разработчик/программист еще хоть как-то может обойтись базовым знанием языка, то для аналитика нужен по-настоящему беглый разговорный язык. Роль подразумевает умение общаться с самыми разными людьми, объяснять сложные вещи простым языком, а также зачастую выступать на публике с презентацией концепций и результатов. Если вы вдруг сейчас продолжаете обучение в университете или даже школе и рассматриваете карьеру аналитика, то приоритезируйте английский язык. Почти все остальное можно так или иначе освоить потом, но с возрастом мозг теряет пластичность и языки становится учить сложнее. По ощущениям английский важнее, чем все остальные дисциплины вместе взятые. С другой стороны, в в конечном итоге вывести английский язык на высокий уровень поможет лишь одно — практика. Я не говорю о разговорном клубе и не обязательно имею в виду поездки в другие страны. На моем опыте самый большой объем взаимодействия с языком можно получить в интернете. Читайте тексты, Twitter, мемы, Reddit, книги. Смотрите видео, фильмы, сериалы. Сначала с субтитрами, потом в оригинале. Во всех возможных интерфейсах, где можно выбрать английский язык, выбирайте его — на телефоне, в играх, программах. Сегодня каждый человек так или иначе потребляет контент в социальных сетях. Постарайтесь найти для себя интересный контент на английском языке, тогда изучать его сразу станет проще.  SQL. (Structured Query Language) Своего рода язык программирования для проведения расчетов на больших (и не очень) массивах данных. С 70-х годов 20-го века является доминирующим инструментом для аналитики данных. В конце 10-х годов казалось, что рост объемов датасетов сделает невозможным использование языка, но вместе с такими решениями, как ClickHouse, SQL вернул и приумножил свою актуальность. Для начинающего аналитика это первое, что нужно освоить. Без SQL невозможна работа с большими массивами данных и построение выводов по этим данным, чего ждут от аналитиков, начиная с самого младшего специалиста. Теория Вероятности и Математическая Статистика. Для аналитика это главная математическая дисциплина, потому что она учит построению выводов по данным — финальной задаче аналитика. В первую очередь аналитики используют методы статистики, чтобы правильно провести эксперимент и проверять гипотезы. При этом в статистике буквально есть развитый и проверенный годами математический инструментарий для проверки гипотез. Более того, почти любая аналитическая задача подразумевает определенный уровень грамотности в вопросах вероятности и статистической значимости. Почти каждый вывод аналитика базируется на данных. Даже самая простая ad-hoc задача вызывает вопрос — насколько значим полученный результат? Мог ли он быть получен случайно или это результат фундаментальных свойств объекта исследования? Чтобы оперативно отвечать на такие вопросы нужна математическая статистика. Более того, в хороших компаниях на собеседованиях вас обязательно ждут задачи на вероятность — без этого никак. Python. Минималистичный язык программирования, который в последние годы нашел обширное применение в анализе данных. С помощью Python делают все: обрабатывают табличные данные, рисуют визуализации, автоматизируют процессы обработки данных и даже тренируют нейронные сети. Более того, разработчики тоже используют язык для своих задач, поэтому владея им сильно проще понимать друг друга. Например, читать код разработчиков, чтобы понять, что он делает. Во многих компаниях для аналитиков обязательно владение как минимум одним языком программирования. На собеседовании это не обязательно должен быть Python, но как только вас возьмут, то попросят писать именно на нем и все-равно придется его учить.  Машинное Обучение. Сегодня сложно представить себе по-настоящему большую компанию, которая не использует машинное обучение. Далеко не все аналитики на практике создают модели машинного обучения, но для всех сегодня обязательно понимать, какие задачи оно решает. В очень упрощенном виде машинное обучения выполняет работу аналитика за него — модель делает выводы по данным в автоматическом режиме. Простейшие модели прогнозируют объем продаж на торговой точке, отток пользователей из приложения или вероятность дефолта по кредиту. Более сложные модели рекомендуют видео, ранжируют страницы и даже распознают лица. Принцип остается прежним: модель использует исторические данные, чтобы делать выводы о будущем.  Алгоритмы и Структуры Данных — это математическая дисциплина, которая изучает последовательности действий для решения задач преобразования информации, а также способы ее эффективного хранения и утилизации. На практике это значит — как писать код так, чтобы он выполнял поставленную задачу за разумное время. Самые банальные алгоритмические задачи включают в себя поиск и сортировку элементов в массиве (‘16126’ -> ‘11266’) и сравнения строк (‘abcdefg’ = ‘gfedcba’?). С другой стороны, наиболее сложные алгоритмы занимаются проблемами расшифровки генома человека и стохастической оптимизацией, используемой в нейронных сетях. Многие аналитики считают, что работодатели несправедливо требуют от них знания алгоритмов и структур данных. Зачем аналитикам алгоритмы? Ведь они не пишут код, это нужно скорее разработчикам. На практике самые творческие аналитические задачи непременно требуют знания алгоритмов. Это касается не только “Аналитиков-разработчиков”/”Machine Learning Engineer”, но и тех, кто не пишет боевой код. Алгоритмы могут понадобится аналитикам для моделирования сложных процессов, создания прототипов и моделей машинного обучения, а также для сложных расчетов на больших массивах данных. Прочая математика. Почти вся математика, которая преподается в университетах в той или иной степени пригождается в работе аналитика. Математический Анализ необходим для понимания методов машинного обучения, Линейная Алгебра используется для перемножения матриц в нейронных сетях, про Методы Оптимизации я вообще молчу. Более того, все взаимосвязано. Например, комбинаторные формулы Дискретной Математики используются в Теории Вероятности. Интегралы, которые традиционно входят в курс Математического Анализа, применяются для проверки статистических гипотез. ВУЗы. НИУ ВШЭ, МГУ, МФТИ дают в первую очередь математическую базу, которую очень сложно догнать потом. Помимо математики очень полезны курсовые и дипломные работы, потому что зачастую это буквально построение выводов по данным. Кроме того, студенческие годы это хорошее время попробовать себя в разных специальностях на неполный рабочий день. Например, одним летом можно стажироваться в разработке, а другим — в аналитике. Таким образом, можно лучше понять, какая специальность нравится больше. Онлайн-курсы. Яндекс.Практикум, datacamp.com, educative.io помогают добрать необходимые навыки, которым, как правило, не учат в университете. Это языки программирования Python и SQL, специализированные библиотеки для анализа данных, а также методы машинного обучения и навыки прикладного применения математического аппарата.  Стажировка. Самый лучший старт в карьере это стажировка в крупной технологической компании. (Яндекс, Озон, VK, Тинькофф) Оплата, как правило, символическая, но опыт работы открывает множество перспектив и потом можно быстро выйти на достойный уровень. Стажировки сейчас часто удаленные и на 20 часов / неделю, поэтому такую занятость более чем реально совмещать с учебой. В компаниях очень лояльно относятся к сессиям, курсовым и дипломам действующих студентов. С одной стороны, из-за ностальгии сотрудников и добрых побуждений, а с другой — человек получает образование и в будущем может стать еще более полезным сотрудником. Любая другая практика. Не стоит сильно расстраиваться, если у вас не получилось примкнуть к крупным IT-компаниям на старте. Стажировок очень мало и мест на всех не хватает. На старте нужно быть готовым для любой работы, которая позволяет вам практиковать хотя бы часть из навыков, которые понадобятся в профессии. Например, можно присмотреться к банковской сфере. В банках требуется множество аналитиков. Как правило, в банковской сфере под этим понимают немного других людей, но тем не менее это неплохой опыт для будущей работы в IT-компаниях. В следующий раз на вас неизбежно будут смотреть как на человека с опытом. В банковской сфере вполне можно потренировать навыки SQL, Python и даже машинного обучения. В РФ довольно лояльно смотрят на вчерашних выпускников на стартовых позициях, собеседование получить не очень сложно. Однако не стоит поддаваться иллюзиям из-за приятного тона рекрутера и его 100%-ой уверенности в вашей высокой квалификации. Это их работа — довести как можно больше +- подходящих людей до встречи с интервьюером как можно быстрее. Дальше вы попадаете к интервьюеру и он не будет вас жалеть, это другой человек с другими целями. Его задача — ни в коем случае не допустить найм “не того” человека. Какие задачи могут ждать вас на собеседовании? SQL. Здесь будут задачи до среднего уровня на простые SELECT’ из таблиц. Вам будут даны таблицы, а вам нужно будет грамотно объединить (JOIN) данные из них и провести определенные вычисления. Попрактиковаться можно на https://www.sql-ex.ru, уже много лет этот сайт является золотым стандартом подготовки к собеседованиям по SQL. Важно: некоторые люди могут попросить вас выполнить тестовое задание, для которого нужно самостоятельно создать базу данных. Для младшего специалиста это достаточно сложная задача сама по себе и это нормально, если для вас это составляет половину сложности задания. Важно 2: некоторые задачи выглядят очень простыми, но на самом деле требуют от вас заметить маленькую деталь, которая полностью меняет смысл.  Вероятность. Здесь будут задачи почти как из университетского курса Теории Вероятности и Математической статистики. Пример: Есть две стандартные игральные кости. Какова вероятность выпадения одинаковых значений при броске? Больше примеров по ссылке.  Python. Как правило аналитиков просят объединить пару таблици с помощью библиотеки Pandas или что-то подобное. После datacamp.com вы станете в этом настоящим экспертом. Вероятно после других курсов тоже возможно получить высокий уровень.  Алгоритмы. Здесь аналитиков попросят решить задачи уровня Easy и Medium с https://leetcode.com. Решать много-много задач оттуда хорошая практика для этого этапа. Как правило, аналитиков не спрашивают совсем жесткие алгоритмы.  Машинное обучение. Если мы не говорим о ролях с глубоким упором на ML, то здесь достаточно понимать основные задачи, методы оценки точности моделей, примеры приложений и, желательно, механизм работы алгоритмов. Конечно, последний пункт самый сложный. Пример задачи: если мы хотим сделать модель для прогнозирования Y в зависимости от X, то какой алгоритм лучше использовать для такой выборки: линейную регрессию или градиентный бустинг? Публикую ссылки на все мои статьи у себя в LinkedIn. Добавляйтесь!  Аналитик-разработчик