Инструкция по выбору ІТ-курсов для начинающих
Всем привет! Меня зовут Даниил Зацерковный, и я хочу поделиться своим опытом с теми, кто, как и я год назад, стоит на раздорожье — куда податься и в какие двери стучать, чтобы попасть в IT-сферу. Как получить нужные знания и опыт? Спойлер: сегодня я занимаю позицию Junior JS developer в одной из запорожских IT-компаний и считаю это оправданным результатом моего выбора и приложенных усилий.
«Трудоустройство после окончания курсов» многие считают (и не беспочвенно) чем-то вроде предвыборных обещаний или заманухой, чтобы студент поверил в светлое будущее и заплатил за курс. В моем случае это оказалось реальным результатом. Я получил работу после окончания курсов в учебном центре, организованном при IT-компании. Финалом обучения стала успешная защита выпускного проекта (типа собеседования с тимлидом) и приглашение на должность JS-джуниора.
В этой статье я расскажу, на что обращать внимание при выборе IT-курсов, количество которых растет с каждым годом. Информация будет полезна тем, кто решил, что хочет учиться программированию, но не знает, какой формат выбрать: вуз, курсы в учебном центре, онлайн-уроки или что-то другое. Делиться буду, естественно, собственным опытом.
Для начала объясню, почему именно платные офлайн-курсы стали правильным выбором в моей ситуации.
Иллюстрация Алины Самолюк
Безвозмездно — значит даром
Из бесплатных курсов я узнал синтаксис языка, основные операторы, познакомился с циклами, массивами, структурами данных, объектами и другими базовыми понятиями. Я разобрался, как читать код, но не научился писать его сам.
На большинстве бесплатных программ никто не будет вас обучать тонкостям и нюансам на уровне крутого специалиста. Не покажет, как быстрее и удобнее работать с IDE. Вам расскажут, что такое функция. Что такое каррирование функции, вам придется додумываться самостоятельно.
Зачастую бесплатные курсы поверхностны и размыты (может, кому-то повезло найти достойные, буду благодарен ссылке в комментах). Дополнительный поиск информации займет у вас столько времени и ресурсов, что рано или поздно вы просто устанете и потеряете интерес к теме.
Самообучение по книгам и онлайн-ресурсам совсем не гарантирует того, что вы получите актуальные знания, а не что-нибудь из раздела legacy. При этом вам не к кому обратиться за помощью: никто не будет указывать на ошибки и исправлять плохой код. В итоге есть большая вероятность потратить уйму времени без особых результатов. Жму руку тем, кто смог постигнуть азы программирования самостоятельно и быстро, но у меня таких сверхспособностей и времени не было, поэтому я решил сменить стратегию и занялся выбором курса. Приоритетами были:
- умеренная стоимость;
- актуальная программа;
- интенсивный график занятий.
Спрос родил нереально большое предложение: сегодня на рынке очень много IT-курсов/школ/академий разных форматов и с разными программами, ценами и графиком. Тут остановлюсь на том, какие курсы выбирать не стоит.
Топ-5 ошибок при выборе курсов
1. Вестись на слишком короткий период обучения
Если вы новичок, то имейте в виду: меньше чем за полгода (и то с большим усердием) сложно обучиться новой профессии с нуля. Обращайте внимание на количество занятий, их периодичность и продолжительность. Чем больше занятий в неделю — тем лучше. По рекомендации моего преподавателя, необходимо тратить на обучение не менее четырех часов в день. Я занимался около 6 часов в день с учетом лекций и домашек.
2. Верить обещаниям о трудоустройстве после курса, когда в программе только основы
В первую очередь я обращал внимание на программу. Зачем изучать устаревший язык полгода, чтобы потом самостоятельно осваивать новые технологии? В курсе много топиков на уровне Hello, World? Скорее всего, будут учить «по верхам», а на выходе вы получите «о технологии слышал, но применять пока не умею».
3. Ожидать от курса слишком много
Нет таких программ, воркшопов, мастер-классов и целебных практик, куда можно прийти, отдать деньги, время, и мгновенно получить знания или навыки для успешного собеседования. Для меня главную роль сыграло желание и внутренняя уверенность, что мне по-настоящему интересно программирование. Прикладывайте максимум усилий: читайте документацию, все материалы, которые присылают к дополнительному ознакомлению. Даже самые идеальные курсы дадут эффект только тогда, когда обе стороны действительно заинтересованы в результате.
4. Игнорировать тренды на рынке труда
Если цель — трудоустройство, максимально определите стек технологий, востребованный в данный момент и в будущем. Отслеживайте вакансии, подпишитесь на новостные Telegram-каналы IT-компаний, следите за трендами. Проанализируйте, что ищут работодатели, и сравните этот набор данных с содержанием программы курса. Максимум совпадений? Значит, это best choice.
5. Выбирать курс с низкой стоимостью
Не секрет, что время разработчика стоит дорого. А если этот специалист еще и хороший ментор — тем более. Поэтому оплата работы такого инженера вряд ли будет низкой. Если курсы стоят дешево, то где-то наверняка будут пробелы: качество подачи информации и проверки домашних заданий, количество занятий, условия. Или преподаватель без соответствующих практических навыков, или максимальная экономия на условиях, когда студентам не предоставляют необходимую технику и среду разработки, или еще что-то не очень приятное.
Как я выбирал IT-курсы
Хочу поделиться инструкцией, основанной на собственном опыте.
Прежде чем идти на курсы, определитесь, каковы ваши ожидания от них. Я для себя ответил следующим образом:
- сэкономить время — для меня это самый важный ресурс;
- найти курсы с умеренной стоимостью;
- получить актуальный контент и ответы на вопросы от опытного разработчика;
- организовать ритм обучения, дедлайны;
- обрести уверенность в собственных силах;
- поработать с реальными кейсами;
- научиться со старта хорошей практике написания кода, а не «костылям»;
- завести новые знакомства по интересам.
Я стремился получить мою первую работу в хорошей компании.
Решите, сколько времени в день вы сможете уделять обучению и по фану ли вам учиться. Не имеет смысла покупать курс для того, чтобы во время занятий играть на телефоне, рисовать в ежедневнике или смотреть в окно. Если, конечно, для вас курсы — это не просто приятное интеллектуальное времяпровождение. Я старался извлечь максимум пользы, делал заметки, в чем разобраться и что стоит проработать еще раз дома, выполнял все домашние задания, как самый ответственный школьник. Не ради галочки. Просто было интересно, старался сделать задание по-своему, что-то усложнить. Меня зацепило, и я уделял практически все свое свободное время обучению. По совету преподавателя установил на телефоне SoloLearn, которое дает хорошую теорию, Lightbot — развивает логику. Соревновались на Сodewars с одногруппниками, решая задачки по JS.
Но не у всех есть на это время. Да и желание. Еще раз хочу акцентировать: перед курсами убедитесь в том, что вам действительно интересно программирование, потому что мотивироваться только хорошей зарплатой на деле сложно.
Важно адекватно оценить свой уровень подготовки и сопоставить с требованиями к студентам курса. Узнавайте подробно, какие навыки необходимы, а какие — желательны. Если вы плаваете как пользователь ПК и вас вводят в ступор стандартные меню приложений на английском языке, гарантирую: вы отстанете на первом же занятии. В этом случае имеет смысл отложить идею обучения программированию и прокачать свои хард скиллы.
Проанализируйте программу курса. Не устану повторять, что один из ключевых моментов — детально изучить содержание курсов. Оно должно быть в первую очередь актуальным! Узнайте, что вы будете учить, в какой последовательности и зачем. Если вам знакомы все темы в программе — ищите другой курс.
Выбирайте удобный для вас формат. Онлайн-курсы: это может быть или интерактивный формат, где есть текстовые учебные материалы и видеоуроки, или интерактивный, где вы общаетесь с преподавателями. Офлайн-школы программирования, академии, курсы: здесь занятия проходят полностью офлайн либо офлайн+частично онлайн.
Я выбрал офлайн-курсы потому, что они лучше дисциплинируют. Для меня важно общаться и получать ответы на вопросы вживую. Когда я прохожу обучение офлайн, я чаще участвую в общей движухе, выполняю совместные задания, дополняю обсуждения и так далее. Мне это ближе и интереснее.
Уточняйте, в каком доступе будут учебные материалы к курсам. В моем случае каждому студенту предоставляли доступ к стриму всех занятий на YouTube-канале. И это отличное подспорье для офлайн-курсов, если нет возможности присутствовать лично. Все записи также остаются доступны неограниченное время после завершения обучения.
Обратите внимание на размер группы. Очевидно, чем меньше студентов, тем больше поддержки от преподавателя. Однако от этого зависит и цена обучения. Индивидуальные занятия с ментором не каждому по карману. Поэтому оптимально, если в группе будет от 10 до 20 человек. В этом случае преподаватель сможет уделить внимание каждому.
Если выбрали офлайн-формат занятий, узнайте, в каких условиях вам предстоит учиться. Вам должно быть комфортно. В первую очередь — добираться, ведь нужно будет ездить на занятия несколько месяцев. Помещение должно быть просторным, отапливаемым и хорошо вентилируемым, с качественным освещением. Каждому студенту необходимо полноценное рабочее место, оборудованное современной техникой.
Хороший преподаватель — залог успеха. Преподаватель IT-курсов должен быть практикующим разработчиком с хорошими софт скилами. Это ментор, который умеет объяснять, руководить и дисциплинировать. По моему наблюдению, лучше, если его уровень выше вашего на один. Вы новичок — он Junior, вы Junior — он Middle и так далее. Объясню почему. Преподаватель в этом случае не сильно отстранен от ваших проблем. Он еще помнит, какими терминами с вами общаться, не забегая далеко вперед, на каких моментах могут возникнуть сложности. Конечно, если уровень преподавателя выше на несколько позиций и он при этом с огоньком и доступными словами может помочь с «простыми» ошибками, не применяя сложного языка опытных Software Engineers — это суперкомбо.
Уточните, какие домашние задания ждут студентов и как их контролирует преподаватель. Домашние задания есть практически в любом курсе. Важно, в чем их суть, кто и как их проверяет. Круто, если после каждого задания студент получает фидбэк от преподавателя с рекомендациями по улучшению кода. Тестовые работы, контроль знаний действительно важны. Это в ваших интересах.
Ищите курсы с возможностью трудоустройства по результатам обучения. Но относитесь к этому пункту критически. Никакая уважающая себя IT-компания не возьмет на работу сотрудника лишь потому, что он получил сертификат. Ведь учиться можно по-разному, и перед началом обучения вы не даете никаких обязательств, насколько успешно будете учиться. Поэтому у вас в конце курсов как минимум должен быть качественно подготовленный и успешно защищенный выпускной проект и активный Git-репозиторий, который расскажет о вас лучше, чем вы о себе на собеседовании.
До покупки курса воспользуйтесь возможностью попасть на бесплатное занятие/презентацию/день открытых дверей. Будет отлично, если вы познакомитесь со своим будущим преподавателем, посмотрите, где проходят занятия. Это может как расположить вас, так и наоборот, оттолкнуть. Поэтому поинтересуйтесь у организаторов о бесплатном первом занятии или open day.
Обращайте внимание на отзывы о курсах в разных источниках. Хорошо, если вы узнаете информацию из первых уст, еще лучше, если сможете сделать ресерч и разузнать о курсах из разных источников, а не только с сайта компании, которая предлагает обучение. Если есть знакомые айтишники, спросите у них, что их компания думает об этой IT-школе, курсах, академии; какой уровень выпускников, по их мнению; работает ли в их компании кто-то после окончания этих курсов.
Изучите договор. Обратите внимание на условия оплаты (раз в месяц, сразу за весь курс или предоплата без возврата), доступ к учебным материалам, количество людей в группе, предоставление техники и всех необходимых программ. Проверьте, нет ли там подводных камней или уловок. Если указано:
- «Вернем деньги». Должно быть четко прописано, в каком случае, и без невыполнимых условий мелким шрифтом.
- «Возврата средств нет». Ученики узнают об этом до оплаты.
- «Программа обучения может меняться». Должна быть указана причина, по которой могут изменить программу. Например, появились новейшие разработки или технические решения.
- «Гарантия трудоустройства». В таком случае у курса/школы должно быть четкое представление процедуры, как они способствуют трудоустройству. Хорошо, если вам предоставят информацию о трудоустроенных выпускниках. Обратите внимание, что встреча с HR, на которой рассказывают о том, как составлять резюме, вовсе не гарантирует получение первого офера.
- «Нет — негативным фидбэкам». Есть курсы, на которых по условиям договора вам запрещают оставлять негативные отзывы в интернете в течение продолжительного времени
(3–5 лет). Меня бы это точно насторожило.
Итог
Хороший вариант для финального решения — составить сравнительную таблицу по IT-школам вашего города, чтобы выбрать лучший вариант, исходя из ваших ожиданий и возможностей.
В моем случае совпало все: и мои ожидания от курсов, и ожидания компании от потенциального сотрудника. Так что настоятельно рекомендую не пожалеть времени на изучение вариантов. А после завершения курсов важно прилагать усилия для поиска работы и применять полученные знания, пока они не выветрились.
На этом, собственно, все. Спасибо за внимание, автор открыт к обсуждению темы, так что welcome!
Чтобы не пропустить новые статьи Даниила Зацерковного — подпишитесь на него в телеграм-боте Ленты DOU.