Зарабатывать
23 июля 2020

Эксперимент: редактор Burning Hut учит Python и анализ данных с нуля

Проверяем, действительно ли можно пойти учиться ИТ-профессии без технического бэкграунда и насколько это сложно.

Таня Никитина
Таня Никитина
Главный редактор.
Изображение
5

Эти редакторы постоянно пишут в своих статьях: ребята, изменить свою жизнь несложно, просто следуйте нашим советам! Всего пара часов в день, и бац — у вас новые здоровые привычки, новое спортивное тело, новая профессия… 

Этой весной мы начали сотрудничать с Яндекс.Практикумом — сервисом онлайн-образования, где можно выучиться востребованным ИТ-специальностям от разработчика до интернет-маркетолога или освоить навык разговорного английского. Мы писали о том, что поменять профессию и уйти в сферу ИТ можно без специального образования и какого-то особого склада ума (и даже в декрете) — и находили истории, которые это подтверждают. Но решили, что пора самим проверить своё же утверждение о том, что «начать учиться можно, даже если вы вообще ничего-ничего не знаете про программирование».

Привет! Меня зовут Таня Никитина, я главный редактор Burning Hut и подопытный кролик этого эксперимента
Я выбрала курс «Аналитика данных» и прошла первые 20 часов — это бесплатная вводная часть, которую вы тоже можете начать проходить хоть сейчас. Никакого опыта в этой специальности у меня нет: по образованию я журналист, всю свою жизнь работала с текстами, а с цифрами сталкиваюсь только при составлении отчётов в конце месяца. Так что мне немножко страшно, но жутко интересно.

Что делает аналитик данных

Если коротко, то берёт информацию и делает из неё выводы. Для этого он её структурирует, ищет закономерности и проверяет гипотезы. А чтобы делать это быстро и без ошибок, использует специальные инструменты: язык программирования Python и его библиотеки, Jupyter Notebook и SQL (да, я пока тоже тут не все слова понимаю). Результаты работы аналитика помогают принимать решения в бизнесе, управлении и науке.

Почему я решила учиться анализу данных

  • Чтобы быть лучшим редактором. Жизнь редактора состоит из постоянных размышлений о том, как писать статьи, которые будут лучше читать: на какие заголовки и обложки чаще кликают? почему подборки заходят лучше других форматов? почему никто не пишет комментарии под тестами? Одной чуйки недостаточно, когда нужно обработать большой объём данных или проверить гипотезу с несколькими условиями. 
  • Чтобы дополнить портфолио. В жизни всякое бывает, и ИТ — та сфера, в которую не страшно вкладывать своё время и ресурсы, потому что специальности год за годом остаются в топе востребованных. 
  • Чтобы испытать себя. А вот и личный мотив: я не раз спорила со старшим поколением о том, что профессия журналиста, как и другие гуманитарные специальности, — это нормальный сознательный выбор, а не вынужденный путь человека (читай: девочки), не способного к точным наукам. И что я всё могу, просто хочу вот это. Ну вот и посмотрим!

Чего я жду от курса

За 20 часов занятий обещают научить базовым инструментам анализа данных — познакомить с основами программирования на Питоне, аналитической библиотекой Pandas и средой программирования Jupyter. Другими словами, дать большую дозу теории и практики и помочь понять, стоит ли вообще платить деньги и ввязываться в долгое обучение. 

Занятия самостоятельные, так что можно хоть по часу в неделю заниматься, если вас устраивает, что вы станете аналитиком к пенсии. Меня нет, поэтому я решила разбить курс на четыре недели по пять часов.

Уже понятно, что не обойтись без математики — это меня немножко пугает. Я её, в целом, любила, но последний раз делала что-то сложнее подсчёта процентов по вкладу в 11-м классе, то есть около 10 лет назад. Надеюсь, меня не заставят считать интегралы в первом уроке!

Неделя 1. Первые впечатления, ошибки и ощущение всесилия

Первое, что меня удивило: никакой раскачки. Мне сказали, что в следующие 2,5 часа я научусь основам Питона и должна посчитать, как популярность разных языков в мире соотносится с их популярностью в интернете. Дали табличку с информацией про разные языки, и обучение началось.

