Привет! Меня зовут Алексей, я дата-аналитик. Четыре года назад я пришёл в дата-анализ из сферы, далековатой от IT, — пивоварения (хотя о том, что на самом деле они не так далеки, я рассказывал здесь). До того как я нашёл свою нишу, тщетно пробовал вкатиться в IT через разные курсы по Python, TensorFlow и веб-разработке. Потратил на это три года и 100 тысяч рублей, в какой-то момент выгорел ещё в процессе обучения, чуть не бросил попытки, но собрался и в итоге самостоятельно и бесплатно изучил анализ данных, который мне сразу зашёл.  Сейчас я вижу, что многие начинающие блуждают теми же окольными путями. Поэтому решил написать про свой путь с фейлами и граблями и рассказать, что мне помогло найти своё. Надеюсь, мой текст будет полезен — добро пожаловать под кат.  На написание статьи меня вдохновила публикация, которая рассказывает о невыживших в IT. Та статья была с перспективы опытного программиста. Моя же будет с другой стороны баррикад, где мир кажется ещё мрачнее.  После возвращения в Москву я нашёл работу в офисе. Задачи были типичные: составление сводных таблиц в Excel, подписание документов и вёрстка простых презентаций. Наступила пандемия, и нас всех дружно перевели на удалёнку. Работать из дома мне понравилось и побудило снова задуматься над сменой карьеры. А в какой сфере чаще всего домашний режим? Конечно, в IT.  Надо сказать, что за спиной уже был неудачный опыт. В 2014 году, когда я только начинал изучать программирование, брат предложил мне пройти курсы (1, 2) по Python от Rice University. Мы выбрали платформу Coursera, так как она предоставляла доступ к курсам от ведущих университетов и была удобной для обучения.   Программа и преподаватели были отличными: авторы были погружены в процесс и вместе со студентами играли в игры, шутили и очень подробно и с душой объясняли. В итоге я самостоятельно сделал несколько игр и познакомился с азами программирования, но моего энтузиазма хватило ненадолго, поэтому в следующий раз я вернулся к программированию только через 5 лет.  В 2019-м решил снова взяться за старое: вспомнить Python, но теперь стать дата-сайентистом с помощью профессионального сертификата от DeepLearning.AI по TensorFlow, у которого есть библиотека Python для машинного обучения. В самом курсе было много практических примеров, а кураторами выступали самые светлые головы мира ИИ — например, Laurence Moroney, Lead AI Advocacy в Google. В этот раз комбинации Python и задора хватило чуть больше: начал участвовать в соревнованиях на Kaggle и даже принял участие в хакатоне по data science. В хакатоне дошёл до финала, решив две задачи, но знаний победить уже не хватило.  Так или иначе, в обоих случаях я лишь приобрёл некоторые поверхностные знания инструментов без реального понимания, как и где их применить и кому я с этими знаниями нужен. Поэтому в этот раз я твёрдо решил, что не буду тратить деньги на курс, который не помогает с трудоустройством, и мне на помощь пришла реклама курсов от Яндекс.Практикума со скидкой от Плюса. И вот я уже в эйфории от их обещаний ввожу данные кредитной карты и визуализирую себя на острове с ноутбуком на животе...  Для начала нужно было определиться с направлением обучения. У меня был выбор между несколькими вариантами. Первый вариант — это пройти профориентационные курсы и узнать больше о современных трендах в IT-индустрии. Второй — поговорить с друзьями, которые уже работают в этой сфере, понять, что им нравится и спросить, что они советуют. Третий вариант — прислушаться к зову сердца. Я решил, что веб-разработчиков мало, а сайтов много. Подумал, что смогу создать хорошее портфолио, выполняя заказы от друзей. В итоге реальность оказалась немного другой. А тем временем уже началось обучение.  После прохождения весёлого интерактивного вводного урока, где нас за ручку ведут по пути молодого веб-разработчика, а каждый этап является частью интересной истории, нас встречают наши старые знакомые — лекции. Все последующие уроки были длинными лекциями, без каких-либо историй. Первый урок был всего лишь маркетинговой уловкой, которая не давала никакого представления о том, что меня ждёт дальше. Следующим «подарком» явилась бесконечная череда так называемых тренажёров. Они имитируют среду разработки в браузере, чтобы неподготовленный человек привык к рабочим инструментам. В нём же вы будете сдавать домашние задания и некоторые проектные работы. На деле же вместо понимания нюансов работы, вы ночи напролёт будете бороться с ошибками самого тренажёра и бомбардировать техническую поддержку сайта в надежде, что жестяная банка примет правильный ответ. Благодаря этому вы получите также базовые навыки ручного тестировщика, которые почему-то в описании курса заявлены не были. Важное, что может дать курс, — это портфолио. В лучшем случае вы соберёте кейсы, которые можно показать будущему работодателю. Но проблема в том, что часто вы получаете одно портфолио на всех студентов курса. На протяжении года вы все делаете одинаковые проекты, отличия в них заметит только код-ревьювер. В итоге набор проектов с курсов успел набить оскомину и стал уже больше дурным тоном, нежели конкурентным преимуществом.  Завершающим аккордом обучения будет долгожданная помощь в трудоустройстве, которой мне так не хватало во время предыдущих курсов. Она проходит в рамках карьерного центра, где опытные сотрудники помогут составить резюме и проведут тестовое собеседование. И всё бы ничего, но на выходе резюме тоже получается штампованным. В карьерном центре делятся вредным советом — указывать учебный опыт в качестве рабочего. Уже после нескольких лет работы, общения с HR и собственного опыта найма понял, что это плохая затея.  Почему плохая? Во-первых, это вводит работодателя в заблуждение и не отражает действительности, а это явно не лучшие обстоятельства для знакомства, так как HR поймёт, что вы выдаёте желаемое за действительное. Во-вторых, этим «приёмом» уже никого не удивить, так как все хорошо знакомы со структурой курсов и качеством выпускников. А ещё зачастую HR рекомендуют вообще убирать нерелевантный опыт из резюме, но если у вас есть любой опыт работы, то лучше проанализировать его и вычленить аналитические задачи, которые вы решали, продемонстрировав с их помощью если не технические навыки, то умение аналитически мыслить, декомпозировать задачи и грамотно распределять время. Ко времени сдачи финального проекта учёба из приятного хобби на выходных, на которое я тратил несколько часов в день, превратилось в ежедневную вторую работу с 19:00 и до заката (плюс выходные). В описании курса заявляют, что на учёбу хватит 15–20 часов в неделю, но на самом деле нагрузка распределена неравномерно в течение десятимесячного обучения. Как-то раз я просидел весь отпуск за написанием очередной проектной работы, нервничая и параллельно ссорясь с близкими, так как не мог толком отдохнуть, а всё время тратил на исправление ошибок в коде.  По условиям курсов была возможность сделать налоговый вычет в размере 13% от уплаченной за него суммы, если ты официально трудоустроен. Это был как раз мой случай, но стоит учесть, что Яндекс лишь предоставляет необходимые документы, а бумажной волокитой приходится заниматься самому.  Изначально я выбрал помесячную оплату курсов, но не предусмотрел такую ситуацию: я начал обучение в июне 2020-го, а закончил в марте 2021-го, поэтому пришлось разбивать налоговый вычет на два периода. Камеральную проверку тоже пришлось проходить несколько раз. Собрать чеки об оплате для налоговой тоже получилось не с первого раза, так как была техническая ошибка в их отправке и приходилось выискивать правильные чеки. Яндекс, конечно, не во всём виноват, но осадочек остался.  После успешного завершения учёбы и получения заветного диплома я отправился на поиски работы. Из артефактов у меня было резюме, сопроводительное письмо и пет-проекты. Я откликался на вакансии и делал всё, как меня учили в карьерном центре, но, к сожалению, результатов не было, и я решил делать по-своему. По дороге на работу регулярно слушал подкасты Веб-стандарты и Habr Weekly, которые погружали меня в IT-среду, помогая изучить непонятные для меня термины и технологии. Начал искать небольшие заказы на Профи.Ру, чтобы набраться опыта, но ниша оказалась довольно конкурентной, и начинающему «джуну» не хватило там места. На одно предложение откликаются сразу десятки специалистов с опытом и отзывами. Можно было демпинговать, но заказы были довольно сложные и требовали самостоятельности. Клиенты не расписывали подробно ТЗ, как это было в проектных работах на курсах, а просто хотели, чтобы за них сделали «всё красиво» с нуля, но на тот момент я даже не понимал, за что взяться в первую очередь, чтобы приступить к выполнению заказа, поэтому диалоги заканчивались безрезультатно. После нескольких недель безуспешных откликов на заказы оказалось, что знаний после курсов не хватит для полноценной работы на фрилансе. Понял, что на Профи.Ру мне ещё рано, поэтому стал пробовать ещё один способ: начал самостоятельно изучать сайты с помощью расширения в Google Chrome — Lighthouse, которое анализирует параметры веб-страницы и даёт набор рекомендаций по улучшению, или просто находил какие-то визуальные ошибки на сайте. Эти данные я собирал и упаковывал в сообщение, которое направлял контактным лицам на сайте, иногда даже получал ответы, но только отрицательные. Последней надеждой стала идея совместить комьюнити и предпринимательскую жилку. Ещё во время учёбы собрал довольно активную аудиторию порядка 100 человек из студентов Яндекс.Практикума. Идея была проста — откликаться на заказы на Профи.Ру, скидывать их в группу, вместе делать, распределять прибыль по мере участия и набираться опыта. Проблем оказалось несколько: группа была в WhatsApp, опыта ни у кого не было, а группа была постоянно атакована спам-ботами, от которых было тяжело избавиться. В итоге группа затихла и канула в лету вместе с моей мотивацией искать работу дальше.  Я был подавлен, ситуация не давала мне покоя: потрачены деньги, нервы и эмоции, а результатов никаких. За три месяца поиска работы я откликнулся на сотни вакансий, десятки заказов на Профи.Ру и написал на несколько сайтов с предложениями своих услуг. Ответ был один — отрицательный. Мне было страшно и обидно, что вокруг ничего, кроме закрытых дверей, хотя, казалось бы, стучался я много и упорно. Мотивации продолжать дальше уже совсем не осталось, зато добавилось отвращение к вёрстке, HTML, CSS и JavaScript. Так я в третий раз я провалился с переходом в IT.  После того как я решил, что программирование не для меня, я на несколько месяцев прекратил все свои усилия по поиску работы. Вместо этого полностью погрузился в своё любимое занятие — компьютерные игры. Это было моим местом, где я мог убежать от реальности и насладиться свободой.  После Практикума жизнь вернулась в старое русло: дом, работа, компьютер. Ни о каких IT и прочем я и уже и не думал. Слова жены, что я всё-таки смогу и всё получится, ничего, кроме раздражения, не вызывали. Но со временем эмоции утихли, а новая задача на работе пробудила интерес к жизни. Необходимо было сделать сложную таблицу в Excel для ранжирования проектов на основе множества параметров и вычислений. Впервые мне не хватило стандартных знаний Excel и пришлось воспользоваться новыми для меня инструментами: Visual Basic for Applications (VBA) VBA и PowerPivot. Первый позволяет писать макросы для работы с Excel, а второй — создавать модели данных. Задачу в итоге решил с помощью форума по Excel https://www.planetaexcel.ru, в котором, по ощущениям, люди знают ответы на все вопросы! Во время поисков решения в смежных темах стал замечать новые для себя слова: sql, базы данных, метрики. По ключевым словам начал искать информацию в поисковике, читал разные статьи, пока не столкнулся с должностью, которая изменила мою жизнь, — аналитик данных.  Анализ данных показался мне довольно интересной областью, в которой, помимо актуальных технологий (Python, SQL), были ещё увлекательные исследовательские задачи и возможность влиять на процессы. Также мне не хотелось изолироваться от людей и просто писать код, а в аналитике один из важных этапов — презентация выводов и общение с бизнесом. Поэтому для меня это стало идеальным вариантом, который сочетает в себе весь мой предыдущий опыт. Для начала я разобрался в доступной литературе, искал просто в поисковиках, начал читать несколько книг, но самой полезной считаю книгу Wes McKinney, автора книги Python for Data Analysis, которая доступна бесплатно. Он же оказался создателем знаменитой библиотеки Python для анализа данных — Pandas, а также сооснователем Apache Arrow и Ibis, которые также используются для работы с данными. Подробнее познакомиться с автором можно на его сайте. Забегая вперед, скажу, что полностью освоил Python и Pandas в рамках ресурсов, которые заботливо собраны на официальной странице документации. Вот некоторые из них:  Список всех туториалов по Pandas. Pandas за 10 минут: текст и видео от Wes McKinney. Теоретическая часть для более глубокого погружения. Этих знаний мне хватило для понимания нюансов работы с Pandas и прохождения технической части собеседования по Pandas.  Закрепил и освежил знания по Python я с помощью опять же официальной документации, на которой, помимо строгих выкладок, есть специальная страница для начинающих, где собраны все необходимые ссылки, чтобы разобраться в Python от и до. Там собраны как платные, так и бесплатные ресурсы, а некоторые просто с небольшой рекламой. Ниже приведу самые полезные из них. Из платных:  Сайт datacamp имеет огромную коллекцию разнообразных курсов по Python (вступительный, продвинутый) и SQL (начальный, продвинутый), и есть даже полноценные карьерные треки (Аналитик Данных), в которых уже собран весь необходимый набор курсов. Стоимость — 199 $ в год, но по ссылке из 2018 года всё ещё работает новогодний промокод и цена снижается до 60 $. Больше всего мне пригодились следующие курсы: Курс по Веб-скрейпингу помог мне объединить мои знания веб-разработчика, аналитика данных и любовь к киноискусству. Я сделал свой первый парсер сайтов для «Кинопоиска» и на основе этих данных создавал визуализации для портфолио.  Курс по Airflow (популярный оркестратор для работы с данными) помог в своё время отвечать на базовые вопросы на собеседовании по теме без коммерческого опыта. Очень понравился курс по эффективному написанию кода на Python. К примеру, оттуда я узнал, как можно избегать лишних циклов с помощью встроенных в Python функций, например map(). Из бесплатных:  Для любителей cheat sheet (одностраничные шпаргалки с основными понятиями и функциями). Гайд по one-liners в Python. На удивление очень часто просили их написать во время собеседований.  Также я узнал про Мекку для аналитиков данных и дата-сайентистов — сайт kaggle.com. На нём, помимо площадки для соревнований по машинному обучению, есть ещё отличный раздел с бесплатными курсами по всем необходимым дисциплинам для аналитика данных. Надо заметить, что у курсов очень сильная практическая часть, а в некоторых из них можно сразу принять участие в своём первом соревновании, чтобы добавить первые регалии в резюме. Из курсов я прошёл все, но для начала рекомендую ознакомиться с курсом по Python и SQL (начальный, продвинутый). Один из самых полезных и сложных стал курс по временным рядам, благодаря ему я решал даже некоторые рабочие задачи.  Стоит отдать должное и пройденным курсам по веб-разработке: у меня сформировалось хорошее понимание HTML, CSS и JavaScript. Таким образом, среди направлений аналитики данных я решил сконцентрироваться на веб-аналитике. Для подкрепления стал делать свой первый пет-проект всё на том же сайте Kaggle. В нём я решил повторить некоторые отчёты из Google Analytics на основе датасета от Google Merchandise Store. Сразу скажу, что эффект на собеседованиях был: HR-специалисты и технари с удовольствием соглашались потратить пару минут на рассмотрение моего первого проекта, а на нём я хотел продемонстрировать свои технические навыки и ход мыслей. Аналитический же подход я сформировал на основе курса от Google.  В третий раз обратился за помощью к Coursera, где снова искал бесплатные курсы. Свой выбор остановил на профессиональном сертификате для аналитиков данных от Google, где, помимо самих курсов, было множество ссылок на всевозможные ресурсы: Платформа для изучения SQL. Полезная еженедельная рассылка новостей из мира анализа данных. Методология для создания визуализаций от David McCandless. Подробный разбор дата-профессий. Методология анализа данных, которую использую до сих пор. Как общаться с заказчиками. Также курс пестрит именитыми преподавателями из Google: чего только стоит Kevin Hartman, бывший Head of Analytics at Google, который ведёт мой любимый курс по визуализации и презентации данных, хотя почему-то именно у него самая низкая оценка из всех.  Я потратил на изучение этой базы дата-анализа 6 месяцев. Занимался по 2–3 часа в день. Самое важное — я применял эти знания на своей офисной работе: автоматизировал рутинные задачи, делал сложные расчёты и создавал не просто презентации, а целые истории. Вместо учебников и курсов читал документацию по интересующим меня технологиям. Благодаря погружению в первоисточник появилась возможность блеснуть знаниями во время будущих собеседований.  В этот раз над резюме я работал без участия карьерного центра. Убрал учёбу на онлайн-курсах из опыта работы и вместо этого решил подсветить аналитические задачи, которые делал на текущем месте работы. Например, строчка «опыт работы с метриками» превратилась в «Разработал показатели и методологии для принятия решений в отношении инвестиционных проектов на основе данных с помощью Excel Power Query, что позволило проанализировать более 100 проектов и выбрать самые оптимальные». Смысл в том, чтобы вместо общих слов подтверждать навыки обязанностями и их результатами, попутно пытаясь их оцифровать, конкретизировать и добавить используемые технологии. Одновременно знания Python помогли мне автоматизировать некоторые процессы на работе — например, нам приходили однотипные документы в формате Excel, их нужно было вручную заносить в общую таблицу почти каждый день. Простой скрипт на Python решал эту задачу за несколько секунд. Мне оставалось больше времени для саморазвития. Такие достижения тоже указывал в резюме как примеры работы с Python и автоматизации.  Под каждую вакансию я немного дорабатывал резюме, чтобы подсветить те ценности, которые важны конкретному работодателю. В сопроводительном письме дополнял информацией из разделов вакансии: «Какие будут задачи», «Что нужно знать», «Что будет плюсом». Я стал использовать лексику из описания вакансий — описывал опыт под задачи, указанные работодателем.  По истечении 6 месяцев изучения анализа данных и подготовки резюме пришло время десятков откликов и собеседований. Полтора месяца я откликался на несколько десятков вакансий в день. Решил штук двадцать тестовых. За это время меня пригласили на 12 собеседований. Первые два-три собеседования прошли не просто плохо, а, я бы сказал, ужасно. Мне было стыдно за своё незнание и что трачу чужое время. Но я не отчаивался: записывал все вопросы, и каждое последующее проходило чуть лучше, и в итоге получил свой заветный офер в IT-компанию на последнем собеседовании после 11 отказов.  Сложнее всего было то, что уже закончилась удалёнка, а собеседования в большинстве своём проходили до 18:00, поэтому вместо обедов я убегал с ноутбуком в соседнее кафе, чтобы провести очередное интервью. Надо было успевать выполнять текущие обязанности и дополнительно работать на собеседованиях.  Я вёл подробный учёт собеседований в таблице: отмечал, на каком этапе нахожусь, какие вопросы задавали и как отвечали на мои. Два-три собеседования ещё можно держать в голове, а когда их больше десяти — они все путаются. Поле Описание Значение  Дата Дата первого контакта  02.08.2023 Источник Источник вакансии hh.ru  Ссылка на вакансию Ссылка на исходную вакансию  Компания Название компании WebSolutions Сайт Сайт компании websol.com HR Имя HR Emily Телефон Телефон HR 987-654-321 Телеграм Telegram HR @emily 1-е собеседование Дата скрининга от HR 12.08.2023 1-й комментарий Комментарий к скринингу (вопросы, нюансы, условия)  Спрашивали, почему ушёл с прошлого места работы? В чём разница между left и right join?  Вилка от 100 000 рублей, гибрид 2-е собеседование Дата технического собеседования 18.08.2023 2-й комментарий Комментарий к техническому собеседованию (задачи, вопросы) Задача по Python: найти палиндром  Задача по SQL: найти всех работников отдела с зарплатой от 3000 рублей  3-е собеседование Дата собеседования с командой (роль в команде, процессы) - 3 -й комментарий Комментарий к собеседованию с командой - Дата офера Дата офера  - Текущее состояние Изменение статуса Ожидание офера Доллары Зарплата в долларах США 90 Рубли Зарплата в рублях  60 000 Премия Процент премии  20%  Повышения  Частотность performance review  Один раз в шесть месяцев Расположение Адрес офиса Москва, Россия Формат работы Формат работы Удалённый Команда Состав команды ПО, дизайнер, разработчик Развитие Возможности развития внутри компании  Митапы, конференции Стек Используемые технологии  Python, ClickHouse, Airflow Оформление Формат тудового договора  ГПХ Технические вопросы я выписывал отдельно, что тоже существенно мне помогло. После нескольких интервью у меня уже был джентльменский набор вопросов по SQL, ответы на них у меня от зубов отскакивали. А нанимающей стороне, конечно, нравятся уверенные ответы кандидата. Обнаружил забавную корреляцию: чем менее используется функция, тем чаще про неё спрашивают. Список на момент 2020 года был такой: Чем union отличается от union all? Что быстрее truncate, delete или drop и в чём между ними разница?  Что такое cross join?  Тестовые задания я старался брать на выходные, чтобы было максимум свободного времени. Во время рабочей недели может не хватить не только сил, но и времени, то самое тестовое, которое принесло мне офер, я буквально делал сутки и отправил HR в 3 часа утра в субботу, а через минуту от него получил ответное сообщение, что спасибо, приняли. Я сильно удивился и немного насторожился. Было не совсем ясно: это у них там такие переработки в чести или у кого-то просто активная ночная жизнь. Ответ не заставил себя долго ждать. Результаты заданий по SQL или Python я никогда не скидывал сплошным текстом, а пытался выделиться интерактивностью, чтобы можно было на живом примере продемонстрировать работу кода. Я использовал db-fiddle, интерактивную платформы для работы с базами данных, а сейчас можно воспользоваться библиотекой streamlit (полноценная платформа для дата-продуктов) и сделать небольшое веб-приложение с результатами своей работы. На собеседованиях надо быть активным и транслировать мотивированность, — тогда я этого не понимал, но делал это интуитивно, а сейчас, когда сам нанимаю сотрудников в команду, замечаю, как проактивные кандидаты выгодно смотрятся на общем фоне, даже если у них есть какие-то пробелы в hard skills.  На финальном этапе собеседования — знакомстве с командой — у меня постоянно включался режим самозванца, когда видел людей, которые моложе меня, а релевантного опыта намного больше. Страх оказаться хуже других преследовал долгое время, пока не столкнулся в IT с другой культурой, где коллеги не против делиться знаниями или помогать с рабочими задачами, ведь все когда-то начинали. Если у вас не получилось найти работу или вы разочаровались в выбранном пути, не отчаиваетесь. Возможно, не все со мной согласятся, но мир IT огромен, и место здесь найдётся каждому — просто надо более внимательно изначально подойти к вопросу и выбрать то, что действительно вам ближе всего. Надеюсь, моя статья будет полезна. Если у вас похожий опыт и вы готовы поделиться — пишите! Если есть вопросы — буду рад ответить в комментариях.  Аналитик данных, автор t.me/onlyanalystgroup