Когда я впервые услышал о программировании буткемпов, я предположил, что это были мошенничества - немного более современная версия ITT Tech (которая сейчас закрыта). У них были те же характеристики: коммерческие, плохо регулируемые, нацеленные на людей, которые хотят изменить свою карьеру, и т. Д. Я полагал, что у них были те же самые подводные камни. Даже если у основателей были добрые намерения и они не пытались использовать людей в своих интересах, это не означало, что результаты были хорошими. К тому же они длились всего три месяца; как образование могло даже приблизиться к четырехлетней программе?
Я хочу сказать, что если вы относитесь к программированию буткемпов как к глупости, то, эй, я был с вами. Было.
Затем я пошел и рассказал на семинаре по программированию о подготовке к техническому собеседованию. Это не пустая болтовня о самом себе. Это технический доклад, в котором рассматриваются темы информатики - структуры данных, алгоритмы и т. Д. - и обсуждаются конкретные сложные проблемы. Сделав это выступление много раз и взяв интервью у людей после него, я имею приличную способность соотносить реакцию аудитории с их общим уровнем навыков.
Удивительно - для меня - студенты на этом учебном лагере были в основном на одном уровне со студентами хороших университетов. Они действительно охватили основы информатики и казались достаточно умными. Интересно.
Я узнал больше (и подумал больше) о буткемпах, и это имело немного больше смысла.
Каково сравнение ученых?
Программы информатики требуют около 40 классов и четырех лет. Так как же вы могли сделать это за три месяца?
Ну, эти 40 классов в основном не CS.
Возьмем, к примеру, специализацию по информатике Пенсильванского университета. Всего 40 классов, только 14 из которых на самом деле являются классами CS.
- Четыре основных класса информатики: программирование, структуры данных и алгоритмы. Это действительно важно.
- 1 - математический класс по информатике. Я хорошо знаю этот класс. Это приятно, но не критично.
- 6 - выборные. Факультативы помогают накопить опыт, но очевидно, что вы можете обойтись без какого-либо конкретного из них. В конце концов, большинство студентов не изучают каждый конкретный факультатив.
- 3 - это вещи низкого уровня (операционные системы, компьютерная архитектура и т. Д.). Приятно иметь, но не критично.
Так можно ли выучить эти действительно важные 4 урока за 3 месяца? Абсолютно. В конце концов, в колледже студенты посещают 4–5 классов одновременно.
На практике во время учебного курса, вероятно, будут пропущены некоторые из менее важных тем в алгоритмах. Это справедливо, поскольку их цель - создавать программистов, а не ученых. Они заменят эти «недостающие» вещи более практическими знаниями.
Выпускники учебного курса так же хороши, как выпускники университета?
Нет, но проблема не столько в ученых, сколько во времени. Студенты университета проходили стажировку и четыре года выполняли проекты (в свободное время и на занятиях).
Это вовсе не означает, что учебные курсы по программированию плохие. Это сравнение совершенно несправедливо.
Вы сравниваете трехмесячные инвестиции и спрашиваете, сопоставимы ли они с трехлетними девятимесячными инвестициями. А если нет, значит, начинающим программистам следует поступать в колледж, а не на учебный курс? Нет!
Более справедливое сравнение: возьмите выпускника учебного лагеря, позвольте ему писать код в течение 3,5+ лет после этого, а затем сравните его с новым выпускником университета. Теперь кому будет лучше? Я вложу свои деньги в выпускник буткемпа - при прочих равных.
Выпускники учебного лагеря младшие - очень младшие. Но время это исправит.
То есть вы говорите, что начинающие программисты должны ходить в учебные курсы, а не в колледж?
Если вы хотите быть программистом всегда и всегда, тогда обязательно. Пропустить колледж.
Примечание: это совет по карьере, а не по жизни. Колледж дает полезный жизненный опыт. К тому же это действительно дорого. Это компромисс.
Да, вы пропустите некоторое образование в области компьютерных наук. Если вас это беспокоит, выучите это самостоятельно. Тебе только что вернули 3,5 с лишним года своей карьеры.
Некоторые компании будут предвзято относиться к вам из-за отсутствия у вас высшего образования. Это обратная сторона. Но ваши дополнительные 3,5 года опыта могут это компенсировать.
Более серьезная проблема возникает, когда вы хотите выйти за рамки программирования. Будут ли к вам относиться с таким же уважением и доверием? Я не совсем уверен.
Здесь настолько не хватает хороших программистов, и здесь относительно легко оценить навыки (или, по крайней мере, так считают), что компании часто смотрят в другую сторону с программистами, у которых нет дипломов. Если посмотреть на вакансии, на которых работает много квалифицированных специалистов, компании могут позволить себе - и часто делают - более строгие. Опыт может это исправить, но не так эффективно.
Но но ...
Все это «в общем». Вы не «вообще». Вы конкретный человек с особым выбором.
Если вы выбираете между MIT и random-mediocre-bootcamp, MIT, вероятно, поможет вам продвинуться дальше. Если вы выбираете между университетом с плохим рейтингом и довольно сильным учебным курсом, учебный лагерь, вероятно, будет лучше.
Я не думаю, что любой путь является «очевидным» выбором для начинающего программиста. Это очень сильно зависит от ваших возможностей и ваших целей.
Достаточно сказать: буткемпы - это не афера. Некоторые учебные лагеря могут быть отстойными, но это верно и для колледжей.