Так выглядят уроки. Слева — теория, справа — рабочая область, где нужно писать код. Теорию объясняют простым языком и с самых основ

Практика начинается с первых минут и помогает преодолеть страх чистого листа.

Сначала тебе говорят: просто напиши то же самое, что в задании. Потом просят повторить то же самое с другими данными. И уже в третьем задании тебе просто говорят: посчитай. Полчаса прошло, а я уже считаю с помощью Питона 😱

Код проверяет программа. А иногда ещё шутит или подбадривает

Самым сложным пока было не писать код, а не ошибиться в расчётах. Пришлось долго вспоминать, что на что надо разделить, чтобы, например, найти долю от числа. Я обошлась без гугла и просто пару раз ошиблась: к счастью, тут сколько угодно попыток, никакие сердечки не сгорают, ни перед кем не стыдно. Сидишь, спокойно пробуешь, пока не получится.

«Ошибки — это нормально. С ними сталкиваются все разработчики. Поэтому важно научиться понимать, в чём ошибка, и её исправлять»

Я так осмелела, что стала экспериментировать и делать не только то, что задавали в задаче. Тренажёр работает как реальная рабочая область: можно писать там любой код и запускать его сколько влезет. А потом сбросить всё и выполнить задание начисто. 

Кто помогает, если задача никак не получается

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

На 18-м уроке я впервые серьёзно запнулась, минут пять искала ошибку, потеряла терпение и пошла писать в поддержку. Через три минуты мне ответили! Правда, за это время я сама нашла ошибку. Вывода два:

  1. Поддержка супер! Это в бесплатном-то курсе кто-то моментально откликнулся, посмотрел мой код и помог найти проблему! 
  2. Стоит попробовать не сдаваться подольше пяти минут 🙄

Скриншот чата с поддержкой. Я подумала, что это бот, и как-то без привета зашла, а там живые вежливые люди. Неловко!

Чему я научилась за первую неделю

  1. Использовать Питон для решения простых примеров и выводить результат в понятном виде.
  2. Применять функции. Функции — это такие встроенные в Питон программы, которые выполняют определённое действие. Например, функция print выводит на экран, а format — форматирует данные.
  3. Работать со списками данных: применять к ним простые команды (например, суммировать все элементы списка) и выводить в виде понятных табличек.
  4. Разговаривать на ИТ-языке. Уже на второй день занятий я имела длинную дискуссию со своим другом-программистом про массивы и структуры данных. А ещё узнала из урока пару жаргонных слов (вы знали, что самые частотные случаи статистики называют «клюв», а все прочие — «хвост»?), так что ещё немного — и смогу сойти за своего.  

Первые выводы 

  • Очень удобный формат занятий: за 2,5 часа уроков я вообще не устала, так как проходила их в своём темпе. Я позанималась полчаса и поставила подниматься тесто для пиццы, ещё полчаса позанималась — приготовила и поставила пиццу в духовку. За первый день я узнала кучу всего, что не знала вчера, и это было как приятные упражнения для ума между делами. Интересно, получится ли держать темп с уроками в будни, но теперь мне уже не так страшно :)
  • Это максимально дружелюбный курс, на котором вообще не страшно ошибаться. Количество ошибок не ограничено, и можно сколько угодно экспериментировать, чтобы найти решение. И никто-никто не знает, смотрел ты подсказки или нет, это ни на что не влияет. Ничего не сгорает, у тебя не отнимают жизни и не ставят баллы. Просто делаешь, пока не сделаешь. Вот бы в школе так! 
  • Время на прохождение курса рассчитано с запасом: почти все уроки я проходила быстрее, чем было написано, при том что не торопилась и довольно много ошибалась.
  • В конце уроков дают шпаргалки по пройденному: я сначала всё конспектировала, но оказалось, это уже сделали за меня.
  • Такая дружелюбная и оперативная поддержка, что я чуть не расплакалась!

Неделя 2. Задушевные беседы с кодом и объяснения на шоколадках

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

