Прелюдия.
Для справки, мазохизм - получение удовольствия человеком от унижений, мучений или насилия над собой, производимых самим собой или другим лицом.
В 2021 году имел «удовольствие» попасть на курсы от Яндекс Практикума, по гос программе от Цифровых Профессий. Теперь спустя почти год, спешу поделиться общими впечатлениями от прохождения данного курса. Не могу сказать, что курс совершенно бесполезный, но в целом, иначе, как постоянные мучением над самим собой данный курс охарактеризовать не могу. Хочу отметить, что к приверженцам мазохизма я себя не отношу, но закрадываются подобные подозрения в отношении тех, кто пишет восторженные отзывы о курсах от Яндекса. Впрочем, люди разные и о вкусах, как известно, не спорят, а вот о преимуществах и недостатках пройденного курса, я готов рассказать.
Все, что начинается хорошо заканчивается плохо, все что начинается плохо, заканчивается еще хуже. Закон Мерфи.
Рассказ достаточно подробный, если вы хотите сразу перейти к сути, можно просто прокрутить вниз, там будут мои выводы.
Знакомство.
Первое знакомство с курсами было достаточно радужным, о курсах именно от Яндекса, и именно по работе с данными, я узнал от хорошего знакомого по работе еще в 2020 году. Мы вместе работали в оптовых продажах в одной строительной сфере, знаем друг друга по работе больше десяти лет и, как это часто бывает у «продажников» в неформальной беседе за «сигаретной палкой» мы периодически делились всевозможными новостями и сплетнями. В очередной раз заведя разговор о кардинальной смене направления деятельности мы оба заговорили об IT и именно тогда, мой товарищ рассказал мне о больших данных, о том, что специалистов в этом направлении не хватает и, что это направление будет активно развиваться в ближайшее время т. к. объемы данных постоянно растут и постоянно будут нужны люди для обработки этих самых данных, не говоря уже о тех, кто может на более глубоком уровне работать с БД. В целом IT направление мне было всегда интересно, правда в тот момент я был зациклен на разработке игр и не особо смотрел на новые направления, но идея с анализом данных меня зацепила: логика проста, по сути это направление на стыке программирования и статистики. т. е. требуется не только писать код но и строить графики, делать выводы, искать закономерности и просто общаться с коллегами в конце концов, а так как люди в продажах, это мягко говоря совсем не «молчуны», возможность живого общения, а не только программирования меня сильно зацепила и как-то мысли сами-собой потекли в этом направлении: ролики на ютубе, пара статей и в целом общая моральная готовность пойти на курсы. Главное, что сильно смущала - это цена курсов и необходимость платить за пол года. Двумя годами ранее я уже искал курсы по JavaScrip и тогда взял минималку от HtmlAcademy за 20000р исходя исключительно из тех соображений, что если не понравится то и не жалко. Не понравилось.
Эйфория от знакомства и первое свидание.
Поиск курсов по анализу данных начался с роликов по Python, установил платформу, начал решать задачки, чуть позже начал бесплатный ознакомительный курс от Яндекса, и как раз в этот самый момент на почтовый ящик прилетает письмо с гос услуг о том, что можно взять любой курс по обучению в IT сфере со скидкой 50% Ого! Вот это удача - сразу же подумал я. Хоть какая-то польза от нашего «любимого» государства. На выбор между Яндексом и хотя бы тем же СкилБокс я не потратил ни одной секунды, ведь Яндекс - узнаваемый бренд, думал я, полюбому любой HR знает про них да же за рубежом, а если знают про Яндекс, то и курсы от них будут некой благонадежной ассоциацией и с этим аргументом трудно поспорить.
Подача заявки на гос субсидию оказалась не такой муторной, как я ожидал: я предполагал, что потребуется гора бумажек и подача займет пару месяцев, но на деле до момента одобрения моей заявки с момента регистрации на сайте steps.2035.university прошла примерно неделя, дальше созвон с Яндексом, дружеские «похлопывания друг друга по плечу» по телефону:
-
Как здорово, что появилась эта скидка! - говорю я.
-
Как хорошо, что вы пришли именно к нам! - отвечают мне по телефону.
-
Я точно будут успевать учиться и работать?
-
Да у вас все получится, конечно будет иногда тяжеловато-то, но основная, часть наших студентов совмещают работу с учебой!
-
Ура!
-
Ура!
-
У нас все получится!
Радостный вешаю трубку и оплачиваю, да же не глядя в договор оферты, о котором я узнал несколько позже.
Здесь хочу отдельно обратить внимание на стоимость курсов, которая на мой взгляд сильно завышена, при таком количестве студентов в группе по 30-40 человек стоимость от яндекса как раз могла бы быть на уровне 30 000 и при этом срок обязательных курсов можно было бы с легкостью сократить до трех месяцев, разместив остальной курс в качестве дополнения, это конечно мое личное субъективное мнение.
Первая опасная близость.
Проходит две недели с момента оплаты, полная тишина: ни звонков ни писем от яндекса. Набираю сам:
-
Здрасте, я вот оплатил курсы. По телефону говорили, что сразу распределят на курс - как будто стесняясь собственных слов произношу я.
-
Да, конечно, оплату мы увидели, подождите, вам на почту придет письмо. Спасибо, что позвонили нам!
-
Постойте, а можно узнать конкретней, когда должно прийти письмо?
-
К сожалению точной информации у меня нет.
-
Хотя бы примерно, в течении недели, месяца, года?
-
К сожалению точной информации у меня нет. Ожидайте. Спасибо, что позвонили нам!
Первые тревожные мысли начали стучаться в мою бедную голову, через неделю тотальной тишины со стороны Яндекса поток тревожных мыслей стал прерываться матерными междометиями, беру трубку, звоню еще раз.
-
Добрый день! Как хорошо, что вы позвонили нам! У вас какой-то вопрос?
-
Да, хочу узнать когда начну обучение.
На мой взгляд, в 21 веке это довольно странная ситуация: звонить спустя три недели после оплаты и узнавать когда же мне окажут оплаченную услугу, но это же яндекс, прелюдии кончились, начинайте привыкать и учитесь получать удовольствие.
Ответ в трубке:
-
У меня нет точной информации, ожидайте письмо.
-
Постойте, я оплатил 3 недели назад и вы да же не можете мне сказать когда начнется обучение? У вас на сайте была информация о начале обучения через 2 недели после оплаты.
-
Да, но сейчас очень много студентов, вам нужно подождать.
-
Сколько?
-
У меня нет точной информации, ожидайте письмо.
-
Если меня это не устраивает?
-
Вы можете написать нам, мы вернем деньги.
-
Компенсация за потраченное время?
-
Нет. Спасибо что позвонили нам!
Поток моих тревожных мыслей иссяк, пошли сплошные матерные междометия.
Итог: оплатил 03.11.2021 года, по телефону после пятого раза пообещали, что курс начнется, как раз перед новым годом, за 2 недели, я радостный, как дурак, взял отпуск рассчитывая спокойно начать обучение без лишней «дерготни» по работе, потом в планах была еще пара недель Новогодних каникул, во время которых так же можно было спокойно учиться, но это же Яндекс - доступ к тренажеру открыли 20.01.2022. Элементарные извинения или предложения компенсации? Вы смеетесь, это же яндекс. Начал привыкать...
«На крючке»
Доступ к тренажеру открыли, на почту прислали инструкции по Slack, по факту первое время я всегда натыкался на одно и то же: перевод стрелок т. е. мне всегда писали к кому обратиться вместо ответа.
Процесс обучения.
Главное, что мне не понравилось - совершенно наплевательское отношение к моему времени. До сих пор не могу понять, как так получается, но факт остается фактом. Я выбираю курсы и оплачиваю их с одной главной целью получить нужную информацию в удобной для меня форме и максимально быстро. На просторах интернета есть масса информации в открытом доступе и можно самостоятельно изучить и статистику, и Tableo, и Python, но на поиски этой информации, её систематизацию нужно потратить не так уж и мало времени. По логике именно за систематизацию этих данных я и плачу, т.е. в первую очередь я плачу за экономию своего времени, по факту все получается совсем не так.
Суть тренажера построена таким образом, что не решив одной задачи ты не можешь перейти к следующей, логика проста и понятна, никто не спорит, но по факту это оборачивается массой заданий по принципу «Выведите на экран ”Hello World!”», увы это не шутка, вот пара примеров из окончания курсов, на минутку, эти задания появляются спустя 4-5 месяцев обучения:
7.Сгруппируйте данные по столбцу 'month' и найдите среднюю позицию в выдаче по месяцам (level). Результат группировки выведите на экран. Подсказка: Последовательно вызовите методы groupby() и mean().
Код решения:
print(position.groupby('month').mean())
>>>
level
month
2 1.750000
3 5.769231
4 6.214286
Ответ не принят. Пишу в тех поддержку, ответ спустя 20 минут:
Приветствуем! В задаче нужно найти и вывести на экран среднюю позицию в выдаче(level) по месяцам. Для этого нам нужно сгруппировать столбец level по месяцам и применить агрегирующую функцию mean().
Немного поправьте код и задача решена.
Делаю какие-то правки, тренажер опять не принимает, отсылаю код, ответ спустя еще 20 минут:
В этой задаче не нужно создавать новый датафрейм. Из группировки по столбцу 'month' выберите столбец 'level' и примените к нему метод .mean().
Методом "научного тыка" все же нашел правильное решение:
print(position.groupby('month')['level'].mean())
>>>
month
2 1.750000
3 5.769231
4 6.214286
Name: level, dtype: float64
Конечно, кто-то может сказать, что ничего страшного, что именно так и учатся программированию, но у меня несколько иные представления об обучении.
В курсе появился подраздел необязательный к прохождению «Продвинутый SQL» и здесь я совершенно согласен, если студенту понадобится в будущем информация по запросам, он в любой момент может открыть тренажер и не лазить по интернету в непонятном поиске. На мой взгляд половину пройденного курса можно было отправить в рекомендательный, а не обязательный раздел.
Тут же хочу отдельно отметить форму обращения в тех поддержку, никаких инструкций по данному поводу нет, и на начальном этапе на построение запросов в тех поддержку уходило немало нервов, по сути это напоминает переписку с гос органами или обычной тех поддержкой. Вполне возможно, что главный “Soft Skill” который вы можете прокачать на данном курсе это переписка с чатом поддержки. Конкретизирую:
-
Мы очень рады, что вы к нам обратились но сейчас все заняты, вам нужно подождать.
-
Пожалуйста скопируйте код и пришлите нам ссылку.
-
Пожалуйста пришлите нам номер задания.
-
Пожалуйста пришлите нам текст задания.
-
Пожалуйста пришлите нам ссылку на Ваш курс.
Плюсуйте сюда ожидания в ответах по 10-20 минут и в итоге каждый день обучения это как минимум пол часа, а то и час-полтора потраченного времени на беспомощное ожидание. Получить общее время Вашего личного простоя за пол года, думаю каждый сможет самостоятельно.
Приплюсуйте сюда время работы чат с 10 утра по Москве до 7 вечера, позже сдвинули до 10 вечера, возможно уже сейчас внесли какие-то изменения. Благодаря такому графику я не один раз натыкался на ситуации, когда не могу пройти задание в 7 или 8 утра и приходилось ждать ответа в тех поддержке или в Slack. Оперативность в Slack так же мягко говоря не блещет и здесь я задавал вопросы если например уходил от компа на сутки - это подразумевало, что к моему возвращению там будет ответ, на большую оперативность рассчитывать не приходится по определению. Добавлю сюда «косяки» когда я просыпался пораньше на выходных (в целом привычка рано вставать) и часов в 6 утра садился за тренажер, а он просто «висит» к сожалению это так же не редкость и пару раз я на такое натыкался. В лучшем случае куратор в чате, вам напишет «Команда в курсе, команда чинит!» естественно да же без извинений, это же яндекс.
Еще один «ньюанс» про потраченное впустую время, в самом конце сдал последний проект, перед финальной работой, специально торопился, т. к. было указано, что курс откроют 5 августа, контрольную к этому времени сдал, и в планах было остаться дома на выходные, что бы заняться финальным проектом, хорошо, что уехал загорать, т. к. доступ открыли 8 августа, вместо пятницы только во вторник, впрочем этому я да же не удивился, но допускаю, что на курсе уже появились те, кто начал получать удовольствие от подобных «выходок».
Monkey Job.
Отдельно хочу обратить внимание тех, кто задумывается о покупке данных курсов, будьте готовы к тому, что вы платите в том числе за подобные «мелочи»
Задача 1.
Катя случайно высыпала 123 скрепки на лист в клетку. Размер клетки — 4 × 4 см. 98 скрепок пересекли линии на листе, а остальные — нет. С какой вероятностью упавшая на такой лист скрепка пересечёт линию?
В результате метода «научного тыка» правильный ответ был найдет
98/123 = 0.796 вместо вводимых мной 79.674%
Пол часа убитого времени, т.к. решал утром и тех поддержка еще спала.
Еще один пример.
Покупаем авиабилеты.Вы покупаете авиабилеты. Цена — 30 000 рублей. Есть две возможности сэкономить:
1) Воспользоваться промокодом на 4000 рублей;
2) Купить билет с карты банка-партнёра и получить скидку в 15%.
Промокод и скидка от банка не суммируются: можно выбрать только один вариант. Карточка банка у вас уже есть, оформлять её не нужно. Не раздумывая, что вы выберете?
Правильный ответ.
Скидку от банка. Оплачу только 85% стоимости билетов. 15% от 30 000 — целых 4500. На 500 рублей выгоднее промокода.
Все здорово, но зачем подобные задания вставлять в обязательный курс?
Задания из серии ctrl-c ctrl-v, скриншот ниже, справа пропуски в которые нужно вписать правильный ответ, надеюсь, вы догадаетесь. что нужно вставить вместо
# ваш код здесь
Знакомство перешедшее в длительные отношения.
Проблема в структуре данных, а точнее, в постоянном перемешивании теории по статистике и синтаксиса Python.
Вполне возможно, что это проблема именно этого курса, т. к. переписывался с однокурсницей, которой данный курс так же крайне не понравился, хотя, до этого она проходила обучение по курсу Data Scientist и там все было ок.
Вполне очевидная на мой взгляд вещь - мухи отдельно, котлеты отдельно, но для яндекса это не так. Как итог по окончании курса мне пришлось все перепроверять исключительно для того, что бы сделать рабочий конспект по синтаксису Python. Базовые знания в теории Python так же хромают на мой взгля, просто сравнивая яндекс и бесплатную лекцию в МФТИ от Тимофея Хирьянова.
Так же есть претензии к теории по статистике, например что бы понять достаточно часто используемую дисперсию пришлось залезть в гугл и найти экселевский файл с расчетами, сравните что понятней:
Определение от яндекса: Улучшенная метрика разброса — не просто среднее расстояние между значениями датасета и средним, а средний квадрат этого расстояния.
Эта величина называется дисперсия (лат. dispersio, «рассеяние»), её находят по формуле:
D(X)=M(X−M(X))2, которую также часто записывают в более удобном для расчетов виде: D(X)=M(X2)−(M(X))2
Чтобы понять, насколько сильно значения отличаются от среднего, вычисляют дисперсию. Для каждого значения находят расстояние от среднего до нужного значения, а затем возводят результат в квадрат.
Скриншот из формулы найденной на просторах интернета:
Еще один крайне негативный момент - это сам тренажер, некоторые моменты в синтаксисе описываются в ходе выполнения упражнения, а пройти упражнение второй раз нет технической возможности, скорее всего так яндекс страхует свои "научные открытия" от копипаста. Для меня же иногда появлялся пробел в данных, и спустя пару недель при необходимости еще раз разобраться во всей логике произошедшего по шагам, увы, ждало разочарование.
Да, конечно каждый может самостоятельно забраться в интернет и разобраться в тех моментах теории которые ему непонятны, но тут главный вопрос, а за что я тогда плачу?
Плюсы в курсе.
По большому счету платить приходится за три главных вещи:
-
Сертификат в котором указано яндекс.
-
Структура данных полученных на курсе и отдельно SQL
-
Выполненные проекты.
Для объективности должен сказать, что в 2020 году проходил курсы RemoteAcademy по управлению командой, цена 60000р, конечно по сравнению с Яндексом там, просто выброшенные деньги но и от яндекса я ожидал большего.
В первую очередь, я ожидал комфортных условия и понимания, что ты можешь заниматься именно тогда когда тебе удобно и делать то, что тебе интересно и нужно, а не вставлять скопированный код из конспекта в задание, а потом переправлять его в чат поддержки, в случае ошибки.
Во вторую очередь, хотелось больше самостоятельности. Конечно, самостоятельных проектов достаточно много и к концу курса успеваешь набить руку, что бы чувствовать себя достаточно уверенно глядя да же на объемное задание. Мне при этом сильно не хватало неформального общения с одним наставником на протяжении всего курса, всегда при проверке получались какие-то одноразовые переписки. Хотелось заданий и возможности делать то, что на твой взгляд приведет к нужным результатам, искать ошибки, закономерности, а в замен этого получаешь палочную систему, которая очень быстро надоедает. Все проекты - это набор однотипных заданий, которые проверяются по каждому пункту, и цель этих заданий сводится к «докапаться» со стороны проверяющего и «отписаться» со стороны проверяемого, мой порыв делать аккуратные работы и искать самостоятельно какие-то закономерности и аномалии в данных был на корню подрублен уже четвертой работой, на которую я потратил больше двух недель, а в итоге получил непонятные для меня комментарии от проверяющего, на переписку с которым я потратил еще наверное неделю. В итоге довольно сильно отстал т. к. на ковыряние в проекте еще и наложился больничный. Сомневаясь в своих возможностях догнать материал, написал куратору о возможности перехода в другую, более позднюю кагорту и тут меня ждал сюрприз: да, конечно, перевести могут, но больничный не учитывается и за мое отставание мне нужно будет доплачивать. На всякий случай уточнил, почему так, почти двух месячное ожидание открытия курсов никак не компенсируется, а тут только два переноса и доплачивай, ответ думаю вы уже знаете - это же яндекс, в договоре оферты все прописано.
Справедливости ради, нужно заметить, что несколько раз одноразовые код-ревьюверы давали прямые ответы на мои вопросы, вместо отписок, чем действительно помогали в работе, в целом же на мой взгляд проверки в основном больше походили на высасывание недочетов из пальца, не говоря уже про тот момент, когда проверка проекта занимала неделю и эта «дерготня» то правки в проекте, то новая теория сильно раздражали и подкашивали. Принцип когда ты сдаешь проект, делаешь паузу, «очищаешь голову» и идешь дальше здесь явно нарушен.
Огрехи в курсе так же сводятся к непонятной информации, иногда да же для самих преподавателей, здесь просто приведу цитату из Slack.
Вопрос студента:
— Поэкспериментировал, всё отлично работает. Хотелось бы ещё понять механизм этой работы. В теории написано, что декоратор используется чтобы выполнять дополнительные действия до и после основной функции. В нашем случае, как я понял, декоратор просто передаёт в основную функцию аргументы и в конце получает от неё значения на выходе. В чём смысл его работы?
Ответ наставника:
— Я поняти не имею, как работает конкретно этот декоратор под капотом. Чтобы с этим разобраться, нужно идти на гитахб и смотреть его реализацию. Так что я не могу тебе ответить на этот вопрос. Да и, вообще говоря, вряд ли тебе вообще понадобится это знание, так как я сильно сомневаюсь, что ты будешь строить дашборды с помощью кода, а не с помощью Табло.
Какие либо комментарии на мой взгляд, тут излишни, разве что не удержусь от смайлика =)
С другой стороны этими дашбордами «с помощью кода» занимались почти месяц, получается месяц бесполезной теории, за свой же счет и смайлик тогда нужно ставить в другую сторону =(
Теория которая разбилась о практику.
Еще один немаловажный момент - зацикливание на теории, без оговорок. Подчеркну из курса фрагмент из теории, где речь идет про перцентили 90, 95, 99, очистку данных и отбрасывание выбросов. Обратился к своей знакомой из Пятерочки по данному поводу, поинтересовался, что она знает про перцентили и статистическую значимость, использует ли она эти «штуки» при расчете средних показателей и среднего чека в частности. Знакомая работает директором по рознице несколько лет, для понимания, в её подчинение было 17 директоров магазинов, и всевозможные отчеты и метрики по среднему чеку было её основной задачей, при этом про такие понятия она и не слышала.
Спрашиваю про выбросы при расчете среднего чека, в ответ получаю - нет, ничего не удаляем, просто разделяли оптовых покупателей и розницу, теперь это происходит полностью автоматически.
Вот здесь и почувствуйте разницу между отбрасыванием оптовых (аномальных) покупателей и отсеканием выбросов, про обработку которых так много было написано в курсе, а про опт и розницу, ни одной маленькой пометки. Поэтому после прохождения курсов от яндекса на собеседовании, если вы заявите что-то подобное, да еще и начнете бить себя в грудь, мол это правильно ведь так сам Великий яндекс написал, на вас могут посмотреть как минимум странно, не говоря уже о приеме на работу. Да, теория это хорошо, но на практике про статистическую значимость могут и не знать, а средний чек и сравнение средних чеков делают "по старинке" по общей выборке, сумме и количеству.
Для меня это просто яркий пример не соответствия теории и практики, не думаю, что это надо записывать исключительно на счет курса яндекса, но почему на платных(!) курсах про такой нюанс просто не упомянуть, помня о том, что на эти курсы могу попадать студенты без малейшего представления о том, как-там все происходит на работе, а не только в тренажере.
Опять же зачем в обязательном порядке убивать столько времени на подобную теорию, которая будет благополучно забыта через два месяца мне совершенно не понятно, не говоря о том, зачем за такую теорию нужно платить.
Так же отдельно хочу сказать, что данные курсы по своему духу больше напоминают платную стажировку в яндекс, что от части верно, по завершению курса вам могут предложить работу код-ревьювером за 30 000р в месяц (500 USD) с частичным трудоустройством, мне это почему-то напоминает старую шутку: ищем расклейщиков объявлений, для расклейки объявлений, о поиске расклейщиков объявлений.
Вопрос поиска работы после курсов у меня еще не закрыт, по данному поводу постараюсь написать подробно но немного позже, т. к. эта процедура наложилась на вынужденную миграцию в Турцию.
Грустное расставание. Минусы курса.
Подведем итоги, минусы:
-
Совершенно наплевательское отношение к Вам и вашему времени.
-
Низкое качество структуры курса и представленных данных.
-
Трудности в составлении конспекта курса.
-
Большое количество бесполезной информации, которая могла быть в доступе для ознакомления, но никак не для обязательного изучения.
-
Доплата за ваше не успевание, к которому яндекс очень активно подталкивает.
-
Полное отсутствие да же намеков на компенсацию со стороны яндекса за свои «косяки».
Плюсы:
-
Большой объем полезной информации.
-
Большой опыт в написании самостоятельных работ.
-
Прокачка «SoftSkil»: большой опыт в общении с чатом поддержки и подобные прелести.
В целом, для себя сделал вывод, что единственной панацеей от подобной ситуации может быть самостоятельная учеба или учеба с репетиром, ведь по сути на таких курсах яндекс является просто прокладкой между теми, кто обладает знаниями (код ревью) и теми, кто за эти знания готов заплатить (студенты). При этом «прокладка» не просто забирает большую часть денег себе, но еще и стравливает стороны лбами устанавливая и одних и других в крайне неприятные позы, командуя и ограничивая в действия. Хотя, «неприятные позы» это конечно, уже дело вкуса каждого, а о вкусах, как известно, не спорят.
Автор:
Nuubs