«Зачем платить за онлайн-курс, если всё гуглится?» — подумал я и принялся штудировать Бьёрна Страуструпа "Язык программирования С++". Далее могла бы быть история стремительного успеха, но не всё так просто. Поэтому далее будет история моего "вката в айти", а также мнение по онлайн-курсам в целом и Яндекс Практикум в частности. Кому интересно или есть сомнения "брать или не брать" онлайн-курс, прошу под кат.

С чего начинал

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

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

Так как надёжного плана у меня не было, я начал смотреть вакансии в IT и требования к ним. Тогда много вакансий с жирным прайсом было на Java-разработчика. В каких проектах используют этот язык и какие у него особенности я понятия не имел. Как и не имел понятия об особенностях различных языков программирования. Кто-то из знакомых посоветовал платформу JavaRush, где есть онлайн тренажёр и можно учиться, когда тебе удобно.

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

Под покупкой курса подразумевалась покупка доступа к тренажёру. На столько месяцев, на сколько купил подписку. Куратора, наставника или какого-либо сопровождения не было. Если были какие-то проблемы с решением задачи (а они были), приходилось писать на форум, где, может быть, тебе помогут с проблемой.

По мере продвижения по курсу задания становились всё сложнее, и всё больше времени уходило на их решение. Со временем интерес начал падать. Деньги потрачены впустую. В это же время, друг говорит, что у них в конторе есть вакансия "инженер-программист" и предлагает сходить на собеседование.

Я пришёл на собеседование. Фирма занимается разработкой девайсов для госзаказа и они готовы взять меня программистом. Java им не нужна. Нужен Си, FPGA-дизайн, с которым я немного знаком с универа, и остального по мелочи. В итоге я согласился, к тому же зарплата была выше, чем на текущем месте, и на Java забил окончательно.

Инженер-программист

«Ну разве это не успех?» — сказал я. Однако, что-то внутри подсказывало, что не совсем. На новом месте я быстро начал вливаться в работу. Нужно было подучить Си и освоить тонкости ПЛИС. Этим я и начал заниматься. Учился у старших товарищей. За время работы успел позаниматься разработкой IP-core для дизайна ПЛИС, RTOS, написанием модулей ядра Linux, сидел с осциллографом, паял платы. Чем больше набирался опыта, тем больше возникало вопросов.

Спустя 4 года работа моя работа сводилась больше к разработкам аппаратной части. Я всё больше сидел с "железом", нежели разрабатывал софт. На моё желание заниматься в большей степени софтом смотрели косо, и я решил, что всё-таки хочу в мир "большого IT".

У меня было уже больше 5 лет в разработке в целом, и я подумал, что такого спеца с руками оторвут в любой IT компании. Начал раскидывать резюме. И тут приглашают на интервью в EPAM. Я проверил свой уровень английского на каком-то онлайн-тесте, который выдал B2, и с уверенностью пошёл на интервью.

Ох, как же я был уверен в своих скиллах! Но интервьюер очень тактично и профессионально дал понять обратное. Знания Си, достаточные для текущей работы, были недостаточны для работы в EPAM, к тому же там очень хотели знания С++. Навыки работы с "железом" были полюсом, но не особо кстати. Посоветовали сосредоточиться на чём то одном, либо FPGA, либо софт. Языковая часть была полностью провалена — разговорные навыки английского оценили на А2. Естественно дальше я не прошёл. В фидбэке предложили подтянуть скиллы и написать через полгода.

Я не расстроился, а принялся апгрейдить свои знания и навыки. Если с английским было понятно, то с хард-скиллами не совсем. Для начала решил основательно взяться за Си. Учиться начал по книге Кернигана и Ритчи. Прорешал все примеры и был доволен собой. Заняло это у меня где-то два месяца. Однако, изучив вакансии, осознал, что с одним Си дальше железяк не уедешь. А хотелось шагнуть дальше. Поэтому решено было изучать С++.

Учим плюсы!

«С++ это же просто Си с классами!» — сказал я. Как же тогда ошибался. И, имея положительный опыт с изучением Си по книге от создателя языка и негативный опыт онлайн-курсов, принялся читать книгу Страуструпа "Язык программирования С++" в стандарте С++11 (Я думал, что С++11 почти ничем не отличается от С++20). Книга была на 1000+ страниц в сравнении ~250 страниц книги по Си. Первые упражнения начались спустя 100 страниц. Создалось впечатление большого количества воды в книге, после чего я бросил читать примерно на 150+ странице. Затем я поискал роадмапы по освоению плюсов, и, изучив эти роадмапы, понял, что сам я тут увязну на долго.