Не знаю, кто придумал, что отдых — это смена деятельности. Находить силы на учёбу после работы оказалось тяжеловато. В понедельник дело шло ещё бодро, но вот в среду вечером уже было трудно думать, от мелких строчек кода болели глаза, я часто пользовалась подсказками, плохо соображала и, кажется, не очень хорошо всё запомнила. Утешает, что к урокам можно вернуться — думаю, мне это понадобится.

Из других новостей: начала разговаривать с кодом, перекладывая команды на слова. Кажется, сказываются редакторские привычки, но это действительно помогает писать команды осознанно.

Эта строчка на человеческом языке звучит примерно так: «дружок, возьми список data, примени к нему метод sort, и я сейчас дам тебе ключ: для сортировки возьми третий элемент каждой строчки и расставь их по убыванию, и да, я действительно этого хочу» 

Я думала, что мои мозги просто сломаются, когда прочитала, что если попросить программу напечатать диапазон ячеек 4–7, она напечатает четвёртую, пятую и шестую (а седьмую нет). Но тут меня спасло сравнение с шоколадкой: 

«Чтобы понять, почему разработчики Python так сделали, давайте представим плитку шоколада с нумерованными дольками. Срез 4:7 означает, что шоколадка ломается перед четвёртой долькой и перед седьмой»

Тема урока была не менее жизненной, чем пример с шоколадкой: нужно было выяснить, какие эмодзи в интернете используют чаще всего и зависит ли это от конкретной соцсети. Спойлер: чаще всего люди шлют «слёзы радости» и сердечки. Ну не милота ли!

А вот ещё пример задачки. Особенно мило, что ребята действительно объясняют ВСЁ. Ну да, ты учишься программировать и считаешь уравнения с помощью функций и методов, но мы на всякий случай объясним тебе, что такое убывание 

Чему я научилась за вторую неделю

  • Применять методы — это такие функции, которые работают с определённым типом переменных. Например, метод sort сортирует данные по выбранному параметру и работает со списками.
  • Сортировать данные в таблицах: добавлять новые столбцы и выбирать интересные строки.
  • Нормировать результаты в таблице — для случаев, когда сравниваешь тёплое с красным и нужен какой-то единый критерий. 

Неделя 3. Гордость и отчаяние 

Если честно, то тут должен быть пропуск на пару недель — мир медиа ожил после карантина, а наш редактор Эля ушла в отпуск, так что мне было немножко не до аналитики. Но сделаем вид, что ничего не было.

Первый день занятий после перерыва был тяжёлым: наступила паника, что я всё забыла, ничего не понимаю и, чтобы написать отзыв про курс, мне придётся проходить его заново. Я уже не разговаривала с кодом, а просто кричала на него: «Ну почему-у-у ты не работаешь?» Но гордость не позволяла мне писать в поддержку слишком часто, поэтому я просто попробовала всё что можно, и спустя полчаса оно заработало! Ощущение решённой головоломки и а-а-а-а-а, вот почему! — бесценно. Вспомнила, что вообще-то люблю учиться.

Тем временем я продвинулась достаточно далеко, чтобы начать забывать выученное. К счастью, в уроках очень вовремя начали появляться подсказки с теорией из прошлых уроков: вместо того чтобы листать назад, можно просто кликнуть на термин.

Я уже приготовилась копаться в шпаргалках, но всплывающее окошко напомнило, как работает функция сортировки. Спасибо, ребята

На этой неделе я изучала условия и функции. Задачка была интересной и снова жизненной: нужно было посмотреть, какие фильмы получали «Оскар» последние 30 лет, и выяснить, как менялись предпочтения киноакадемии.

Интересное из результатов анализа

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

Чему я научилась за третью неделю

  • Создавать свои функции и использовать несколько функций в одной программе.
  • Ставить функциям условия: если что-то работает так, сделай это, а если нет — вот это. 
  • Анализировать результаты работы с данными: искать критерии для сравнения, отмечать необычное, формулировать гипотезы.

Кроме того, я поняла, что недостаточно миллениал, чтобы держать в голове знания, работая с ними только онлайн. Появилась новая привычка: после занятия делать конспект от руки со всем, что запомнила. 

