Я успешно закончил обучение в Яндекс Практикум по направлению «Анализ данных». Поэтому расскажу вам как это было.
Как началось
В феврале 2019 года Яндекс анонсировал запуск своей онлайн-школы «Яндекс Практикум». Обещали обучить на фронтенда, веб-разработчика или аналитика данных.
“О, Яндекс учит. О, учит анализу данных!” — подумал я и приступил к прохождению бесплатного блока.
Блок посвящен основам Python и анализа данных. В описании говорится что его прохождение займет ~20 часов. Буду честен, с моими навыками программирования (-1) этот блок я проходил часов 40. Это было сложно, это было нервно. Мой мозг кипел в процессе адаптации к новой логике. Но каждый раз когда руки начинали опускаться, я вспомнил простую истину: Всё хорошее достается с большим трудом (Спасибо, доктор Келсо).
К завершению вводной части я был переполнен энтузиазмом продолжить свое обучение. Поэтому без раздумий оплатил участие в платном блоке (спасибо поддержке за маленький, но приятный бонус). Кстати, если вы тоже хотите приятный бонус, напишите мне (вконтакте или telegram), я знаю волшебное слово и волшебных людей ;).
Пока я ждал старта основной программы, чтобы подтянуть свои знания в python, по совету коллеги, я прошел на степике курс по основам питона (вот он: https://stepik.org/course/67). Это дало хорошее понимание того как все устроено, что не раз пригодилось в дальнейшем.
Как проходит обучение
В июле запустился платный блок, нас (студентов) ознакомили с правилами и понеслось.
Структура обучения
Обучение состоит из 11 курсов, двух сборных проектов и дипломной работы.
Правильный и структурированный процесс анализа данных называется пайплайном, который состоит из отдельных этапов. У каждого из этапов есть свои цели, задачи, начало и конец.
Каждый из 11 курсов посвящен одному из этапов пайплайна. Курс разбит на 2 спринта: теоретический (уроки и отработка микрозадач в тренажере) и практический (самостоятельное решение большой аналитической задачи).
Например, один из этапов — сбор информации для анализа. В курсе рассматриваются вопросы как определить, какая информация понадобится для решения задачи. Откуда ее забирать (из баз данных, с сайтов, по API). Как это делать на практике (SQL запросами и средствами python). И где хранить собранные данные.
В качестве самостоятельной работы необходимо написать SQL запросы для получения данных о перелетах из БД авиакомпании, написать парсер для сбора информации с сайта с анонсами фестивалей по городам. А в конце провести анализ того как проведение фестивалей влияет на пассажирский спрос.
После успешной сдачи проекта чувствует глубокое моральное удовлетворение и огромная уверенность в своей крутости :).
Что происходит на дипломной работе я вам не расскажу. Сделаю намек: это потрясающе!
Процесс обучения и дедлайны
Мне очень понравилось то, как построен процесс обучения. У тебя есть курс и срок за который надо его пройти. И проходишь его в том темпе, который тебе комфортен. Хочешь пройти его запоем и оставить время на отдых или другие дела перед стартом следующего курса, учись так. Есть только 1–2 часа на обучение в день, такой формат приемлем. Не можешь заниматься каждый день, и так тоже можно.
Дедлайны есть, конечно. Есть дедлайны “мягкие”, когда ты не успел пройти курс и нагоняешь его во время следующего курса. Есть дедлайны жесткие, когда не успел сдать все долги. Но это не страшно, потому что есть возможность просто перейти на обучение к следующему учебному потоку.
Общение
Одновременно проходит обучение достаточно большое количество людей. Всем хочется поделиться эмоциями, задать вопрос, просто пообщаться, подергать поддержку и так далее.
Поэтому все общение происходит в Slack. В нем есть несколько каналов, которые отвечают на разные задачи. В одном канале студенты делятся ссылками на статьи, материалы и интересные находки. В другом канале совместными усилиями ищутся ответы на сложные вопросы. И так далее.
Короче, во время учебы никто не остается наедине с собой. Всегда есть место где протянут руку помощи или похлопают по плечу.
Команда
На протяжении всей учебы, рядом всегда есть команда Практикума, с очень крутыми и опытными профессионалами, доброжелательными и готовыми прийти на помощь.
Есть несколько ролей:
- Куратор — человек, который сообщает о всех обновлениях, новостях, дополнительной информации, и поддерживает атмосферу кутежа :)). У нас была Марина Левушкина. Она крутая! Спасибо, Марина!
- Преподаватель — профессионал, который знает ответы на 95% любых, самых сложных или дурацких вопросов. Он всегда рядом и всегда готов помочь. У нас был Вячеслав Зотов. Слава, ты очень умный и офигенный человек. Ты пример профессионала, на которого хочется ровняться.
- Наставники — люди, которые проводят вебинары, проверяют проектные работы и делятся своим опытом. Во время учебы наставники ротируются, чтобы студенты могли получить разный опыт. У меня были:
— Эльвира Насирова. Эльвира, спасибо тебе за ту ламповую, дружелюбную и классную атмосферу, которую ты умеешь создавать!
— Алексей Макаров. Алексей, спасибо тебе за тот классный опыт, которым ты с нами поделился. Твой профессиональный путь очень сильно вдохновляет на развитие!
— Наталья Казаченко. Наталья, спасибо! Ты классная! - Тим-лид на дипломном проекте — старший товарищ, который сопровождает во время прохождения диплома. У меня была Ольга Матушевич. Ольга, спасибо за тебе за четкость, лаконичность и умение показать правильно направление!
- Поддержка — те ребята, которые 24 часа в сутки готовы помочь с технической проблемой. Спасибо вам, вы ни раз нас выручали!
- Секретный человек — человек, который напоит вкусным кофе, а взамен попросит честно рассказать о своих впечатлениях. Русина, спасибо, ты очень позитивная и классно мотивируешь делиться информацией!
Студенты
В моей группе было в районе 70 студентов. И далеко не все они пришли, чтобы улучшить свои аналитические навыки. Были и те, кто решил сменить род деятельности. Продажники, служащие банка, копирайтеры, seo специалисты, инженеры, студенты. Это малая часть сфер откуда люди приходят на учебу. И это очень круто, что Яндекс дает такую легкую, и доступную возможность изменить свою жизнь.
Ребята, вы все классные. Спасибо вам за то, что вы были рядом в этом пути.
Что я получил в итоге
Моя основная сфера деятельности хоть и соприкасается с анализом, но не так глубоко, как хотелось бы. Поэтому и знания в аналитике у меня были, но очень фрагментированные и не структурированные.
Сейчас я знаю статистику, знаю процесс анализа данных от получения запроса до презентации решения. Я знаю питон (не так глубокого, чтобы быть гуру, но дайте мне задачу, дайте время и я ее сделаю). Знаю как работать с библиотеками питона. Знаю SQL (самые азы, но дальше обучиться не проблема). Да много чего еще знаю, нет смысла перечислять все.
Теперь моя задача — развивать полученные навыки, не стоять на месте, расти в опытного и сильного специалиста. И у меня уже есть план, и я делаю шаги в направлении реализации этого плана.
Немного о плохом
- Я попал в первую когорту студентов. И я прекрасно осознавал что курс может быть сыроват. Что могут быть технические проблемы. Не всегда понятная подача материала. И это нормально. Недавно я выборочно посмотрел пройденные курсы и могу сказать что часть из тем переработана, часть изменена полностью (смысл остался, но стало понятнее). Команда слышит обратную связь и развивает курс, решая возникающие проблемы.
- Наставники не всегда могли оперативно выходить на связь или проверять проекты. И это тоже нормально. Ведь в работе тоже всегда так, не все и не сразу могут прийти и подсказать верное направление.
В любом случае, курс пройден. Это значит что все возникающие проблемы не были критичными, и всегда решались :)
Советы будущим студентам
- Не пугайтесь того, что вы что-то не понимаете. Я знаю каково это. Я тоже не понимал. Но проходит какое-то время и что-то щелкает внутри и понимание приходит. Некоторые вещи понимаешь сразу. Некоторые понимаешь во время проектной работы. Например, тему построения LTV в когортном анализе я понял только при выполнении дипломного проекта.
- Сделайте шпаргалку. Во время обучения будет множество функций. И нет смысла запоминать все это здесь и сейчас. Записывайте. Что используется часто, запомнится само. А что используется редко вы всегда сможете вспомнить при помощи вашей шпаргалки.
- Не бойтесь изменений. Страх — чувство, которое рождается когда вы выходите за пределы обыденных вещей. Но в конце вас всегда ждет приз!
- Разбивайте большие и страшные задачи на маленькие и не страшные подзадачи. Сложно проглотить целый пирог, но если отрезать от него маленький кусочек это будет легко :).
- Если вам что-то не понятно, сначала попытайтесь разобраться сами. Переформулируйте задачу. Поищите статьи в интернете. Всегда легко обратиться к тому кто знает как правильно сделать, но это не даст ничего кроме иллюзии усвоения. Но если разобраться самому, то и тема усвоится совсем на другом уровне.
- Классика: если у вас появился вопрос, с большой вероятностью на него уже есть ответ в интернете. Подсказка: stackoverflow.
На этом, пожалуй, все. Если у вас есть вопросы, пишите, я всегда готов поделиться :)
P.S. Кстати, вот пример тетрадки (скрипта), которую я написал после прохождения одного из курсов.
Получение данных по API Google Analytics https://github.com/RuslanFatkhutdinov/google-analytics-api-to-pandas-df/blob/master/google-analytics-api-to-pandas-df.ipynb.
Это не идеальный код, я знаю. Но это код человека, который в теме 2 месяца. Он выполняет свою задачу, использует мало ресурсов и имеет простую и понятную логику.