Хотелось найти какую-то более концентрированную информацию. Тогда я решил пересмотреть своё отношение к онлайн-образованию, которое считал пустой тратой денег. Я посмотрел, какие существуют курсы по плюсам, и в то же время знакомый советует Яндекс Практикум. Знакомый закончил курс Практикума и сразу нашёл работу по новой специальности. Звучит обнадёживающе. Хорошо, что есть бесплатная вводная часть курса "Разработчик С++", к прохождению которой я приступил.

Яндекс Практикум

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

Мои глаза горели, и я хотел изучать плюсы дальше. Погрузился в раздумья и начал читать отзывы. Во многих отзывах ругали тренажёр, хотя у меня не возникло никаких проблем с ним. Созвонился с менеджером. Ожидал встретить агрессивный маркетинг, но всё было достаточно скромно и про делу. Менеджер сказала, что курс не "с нуля", я всё-таки для студентов с любым опытом в программировании. Сумма за курс была весомая, но, отбросив все сомнения, я решил пройти его до конца! И вот я с фулл-тайм работой, с ипотекой, с женой и ребёнком жду старта основной части курса.

Подробно рассказывать, как организовано обучение, не буду, так как про это уже много раз рассказали до меня. Скажу только, что очень понравилась система спринтов. Многим не нравится учиться, когда впереди маячит дедлайн. Для меня же, наоборот, это дополнительный челлендж. Занимаясь по 2-4 часа после работы и по 10-12 часов на выходных, первые 8 спринтов, рассчитанные на 2 недели каждый, я проходил за неделю каждый спринт. Вначале было весьма комфортно, тем более, что часть того, что давалось в уроках, я уже знал. Иногда приходилось пободаться с тренажёром на предмет лишних пробелов или невнятных ошибок. Также приходилось пользоваться сторонними ресурсами по типу cppreference, потому что научить нельзя, можно только научиться.

Затем начинается спринт про асинхронное программирование. У меня ушло на него около двух недель плотных занятий. Тесты в задачах в тренажёре измеряли время выполнения и выдавали ошибку "программа выполняется слишком долго". Агрр. Много было на это потрачено сил. Наставники достаточно активно помогали подсказками, но нужно понимать, что если писать наставнику в 12 ночи, то скорее всего он ответит тебе только утром, когда ты будешь на работе, потом вечером просидишь с новой ошибкой до 12 ночи и т.д. Поэтому решение некоторых задач могло растянуться на несколько дней. Тогда мне очень захотелось получить эти самые юнит-тесты, чтобы понять куда копать. Тесты недоступны по умолчанию, но часть из них может дать наставник.

Несмотря на всё это, раздражения в процессе прохождения не было. После середины курса, по моим ощущениям, сложность очень резко выросла. Если в первой половине курса тебя вели за ручку и говорили, какой класс нужен, что делает этот метод, то после экватора тебе уже самому нужно продумывать архитектуру приложения. Это очень интересно, но чудовищно времязатратно. Но и проекты становятся интересней. Появляется визуализация твоего проекта, что добавляет интереса продолжать не смотря на сложность.

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

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

А какой вывод?

Сейчас я пришёл к такому выводу. На вопрос стоит ли покупать онлайн-курс, если вся информация есть в интернете, я отвечу так. Если у тебя много ОЧЕНЬ МНОГО свободного времени, у тебя нет необходимости работать фулл-тайм, ты студент или находишься в бесконечном отпуске. Если есть ментор, который будет подсказывать тебе и не давать свернуть в пучину и зациклиться на какой-либо не столь существенной сущности. Тогда, я думаю, можно изучить всё по открытым источникам самостоятельно.

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

Я был приятно удивлён подходу к обучению в Практикуме, где помимо платных курсов есть и бесплатные (например курс по работе с Git), которые я рекомендую своим текущим коллегам.

Спасибо всем, кто дочитал до конца! :-)