Моя шпаргалка и мой кот (он тоже помогал)

Неделя 4. Финальный рывок

Моя неорганизованность привела к тому, что на последнюю неделю остался самый большой и сложный блок: мне предстояло изучить библиотеку Pandas, научиться предобработке данных (это значит удалить мусор, привести названия столбцов к одинаковому виду и избавиться от повторов в табличке) и сделать самостоятельный проект — провести анализ уже не в тренажёре, а в Jupyter Notebook, который используют настоящие программисты.

Самостоятельный проект — это, по сути, решение тренировочной бизнес-задачи. У меня была такая: выяснить, отличаются ли чем-то музыка, которую люди слушают в разные дни недели, на примере Москвы и Питера. Из таких задач потом вырастают вот такие интересные исследования. У меня были в основном простые количественные вопросы: какой жанр чаще слушают в понедельник в Москве, а какой в Питере? В какой день недели музыку слушают больше? 

Интересное из результатов анализа

Из ожидаемого: все, везде и всегда больше слушают попсу. Из неожиданного: в Москве музыкальные дни — это понедельник и пятница, а в Питере больше прослушиваний почему-то по средам 🤷‍♀️

Финальная проверка — это одновременно шанс ещё раз всё повторить и запомнить. Каждый раздел посвящён отдельной стадии анализа данных на основе всех пройденных уроков: предобработка данных, анализ, представление результатов исследования. Я обложилась распечатанными шпаргалками и сделала всё примерно за 2 часа. 

Примерно так это выглядело (бокал — для воды, лапа кота — для души)

Тренируясь решать задачки, можно и забыть, что аналитику важно уметь изучать данные глазами и обдумывать их. Финальный этап напоминает, что нельзя просто взять файл с данными и прогнать их через какие-то алгоритмы. Сначала нужно очистить данные от лишнего, а потом решить, по какому признаку сортировать, что с чем сравнивать и в каком виде лучше презентовать результаты исследования. Правда, большая часть решений в этой части курса уже принята: вас всё ещё ведут за руку.

Чему я научилась на финальной неделе

  • Очищать данные от мусора: у аналитиков есть мудрый  принцип GIGO (от англ. garbage in — garbage out, буквально «мусор на входе — мусор на выходе»). Это значит, что при ошибках во входных данных даже правильный алгоритм работы выдаёт неверные результаты. Теперь я знаю, какие бывают типы мусора в данных и как его почистить.
  • Делать наглядные красивые таблички с отчётами с помощью библиотеки Pandas. Никак не могла полюбить эксель, так что, кажется, мы с ними подружимся. 
  • Создавать проект в Jupyter Notebook — результаты оттуда можно сохранить и положить в портфолио.

Выводы по итогам курса

Полезное для жизни

За 20 часов курса я узнала, как строится исследование данных бизнеса с выводами, которые можно использовать для принятия решений. Кажется, если у меня будет готовый csv-файл с данными, я смогу его грамотно подготовить и провести какое-нибудь небольшое исследование. 

Я научилась смотреть на таблицы с данными в целом, структурировать их и искать закономерности. Раньше я бы ни за что не подступилась к таблице с 67963 строками (а в одной из задач такая была), а теперь буду знать, с какой стороны взяться. 

Недостатки

Были технические моменты, которые прямо-таки бесили. К примеру, то, что тренажёр не всегда видит последние изменения — иногда приходилось по три раза жать на «Проверить», чтобы он увидел финальный вариант кода. Правда, один мой друг сказал, что так я обучаюсь двум главным навыкам программиста: терпению и танцу с бубном. Ну это когда критическая ошибка исчезает, если, например, три раза перезагрузить компьютер.

Ещё меня научили, что ошибаться не страшно, но, кажется, нигде не научили читать код ошибки. Это когда делаешь что-то неправильно и программа ругается непонятными словами на полстраницы. Вот тут мне пришлось погуглить, что значит, когда что-то not defined.

Формат обучения

