Прошел курс обучения по специализации C++ Backend разработка.
Пошел на курс главным образом из любопытства. Плюс хотел немного подтянуть те навыки, которые предлагает этот курс. В основном меня интересовала разработка под Linux. Забегая вперед скажу: курс мне очень понравился. Очень-очень! Хотя дальше я буду писать и про отрицательные моменты - местами переходя на стеб.
Курс занимает примерно два или три месяца. Два или три - потому что точно никто не знает два или три. Что-то среднее. На сайте Практикума написано, что три. Потом говорят, что два. Потом все же что скорее три - но это не точно.
Курс разбит на четыре спринта. Каждый спринт по две недели. Или по три. Как повезет. Отсюда, главным образом, и проистекает вариативность длины курса. Потому что два умножить на четыре - это восемь недель (два месяца). А три умножить на четыре - это двенадцать, т. е. уже три месяца. Короче в среднем где-то два или три.
Каждый спринт состоит из нескольких уроков. Уроки подаются в виде текста (с картинками). В каждом уроке есть практические задания. Чтобы перейти к следующему уроку нужно выполнить все задания. Выполненные задания заливаются на гитхаб в твой личный репозиторий. Информация в уроках излагается от простого к сложному.
Информации дается много. Вот прям много. При этом все динамично. Скорее в таком ключе: вот вам технология, вот вам пара примеров, дальше сами разберетесь если будете использовать. Такой подход можно понять. Если слишком долго застаиваться на каких-то темах - то народ заскучает. И сам курс затянется. А если давать меньше информации - тоже жалко, хочется ведь объять необъятное. Хотя бы в разумных пределах.
В конце каждого спринта результаты выполнения заданий отдаются на ревью. Задания нужно сдать в срок. Иначе... короче лучше сдать в срок. Но если совсем не получается один раз можно взять небольшой отпуск и перейти в следующую группу. Как бы второй раз в первый класс. Так же если в силу каких-то обстоятельств (отпуск, командировка на работе и т. п.) требуется перерыв - его можно взять. Один раз. Наверное можно и на два раза договориться.
Первый минус. На самых первых уроках для выполнения заданий рекомендуется использовать виртуальную машину в Яндекс. Облаке. Под это дело даже дается грант. Грант - то-есть деньги на оплату облака. Лучше на это не вестись. Потому что Яндекс. Облако - это не благотворительная организация. Их цель - заработать деньги. И в целом им поровну учишься ты в Яндексе или просто так с улицы зашел. Виртуальные машины устроены так, что если ты хочешь, чтобы твоя машина нормально работала - за нее надо много платить. Много - это больше, чем денег в гранде. А если платишь мало, то машина постоянно виснет. Тебе надо задание делать - а машина висит. Ты пишешь в техподдержку, а они тебе отвечают, ну а чего ты хотел-то? Ты купи побольше ресурсов, тогда и будет все быстро работать. В общем я не советую с этим Облаком связываться. Только время зря терять. Все равно потом придется делать свою машину на своем железе и переносить на нее все установленные в процессе обучения компоненты. А их немало.
Минус номер два. Имеются некорректности. Не то, чтобы смертельные. Скорее забавные. Например, в уроке написано одно, а в реальности получается другое - потому что авторы урока не поспели за реальностью. Или в задании написано одно, а приемочный тест проверяет немного другое - потому что задание писали одни, а тест - другие. Я это расценивал так, что это симуляция максимальной приближенности к реальности. В жизни то ведь, когда работаешь программистом - никто и никогда и нигде не даст тебе абсолютно корректного задания без логических ошибок и тому подобного. И здесь тоже как в жизни. Но неприятно.
Забавные моменты. Самый главный момент: оказывается в Яндексе работают точно такие же программисты, как и везде. Нет, серьезно. Когда я шел на курс, я думал, что программисты Яндекс - это такие Гуру, которые живут на Олимпе, и оттуда с Олимпа поражают громом и молниями всех "плохокодеров". Они же - каждый! - прошли алгоритмическое собеседование, т. е. решили задачки, у которых я даже условие не могу понять!!! А мы здесь такие "плохокодеры" баню по-черному топим и лаптем щи хлебаем. И ты идешь такой к наставникам - на Олимп - весь в багах и неразрешимых противоречиях: о, Великие, помогите! А они тебе такие - оттуда, с Олимпа: конечно, наш маленький братец, поможем тебе, вот смотри, лапти лучше всего брать из липовой коры - они и крепче, и щам придают особый аромат. В смысле, лапти? Вы же Яндекс, вы же "каттин эдж текнолоджи"! - ну да, мы Яндекс, мы текнолоджи, но если лапти хорошо работают зачем их отменять?
Второй забавный момент: правая рука не совсем знает, что делает левая. В уроке тебе написано: надо делать так. Ты делаешь так. Потом отдаешь на ревью, а ревьювер тебе: это что вообще такое? Приходится писать развернутый комментарий, что согласно уроку номер X сделано именно так, как сделано (и что вообще это рекомендация из руководства по Си++). Отчасти это развитие предыдущего пункта, в Яндексе работают такие же программисты, как и везде. Еще позабавило, что ревьюверы больше всего замечаний оставляют к коду, который вообще изначально выдавался как раздаточный материал к уроку.
Еще понравился такой момент, тоже отчасти забавный, но скорее лестный уже конкретно для меня. По мере продвижения по курсу, когда Яндекс "приоткрывал" карты, в том плане, что в последующих уроках авторам приходилось рассказывать о том, как надо было выполнять задания к предыдущим урокам - вот в эти моменты я часто замечал, что выполнил задание именно так, как это и предполагали авторы урока. Так сказать из тысячи дорог выбрал одну - и именно ту, которую и Яндекс выбрал тоже. Это льстит.
А теперь самое главное. И это уже не минус. А прямо-таки жирный плюс. Курс прекрасен! Несмотря на все мелкие косяки и недочеты. Это такой заряд энергии и драйва. Радость узнавать что-то неизвестное и делать что-то новое. Мне понравилась динамика курса. Понравился живой темп, то, что задания нужно было выполнять достаточно быстро. Понравилось, что каждое задание - это такой маленький вызов мне, как разработчику. И еще на этом курсе я снова ощутил ту самую радость от своей первой программы. За годы работы программистом, я написал, наверное, километры строк кода. Казалось бы: ну еще пара дюймов - что тут может быть интересного? Но вот Яндексу как-то удалось. Удалось вернуть это чувство: эй, смотрите, оно работает, смотрите, это я сделал, круто, да?!
После завершения курса ты попадаешь в нежные руки куратора по трудоустройству. В моем случае мы совместно поработали над резюме - сделали из него конфетку. А потом еще просто провели очную сессию, обсудили различные аспекты смены места работы. Мне понравилось!
Рекомендую этот курс всем разработчикам на Си++, и начинающим - проверить себя настолько ли ты крут как думаешь, и продолжающим - подняться на новые вершины.