Комментарии (15)


  1. Flux
    26.08.2023 09:00
    +19

    У вас в био ошибка, должность "маркетолог" пишется иначе.
    Кстати, вся "статья" со всеми крутыми сюжетными поворотами и мудрым выводом угадывается после прочтения первого предложения, даже под кат идти не недо было.


    1. s207883
      26.08.2023 09:00
      +1

      Особенно порадовало то, что он рекомендует всем своим коллегам изучить гит. Я теперь понял, куда можно устроиться после курсов. Туда, где ещё используют svn, или ещё не используют vcs вообще.


      1. Kyoki
        26.08.2023 09:00

        svn не критерий. Знаю несколько фирм, куда курсочников на пушечный выстрел не подпустят.


        1. Flux
          26.08.2023 09:00
          +1

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


    1. Nurked
      26.08.2023 09:00

      Они забыли запостить ссылочку в телеграмчик и попросить пацанов "плюсики поставить".


  1. Leetc0deMonkey
    26.08.2023 09:00
    +7

    * На правах рекламы.


  1. aik
    26.08.2023 09:00
    +14

    Знакомый закончил курс Практикума и сразу нашёл работу по новой специальности. Звучит обнадёживающе.

    Звучит как реклама.


  1. Batalmv
    26.08.2023 09:00
    +1

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

    • Жил себе вне ИТ

    • Прошел чудо курсы

    • 6-18 месяцев поговнокодил в 1-3 конторках

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

      Но я понимаю, курсы - это бизнес


    1. Flux
      26.08.2023 09:00

      Прошел чудо курсы
      6-18 месяцев поговнокодил в 1-3 конторках

      Была у меня как-то знакомая решившая стать тестировщиком имея юридическое образование. На курсах их заметную долю времени учили как правдоподобно врать в резюме об опыте и как отвечать на типовые вопросы собеседований.

      Так что никаких 6-18 месяцев эти ребята вероятно не работали, просто получили ценные советы о том что этот стаж можно себе нарисовать и как о нём правдоподобно рассказать.

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


  1. AnimeSlave
    26.08.2023 09:00

    Если то, что вы написали правда, а верится в это с трудом, то вы сами фактически виноваты в тех ситуациях о которых пишите до момент рекламы. Я кекнул с собеседования в EPAM. Любой разработчик C и C++ знает, что это два разных языка. Об этом не знаю только те, кто на этих языках не разрабатывают. С каждым годом идеоматически эти языки отдаляются друг от друга. Если вы начали «серьезно» изучать языки совсем недавно, то удивительно, что вы не пошли путём Rust, так как он гудел (и до сих пор гудит) из каждого утюга. И уж тем более удивительно, что вы бросили java, за жирный прайс многие стремятся туда. У меня есть история одного программиста, который после 4 месячных курсов попал на «галеру» за 180К в месяц, ничего не делал полгода, так как его не брали на проекты из-за его уровня, а после получил повышение.


    1. avost
      26.08.2023 09:00
      +1

      У меня есть история одного программиста, который после 4 месячных курсов попал на «галеру» за 180К в месяц, ничего не делал полгода, так как его не брали на проекты из-за его уровня, а после получил повышение.

      Видимо, история из того же источника, что и у автора. Сидеть на галере на бенче полгода - не проблема. А вот "получить повышение" - проще удавиться уволится и устроиться заново - процесс грейдапа сложнее, чем начальные собеседования :)


      1. AnimeSlave
        26.08.2023 09:00

        Не, мой источник - прямое знакомство с индивидом. Бывшие коллеги так же завидовали ему. Я не люблю java, поэтому этим путём не пошёл, а коллеги программисты 1С, у них там тоже не мало платят


  1. Pastoral
    26.08.2023 09:00
    +1

    В сжатые сроки изучить что-либо невозможно. Зато можно подготовиться к выполнению конкретной работы по найму - наниматель уже лет тридцать неустанно работает над тем чтобы это было как можно проще. И как раз тут курсы бесценны, если там действительно знают как сейчас с работой, конечно.


  1. mikko_kukkanen
    26.08.2023 09:00

    Я учился в двух онлайн-школах не с целью моментального трудоустройства, а просто чтобы поглубже "влезть" в веб-программирование и сопутствующие вещи. Называть эти школы, конечно не буду.

    В одной мне очень понравилось. Препод давал материал достаточно быстро и насыщенно, но логика понималась в реальном времени. На следующий день я проходился сам по видео и уже понимал все, ну может быть без каких-то деталей. Сдавал домашку. На следующем занятии минут 20-30 всегда уделялось разбору домашек с примерами, сделанными моими одногрупниками ( и иногда моими). Иногда препод говорил "а теперь я вам покажу, как можно было" и я прям получал удовольствие, наблюдая за работой профессионала. Кроме основной программы мне дали доступ к нескольким курсам без доп оплаты. Я решил послушать HTML. Казалось бы, что мне, уже написавшем 3-4 сайта там может понравиться? Капец, препод давал материал настолько увлекательно, что хотелось бросить все и заниматься только html. В общем, я получил, что хотел, по знаниям, и посмотрел, как можно организовать преподавание. Хотя и косяков хватало.

    Во второй школе решил пройти курс на тестировщика. Разбора домашек не было в принципе. На вопрос - что не так в моей домашке и как можно улучшиться, получал ответ "Тесты проходят, значит все норм". Ну наверное, все тесты пройдут, если писать типа a = 2 + 3 ; assert a == 5. Ближе к концу курса дали препода, который настолько коряво объяснял достаточно сложную тему, что было понятно, что никто из группы эту часть не пройдет, кроме тех, кто ее знает лучше этого препода. Наверное, это сделали, чтобы не брать на себя ответственность за "гарантированное" трудоустройство.

    В общем, курсы бывают разные.


  1. mrobespierre
    26.08.2023 09:00

    Мде... Я только вот тут "Знания Си, достаточные для текущей работы, были недостаточны для работы в EPAM" понял что к чему(