Формат действительно подходит для обучения с нуля: почти вся теория была понятной, а задачи — посильными. Я не ожидала, что обучение полностью будет состоять из практики на Питоне: готовилась смотреть вебинары (почему-то ненавижу это) и читать большие блоки теории про статистику и работу с данными. Возможно, это ждёт на платной версии курса, но формат вводного показался мне оптимальным: занятия можно дробить по времени как угодно, задачки решать с неограниченным числом попыток и подсказками. Подсказки, правда, бывают коварными: иногда буквально пишут код за тебя, а иногда подсказывают совсем не то, в чём затык. Но тут всегда можно написать в поддержку.

Кстати, поддержка помогает не только с простыми вещами вроде поиска ошибки в коде: я пробовала задавать и более фундаментальные вопросы по теории, и ребята дружелюбно всё объясняли. Правда, иногда всё равно было непонятно: некоторые сложные вопросы хотелось обсудить голосом. В таких случаях я просила помощи у друзей. Мне кажется, берясь за такой формат обучения, стоит иметь хотя бы одного знакомого, который что-то понимает в Питоне.

Что дальше

После вводного курса по анализу данных можно идти на полный курс по одному из двух направлений: собственно аналитике данных или Data Science — это специальность, связанная с машинным обучением.

Там всё по-взрослому: у вас будет наставник и одногруппники, а работы будет проверять человек, а не робот. Если учиться по 10 часов в неделю, то через полгода вы уже сможете искать работу младшим аналитиком и показывать небольшое портфолио — этот же самый наставник поможет грамотно его оформить и включить в резюме.

А ещё, пока я проходила этот курс, у Яндекс.Практикума появились новые — например, теперь там можно учиться на интернет-марктетолога и дизайнера интерфейсов. Открывая курсы, специалисты сервиса ориентируются на востребованность. Поэтому, выбирая из них, вы можете немножко меньше думать о перспективности профессии и немножко больше о том, что вам нравится делать. Везде есть бесплатные вводные уроки с приличным объёмом теории и практики. Так что, если вы думаете о новой профессии, — можно безболезненно пробовать, пока что-нибудь не понравится ✊

Комментарии
Александр Козлов
23.07.20 20:02
Угу, проходили знаем, надменные кураторы, такое ощущение что ты им что то должен за свои деньги, в личку писать кураторам нельзя, объясняют постоянно разные спикеры, некоторые объяснить не могут толком о чем говорят, а потом ой ой время закончилось остальные вопросы в чате...
Станислав Петров
12.08.20 12:25
Александр, здравствуйте! Меня зовут Стас, я работаю в поддержке Практикума. Звучит всё это максимально так себе, мы много всего делаем, чтобы кураторы транслировали совершенно обратное — что к ним можно и нужно приходить за помощью, что мы здесь именно для того, чтобы вам было комфортно и классно учиться. Это сам по себе процесс-то ни разу не простой, поэтому и есть вся эта большая команда сопровождения, которая помогает через него пройти. И уж тем более речи не должно быть ни о какой надменности и пренебрежении. Не нашёл, к сожалению, от вас обращений в поддержку (но тут вводных маловато, чтобы полноценно поискать, конечно), напишите нам подробнее на [email protected], пожалуйста, надо бы все эти штуки полечить, потому что так быть не должно. Спасибо.
Ilya Strojnov
23.07.20 21:55
Отличные и бесплатные курсы есть на stepik, было бы желание заниматься самообразованием. А платить такие бабки за то, что есть в свободном доступе в сети - расточительность
Мария К
24.07.20 22:49
Stepik вам в помощь. А заказные статьи из серии "я очень быстро выучился в Яндекс практикум" как-то моветон
Юлия Зотова
25.07.20 10:31|изменено
Мария, а что здесь моветон? то, что это партнерский материал, написано в шапке - никто никого не обманывает в этом смысле. статья про личный опыт и написана затем, чтобы показать сам процесс и ВСЕ нюансы этого бесплатного вводного курса, включая и минусы. и я нигде не увидела про "я очень быстро выучился" - 4 недели кажутся абсолютно нормальным сроком для 20 часов вводного курса