Сменить карьеру непросто. Я очень уважаю людей, которые могут освоить совершенно новую дисциплину и стать профессионалом в этой области. Когда я из инженера попытался стать профессиональным программистом, у меня было несколько преимуществ. Но этого все еще было недостаточно.
Программирование — это не путь наименьшего сопротивления к более безопасной, высокооплачиваемой и сбалансированной работе. Это трудное занятие, для которого не все подходят. Если бы это было легко, каждый мог бы это сделать — и тогда эта профессия не была бы так востребована.
Это не значит, что базовое программирование сложно. Это захватывающая гонка для всех, кто прошел несколько бесплатных онлайн-уроков по программированию. Этот опыт может привести вас к мысли, что с помощью небольшой дополнительной инструкции в форме учебного курса по кодированию продолжительностью от трех до шести месяцев вы можете стать профессиональным разработчиком. Но это редко бывает правильным подходом или мышлением.
Существует огромное количество бесплатных и недорогих курсов для обучения программированию в Интернете. Профессиональные разработчики считают, что этого достаточно чтобы найти работу в ИТ-сфере без диплома по информатике.
Но, прежде чем вы перейдете в учебный лагерь, который отделит вас от ваших с трудом заработанных денег, вам необходимо учесть несколько предостережений. Этому и посвящена эта статья, она убирает много плохих, бесполезных советов и поможет вам лучше понять, какие проблемы ждут вас, если вы пытаетесь стать профессиональным программистом.
Вместо очередного списка вещей, которые нужно сделать, вы узнаете, чего не следует делать, что не менее важно.
Цифры на учебных курсах могут вводить в заблуждение
Сайт “TechBeacon” ранее проводил обзор учебных курсов по программированию, собирая подробную информацию о 24 программах. Результаты показали, что в 17 из 24 программ утверждалось, что 90% или более их студентов получили работу программиста на полный рабочий день или должности фрилансера в течение 6–12 месяцев после выпуска. Но эти цифры могут вводить в заблуждение. Большинство из этих заявлений о трудоустройстве более 90% в основном не проверяются.
Сайт Course Report, на котором размещены обзоры и ресурсы для учебных курсов для начинающих по программированию, в течение последних трех лет проводил опросы студентов (с участием более 1000 респондентов из многих авторитетных очных курсов для начинающих) в рамках своего ежегодного исследования результатов и демографии выпускников.
В отчете за 2014 год утверждается, что не более 75% выпускников курсов для начинающих по кодированию получили работу в качестве разработчиков после их окончания. В 2015 году этот показатель снизился до 66%. В 2016 году он снова вырос до 73%. По данным за 2018 год, их было 78%.
Не все участники буткемпа начинают с нуля. Некоторых там не устраивают на работу разработчика, а некоторые студенты уже являются профессиональными разработчиками, которые просто пытаются приобрести новые навыки. Хотя в исследовании не говорится, кто прошел путь от «нуля до разработчика», опросы действительно ставят под сомнение 90% заявлений о трудоустройстве во многих программах.
Жалобы на качество обучения
Вы можете найти множество положительных отзывов о каком-нибудь курсе, но редко встретите информацию о негативном опыте, это обусловлено несколькими причинами. Например, люди, прошедшие обучение могут не захотеть обесценить то, на что они потратили так много времени и денег, или они не захотят вступать в конфронтацию с провайдером учебного лагеря после публикации отрицательного отзыва.
Также, практика учебных лагерей для начинающих нанимать своих выпускников в качестве наставников сразу после окончания учебы является широко распространенной. Это не только помогает восполнить нехватку ассистентов преподавателей, но и помогает учебным лагерям улучшить статистику трудоустройства. «Это очень распространенная практика.
Другая проблема заключается в том, что при работе с неопытными учителями, у которых мало свободного времени, всегда есть опасность, что ваш опыт обучения может напоминать историю этого анонимного рецензента:
«Некоторые из наших учителей даже никогда не работали программистами. Им не хватало навыков преподавания, и они очень расстраивались, когда ученики не понимали материал».
Из-за более низкой заработной платы наставникам необходимо брать дополнительных студентов (если им платят в соответствии с количеством студентов, которых они наставляют) или работать на второй работе. Это может привести к тому, что некоторые наставники станут менее доступными для студентов или предоставят некачественную обратную связь, как утверждают некоторые онлайн-обзоры.
Реалистично оценивайте продолжительность обучения, которое вам понадобится
Студенты, которые приходят на программы в качестве новичков, обычно не готовы к работе после окончания учебы.
Возможно, вы сможете претендовать на должность младшего разработчика или стажировку после окончания одного из учебных курсов, но будет очень сложно выделиться среди растущего числа выпускников учебных курсов и тысяч выпускников компьютерных наук. Вы не можете стать разработчиком за три-шесть месяцев.
Проблема возникает, когда компании проводят собеседование с выпускниками и обнаруживают, что их навыки программирования не очень хороши. Несмотря на то, что собеседования с разработчиками имеют свои собственные проблемы, технический интервьюер в конечном итоге выяснит, что вы не можете реализовать даже некоторые из самых простых алгоритмов.
Многие учебные курсы по кодированию не тратят много времени на алгоритмы. И многие курсы сосредоточены на средствах обучения, а не на программировании.
Хорошие учебные онлайн-курсы программирования будут охватывать темы CS, связанные с алгоритмами и структурами данных, но 9 из 10 учебных курсов по кодированию вообще не охватывают эти темы, потому что эти темы может быть трудно преподавать.
Многие из ведущих курсов для начинающих по кодированию обучают фреймворкам, таким как Ruby on Rails. То есть студенты изучают конкретный инструмент, но не основы того, как веб-разработка на самом деле работает с инструментами и технологиями.
Эти фреймворки дают студентам достаточно знаний, чтобы начать создавать простые веб-приложения. Имея за плечами несколько проектов, многие выпускники считают, что они готовы выйти на рынок труда. К сожалению, прочного фундамента у них пока нет.
Выпускники курсов наводнили рынок
Сегодня очень сложно выделиться на рынке вакансий для младших разработчиков, рынок труда продолжают наводнять низкоквалифицированные разработчики, найти работу в качестве младшего инженера программного обеспечения, не так просто, как это было раньше.
Несколько лет назад курсы для начинающих программистов стали популярны, когда предприниматели увидели в нехватке разработчиков возможность. Они думали, что смогут восполнить этот пробел, создав бизнес-курсы, которые могли бы обучить кого угодно базовым навыкам разработки. Но профессиональным разработчикам, даже младшим, необходим опыт во многих различных аспектах программирования, чтобы быть эффективными профессионалами в области разработки программного обеспечения.
Любой желающий может научиться программированию. Но не каждый может получить достаточно опыта в программировании, чтобы стать хорошим инженером-программистом.