Введение
Всем привет! Меня зовут Ринат, я работаю в какой-то компании и у меня нет телеграмм канала. Я видел курсы с обоих сторон: со стороны студента и со стороны ментора. В этой статье хочется поделиться моим субъективным мнением по поводу этого всего.
У меня есть опыт менторства в разных школах программирования, возможно кому-то эти мысли помогут при выборе (а скорее отказе от школы программирования)
В школах с менторским опытом я буду давать субъективную оценку зарплаты в формате полного рабочего дня, если бы я занимался этой деятельностью 40 часов в неделю. Точные цифры раскрывать не буду, будет только субъективная оценка.
Студенческий опыт
Skillbox
Когда-то давно увидел рекламу skillbox с разными курсами. Я подумал, что это замечательная возможность. Курс назывался "Профессия Java разработчик".
К старту курса были записаны не все модули, в процессе прохождения они постепенно выкладывались.
Это был стандартный курс на junior java разработчика, включающий лишь базовые темы написания кода. Про контейнеризацию, CI CD речи даже не шло, темы охватывали базовый синтаксис языка и написание крудов на спринге.
Модули состояли из мини-уроков длительностью 20-30 минут, что очень удобно смотреть. Были домашки с проверкой кода. Чаты тоже вроде были. В конце курса даже какую-то командную работу делали группой из 10 человек.
По итогам курса писали диплом с кучей контроллеров и авторизацией.
На сегодняшний день я бы по такому формату не обучался, ибо он очень растянут и подходит не всем. По статистике с платных курсов на степике процент доходимости до конца курса по некоторым оценкам ниже 30%. Из опыта менторства могу сказать, что эта цифра в целом правильная, хотя может быть даже и ниже.
Здесь ещё важно сказать, что в результате этого курса появился чатик с участниками курса, который создал наш ментор. Этот чат жив и сегодня, периодически собираемся и разбираем алгосы или какие-то другие технические темы.
OTUS
Проработав некоторое время я захотел улучшить свои навыки и знания. С этой целью я купил курс "Spring разработчик" в otus.
Otus я выбрал потому, что несколько раз слышал от работодателей, если они хотят прокачать человека, то покупают курс в этой школе.
Курс был не самый дорогой, а контент курса я бы назвал наполовину устаревшим. Даже в то время уже никто, кроме седовласых старцев не использовал ��онфигурацию бинов через xml файлы. Кроме этой темы еще был spring shell и другие. Поэтому задания показались мне очень душными, ибо смысла их выполнять я не видел, а курс уже куплен(
Из 4х месяцев я сдал домашки только за один, а просмотрел лекции только за 2 месяца.
Из плюсов можно отметить еженедельные созвоны для обсуждения проблем с домашками. Кроме этого, все видео были живыми вебинарами, которые потом выкладывали на платформу, поэтому можно было задать любой вопрос по теме в моменте обсуждения этой темы.
В будущем от коллег узнал, что менторам платили очень мало. Формат оценки полного дня - 60к.
Менторский опыт
Maxima
Через некоторое время после этого мне пришло предложение о преподавании в школе Maxima.
В тот момент я подумал, что это интересная возможность попробовать себя и накопить немного денежек на отпуск.
Сама школа выросла из внутреннего образовательного центра компании, которая впоследствии начала предоставлять образовательные услуги любому желающему.
Меня взяли ментором на курс junior разработчика со всеми базовыми темами и дипломом в конце: синтаксис языка, sql запросы, spring web, jpa и пара уроков про кафку. Какие-то темы мог забыть, хотя некоторые, например, сервлеты, я бы спокойно убрал без ущерба для курса.
В курсе я вел консультации и проверял домашки. Система обучения была следующая: живая лекция - домашка - консультация. На консультациях можно задавать любые вопросы и обсуждать любые темы. Если студенты приходили на консультацию, то мне платили за все время консультации по определенной часовой ставке.
Я старался по максимуму раскрыть тему лекции примерами, а также дополнить и расширить программу курса, хотя бы базовыми уроками по таким темам как тесты, CI CD, docker, сети и тд. Весь код я выкладывал на гит и можно было позже повторить любой момент из консультации. Из интересного могу выделить несколько моментов:
Я провел несколько "сериалов", связанных общим сюжетом:
4 или 5 уроков мы писали приложение для чата в браузере с использованием thymeleaf. Не спешите кидать помидорами, html нам генерила нейронка, а в основном я показывал написание сервисов, контроллеров, взаимодействия с бд, написания всех видов тестов, линтеров и в финале развертывание приложения на удаленном сервере через докер. Я старался по максимуму показать хотя бы базово все задачи начинающего разработчика.
3 урока мы разбирали код телеграмм бота, который написал студент. Разбирали архитектуру приложения и детали реализации разных. Студент писал код с нейронкой, поэтому там было много чего поразбирать. В общем, изучали много практических моментов.
Среди ребят на курсе половина были студентам, а другая половина - более возрастными. В целом это деление условное, потому что группы были небольшие. Из 10 человек на старте курса к концу доходили 2-4 человека.
По итогам программы обучения для активных студентов предлагалась стажировка: 2 месяца выполнения командного проекта.
Кроме менторинга на курсе мне довелось вести и эту командную разработку. Стажировка предполагала совместную работу над одним проектом, максимально приближенную к реальной разработке с тасками, статусами, дейликами и тд.
Ранее на этой стажировке студенты писали сервис для создания документов. Мне этот домен показался очень узким, в нем было сложно развернуться и придумать разные задачи. Поэтому я накинул стандартный магазин, чтобы в нем попрактиковаться в написании крудов, тестов, реализации подходов code first и api first, разных приколов использования бд.
Я планировал, что как только студенты справляются с базовыми задачами, то далее можно было перейти к интеграции сторонних сервисов через рест, асинхронное взаимодействие, а так же использованию кэша и тд. На одном из этапов нужно было арендовать свой сервер и развернуть на нем наше приложение.
Все студенты выполнили базовый минимум, а по дополнительным задачам кто-то сделал одно, а кто-то другое. В целом мне эта стажировка понравилась.
Потом на лето школа взяла перерыв, а в новом году потоки не стартовали.
По оплате в формате полного дня я бы оценил в 120 тр.
FAANG
В первой школе я заранее знал о летнем перерыве, поэтому до окончания работы в ней я устроился во вторую. Думаю, многие слышали про нее с хорошей или плохой стороны. В контексте данной статьи я оставлю за скобками все эти моменты и сосредоточусь на образовательном процессе глазами ментора.
В этом курсе программа была сильно лучше, чем в прошлой. Здесь первый месяц уделялся решению задач на java core в индивидуальном порядке для каждого студента. А последующие три месяца ребята писали общий командный проект на микросервисах. Темы были следующие: круды, использование S3 storage, брокеры сообщений и тд.
Каждый студент брал свой максимум от курса: кто-то просто выполнял базовые задачки по каждой теме, а кто-то делал дополнительные с продумыванием архитектуры фичи и тд. Например, разработать архитектуру таблицы лидеров, двухфазной транзакции и тд.
Идея давать максимально рабочие задачи, мне кажется очень правильной. Добавить к этому самые распространенные технологии и получится замечательный курс. Идеального курса не существует, но этот был чертовски хорош. К сожалению, если замахиваешься на микросервисы, то сразу нужно тащить много тем: паттерны проектирования, деплой, мониторинг, трассировка и прочие нюансы. Как раз этих тем и не хватило в курсе, но по правде сказать, они достаточно объемные, а впихнуть слона в маленькую коробочку невозможно)
Сам курс состоял из предзаписанных видео, а я проводил пару созвонов в неделю с каждой командой, на которых обсужали статусы по задачам, подводили итоги и изучали технические темы. Пару раз я проводил воркшопы на отдельные темы, которых не было в курсе.
В этой школе ребята были заинтересованные. Общий настрой заряжал и меня. В целом ранее после работы от кода уже тошнило и делать ничего не хотелось, но в этот период удалось даже несколько пет проектов написать. Особенный респект могу высказать ребятам, у которых есть семья и 2 работы, но они не отставали от других. Здесь просто по-человечески снимаю шляпу.
Если говорить про доп активности, то их было несколько. Иногда проходили живые вебинары с разбором архитектуры приложения или углубленного изучения какой-то технической темы, но это было вначале, к концу это все иссякло.
Все студенты были разделены на команды и в течение курса проходило соревнование между командами в формате викторины.
По проверке дз SLA был два дня. Если не успевал, то можно было попросить коллег помочь. В 90% случаев я успевал проверить домашки день в день.
Оплату за менторство я бы оценил в 200 тр.
Faang RIP. В одном из видео основатель школы, сказал, что ушел из школы и теперь развивает AI стартап. Ну а без главного лица, сами понимаете, что будет дальше со школой. Последний поток закончился в декабре, так что увы, рекламой тут не пахнет)
Хекслет
После прошлой школы хотелось найти что-то новое и доработать образовательную программу с учетом полученного опыта.
Как нарочно ментором найти работу по щелчку пальцев не получилось ... В skillbox вообще нет нужного лендинга (Это скорее для фана было), в SkySmart вроде отправил, но заявка где-то потерялась и прочее. На hh менторских вакансий не сказать, чтобы густо, а, кроме этого, хочется значительную прибавку к жалованию.
Откликнулся на вакансию в хекслет, прошел созвон с hr. А дальше нужно было выполнить задание первого модуля в качестве студента. С одной стороны у них очень круто все организовано с созданием репозиториев - даешь доступ к своему аккаунту и все создается автоматически, есть настроенный CI для проверки тестов.
Эти моменты очень похожи на реальную работу. А темы стартуют с базового синтаксиса.
Но с другой стороны, ментору все это проходить - кажется уже перебор. В моей голове это сродни выполнению тестового задания для вакансии, на которое тебе обратку не скинут.
Когда проект с нуля заводишь, то постоянно сталкиваешься с неработающей ерундой, чинишь, опять сталкиваешься и так по кругу. То билд гредла не проходит, то у линтера версия не подходит и тд. Честно говоря, мне этого и на работе хватает. Я отмерил себе 3 часа, в течение которых не успел сделать весь модуль. Сыграли вьетнамские флешбэки из отуса и я забил на это дело.
SLA на проверку дз составляет 3 дня. Я сделал определенную часть, отправил и через 3 дня получил ответ. В итоге, я подумал, что оно того не стоит.
В общем, в этом месте мне недовелось поработать, поэтому могу рассказать только эту часть.
По оплате я бы оценил в 45 тр.
Выводы
После такого совокупного ученического и менторского опыта у меня сформировались некоторые убеждения.
Если брать обучение с 0, то синтаксис языка и прочие базовые штуки изучать на курсе нет смысла, полно материалов и нейронки могут этот материал хорош объяснить. Платить именно за это несколько десятков тысяч - бесполезная трата денег. С 0 имеет смысл платит только за опыт, который в одиночку не получить: работа в команде, дейлики, спринты, релизы и тд.
В общем, у нейронки можно спросить ревью кода при изучении базового синтаксиса или же сами задания. Набиваем руку тут и идем дальше. Вопрос только в дисциплине.
Когда человек после синтаксиса языка приступает к написанию реальных программ как раз возникает много вопросов: как лучше делать, какие технологии и практики сейчас наиболее актуальны.
Здесь нейронку опрашивать бессмысленно, потому что новичок не может оценить плюсы и минусы предлагаемого решения.
Чтобы не изучать устаревший материал, можно уточнить актуальность информации у реальных разработчиков. Здесь можно использовать любые чаты, а если очень хочется, то взять отдельный созвон с ментором, что будет сильно дешевле полного целого курса.
На этом этапе всякие стажировки "как на работе" имеют место быть, потому что вы быстро узнаете разработческую рутину, которая будет хорошим базисом для дальнейшего развития. (Ну и вы не спалитесь, когда будете про свой опыт рассказывать на собесе)
В целом, в курсе наиболее ценная вещь - это именно опыт и ревью от ментора. Сам будешь набивать шишки очень долго, гораздо эффективнее залутать многолетний опыт другого человека, который эти шишки уже набил. Проблема образования в том, что оно физическое: пока несколько раз не ошибся - не запомнишь, а прочитанный материал быстро улетучивается.
Я не против курсов, но выбирать их стоит на основе трезвого анализа, а не под влиянием маркетинга. Идеально, если курс построен по системе практика + теория - обратная связь - практика.
Всем добра, любви и процветания, и, конечно же, денежных средств.
P.S.
У меня есть репа с всякими полезными ссылками для java разработчика:
https://github.com/RinatBeybutov/Links-and-materials
