Совсем недавно мы запустили буткемпы по Data Science и Data Analytics и хотели бы поделиться с хабражителями материалом, в котором автор сравнивает этот популярный на Западе формат образования с классическим университетским. Приятного чтения.
От автора оригинала.
Я поступил в Корнельский университет на бакалавра информатики и инженера в области компьютерных наук. Я уже довольно давно работаю инженером-программистом в таких компаниях, как Salesforce, Amazon и Twitter. Кроме того, я обучаю людей, подготавливаю их к собеседованиям по разработке ПО. Фрилансером я работал с более чем 100 клиентами, включая тех, кто пошел в буткемпы, и тех, кто учился в колледжах. Я видел обе стороны, так что мое мнение не предвзято.
Программная инженерия сегодня востребована. Есть около 1,5 миллионов рабочих мест для инженеров-программистов. По прогнозам вакансий станет больше на астрономические 22% с 2019 по 2029 год [1]. Это означает, что к 2029 году появится около 33 миллионов рабочих мест. Работа инженера-программиста и вакансия может включать солидные социальные гарантии. Вы можете получить оплачиваемый отпуск, компенсацию за телефонные счета, счета за Wi-Fi и т.д. Вполне понятно, почему все больше и больше людей делают карьеру в этой сфере.
В последнее время появились буткемпы. Они привлекательны благодаря доступности и гибкости. С 2013 года количество буткемпов выросло в 11 раз, и к концу 2019 года их число достигло около 23 тысяч [2]. Все больше и больше людей посещают их, чтобы начать карьеру разработчика программного обеспечения. Но эффективнее ли буткемпы, чем академические институты? Могут ли они действительно получить работу инженера-программиста?
TL;DR
Если денег не хватает, я предлагаю пойти в буткемп или на онлайн-программу, связанную с аккредитованным университетом. В противном случае отправляйтесь в университет, чтобы получить формальное обучение, потому что это даст глубокое понимание компьютерных наук. Это окупится в долгосрочной перспективе. Вы научитесь думать самостоятельно при решении сложных задач в различных приложениях компьютерных наук. Эти навыки полезны при продвижении по службе. Если вы все же решитесь на буткемп, пожалуйста, дополните его материалом для чтения, который фокусируется на структурах данных и алгоритмах. Кроме того, я бы рекомендовал пройти дополнительные курсы на таких платформах, как Coursera, которые специализируются на темах машинного обучение, баз данных, потоков и т.д.
Целую подборку дополнительных курсов можно найти в этих статях:
- «109 бесплатных курсов по Data Science»
- «Бесплатные курсы по Data Science от Harvard University»
- «450 бесплатных курсов от Лиги Плюща»
1. Университет — традиционный, старомодный путь
Преимущество университетов номер один — это ресурсы и широта предлагаемых курсов. Вы можете поговорить с профессорами о том, как университет использует компьютерные науки для решения реальных проблем. Многие профессора занимаются передовыми исследованиями. Вы можете получить практический опыт в таких исследованиях, если присоединитесь к его/ее лаборатории повсеместных вычислений. Когда я учился в бакалавриате и аспирантуре, я присоединился к исследовательской лаборатории. Было здорово увидеть, как компьютерные науки работают для смягчения проблем в здравоохранении. Я получил ценный опыт, который не мог получить больше нигде.
Информатика — это не изучение синтаксиса языков. Синтаксис — самая легкая часть. Самое трудное — понять фундаментальные концепции и теории и научиться применять их. Широта курсов, предлагаемых в университетах, позволяет вам получить всестороннее представление о компьютерных науках, поскольку вы можете глубоко погрузиться в некоторые их аспекты. В университете вы можете посещать занятия, посвящённые самым разным областям — от машинного обучения до проектирования баз данных, робототехники до системной безопасности. Нет никакого буткемпа, в котором такое возможно. Буткемпы созданы, чтобы дать вам практическую подготовку, помочь вам получить работу. Они не созданы, чтобы учить теорию и высокоуровневые концепции.
Второе преимущество университета: вы получаете степень. Это важно при отборе резюме на собеседовании. Ощутимая часть разработки программного обеспечения требует степени бакалавра. Однако все больше и больше компаний отходят от этого требования и обращают внимание на проекты и опыт работы.
Третье преимущество — карьерные контакты. У многих университетов налажены связи с компаниями. Эти компании, как правило, активно набирают сотрудников в этом университете. Workday, Google и Facebook активно набирали сотрудников из моего университета. Сотни компаний приходят в университет, чтобы нанять сотрудников. Иногда собеседования проводятся уже на следующий день.
Звучит потрясающе. А в чем подвох?
Поступление в такие университеты — это большие инвестиции. Если вы собираетесь учиться на бакалавра 4 года, то вот, сколько нужно заплатить за всё время:
Данные из EducationData.org [3]. Диапазон составляет от 87 800 до 199 500 долларов США. Могут понадобиться кредиты на несколько лет. Может быть трудно быстро увеличить сбережения и собственный капитал, пытаясь погасить кредит.
А как насчет аспирантуры?
Есть люди со степенью бакалавра не в области технологий, которые хотят разрабатывать ПО. Для тех, кто рассматривают аспирантуру: у вас может не быть степени кандидата. Будет достаточно степени магистра. И вот, сколько стоит год обучения.
Данные из книги Петерсона [5]. Нужно учесть, что есть некоторые университеты, где степень магистра можно получить за год или два года. Таким образом, в зависимости от программы стоимость обучения может варьироваться от 30 000 до 60 000 долларов США для государственного университета и от 40 000 до 80 000 долларов США для частного университета. Разница между программами в том, что программа на два года уделяет больше внимания исследовательскому проекту Кроме того, расписание у двухлетней программы не такое плотное, как у однолетней.
Но это все равно дорого. Есть альтернативы?
MOOC (Massive Open Online Course) крайне популярны на Udacity или Coursera. Некоторые университеты сотрудничают с этими платформами. Известный пример — онлайн-программа Georgia Tech для магистра в области компьютерных наук. Эта программа стоит в общей сложности 7000 долларов США. Если вы не находитесь в кампусе и не можете работать с профессорами лицом к лицу, такой вариант может подойти.
2. Буткемп — нетрадиционный способ обучения
Буткемпы дешевы по сравнению с программой университетов на 4 года, поэтому так популярны. Они, как правило, стоят от 5000 до 20 000 долларов США [4] (примечание: цена таких буткемпов в России — в 5 раз ниже). Если вы не можете заплатить эту сумму сразу или нервничаете из-за того, что не сможете получить работу после буткемпа, есть другой план оплаты: отложенное обучение. Оно позволяет вам не платить. Но как только вы получите работу, фиксированная сумма из зарплаты пойдет на оплату буткемпа.
Второе преимущество — буткемпы короче, они могут длиться от 8 до 12 недель. Вместо того, чтобы учиться в университетах годами, вы заканчиваете буткемп за несколько недель.
Дешево и быстро! А в чем проблема?
Получить работу сразу после букемпа — задача не из простых. Исследование StackOverflow показало, что около 9% выпускников никогда не находили работу инженера-программиста [2]. 22% выпускников сказали, что им потребовалось около месяца или больше. 7% сказали, что это заняло полгода и больше.
Почему так происходит?
В центре внимания буткемпов обучение студентов навыкам работы с программным обеспечением на начальном уровне. Вы будете учить HTML, CSS, Javascript и языка бэкенда — Python, Java, а также базы данных. Из-за сосредоточенности на этих языках студенты, как правило, имеют слабые фундаментальные знания. Бесчисленне множество раз я замечал это. Студенты буткемпов плохо понимают алгоритмы и структуры данных. Им трудно дается оценка временной сложности в программировании. Они не знают, как выполнять рекурсию или обход графа. Им некомфортно, когда они решают задачи на программирование. К сожалению, Facebook, Google, Amazon, Twitter и другие задают вопросы о программировании на телефонных интервью и интервью на месте. Для этих конкурентоспособных компаний уровень технических вопросов по этим темам варьируется от среднего до сложного.
Я был свидетелем того, как многие клиенты, которые заканчивали буткемп, затем проваливали собеседования в части программирования. Я бы сказал, что более 70% моих клиентов, окончивших буткемп, провалили или могли бы провалить собеседование в Facebook. Печально, что некоторые из этих людей проходят трудный путь через постоянные отказы в этих очень конкурентных компаниях. Затем они записываются на другой учебный курс по программированию, предназначенный для подготовки к собеседованию, который может стоить около 5000 долларов. Так 10 000 долларов на образование превращаются в 15 000. Но не все собеседования по разработке так же сложны, как в Facebook. У стартапов и небольших компаний, как правило, планка ниже. Но если вы нацелились конкурентоспособные компании, я рекомендую найти тексты и видео, которые фокусируются на алгоритмах и структурах данных.
Заключение
Правильного способа стать инженером-программистом нет. У каждого человека есть разные потребности. Имеет значение то, каким именно инженером-программистом вы хотите стать. Хочется во фронтенд? Это требует меньшего внимания к концепциям разработки программного обеспечения более высокого уровня, но больше внимания к веб-фреймворкам и технологиям.
Становление инженера-программиста — это путешествие. Я изучаю новые концепции по сей день. Обучение не заканчивается на университете или буткемпе.
Библиография
[1] “Software Developers: Occupational Outlook Handbook.” U.S. Bureau of Labor Statistics, 1 Sept. 2020, www.bls.gov/ooh/computer-and-information-technology/software-developers.htm.
[2] Swanner, Nate. “Coding Bootcamps Enjoying Massive Growth, but at What Cost?” Dice Insights, 26 Aug. 2019, insights.dice.com/2019/08/26/coding-bootcamp-popularity-growth-2019/.
[3] Bustamante, Jaleesa. “Average Cost of College & Tuition.” EducationData, 7 June 2019, educationdata.org/average-cost-of-college/.
[4] Crispe, Imogen. “Coding Bootcamp Cost Comparison: Full Stack Immersives.” Course Report, Course Report, 21 Nov. 2019, www.coursereport.com/blog/coding-bootcamp-cost-comparison-full-stack-immersives.
[5] Ben. “Is the Cost of a Graduate Degree Worth It?” Peterson’s, 9 Jan. 2018, www.petersons.com/blog/is-the-cost-of-a-graduate-degree-worth-it.
[2] Swanner, Nate. “Coding Bootcamps Enjoying Massive Growth, but at What Cost?” Dice Insights, 26 Aug. 2019, insights.dice.com/2019/08/26/coding-bootcamp-popularity-growth-2019/.
[3] Bustamante, Jaleesa. “Average Cost of College & Tuition.” EducationData, 7 June 2019, educationdata.org/average-cost-of-college/.
[4] Crispe, Imogen. “Coding Bootcamp Cost Comparison: Full Stack Immersives.” Course Report, Course Report, 21 Nov. 2019, www.coursereport.com/blog/coding-bootcamp-cost-comparison-full-stack-immersives.
[5] Ben. “Is the Cost of a Graduate Degree Worth It?” Peterson’s, 9 Jan. 2018, www.petersons.com/blog/is-the-cost-of-a-graduate-degree-worth-it.
Прокачать себя можно в наших буткемпах по Data Analytics и Data Science, которые включают в себя несколько недель интенсивного обучения, реальные проекты в портфолио, а в буткемпе по аналитике еще есть шанс получить оплачиваемую стажировку для лучшего выпускника. Учеба рассчитана на фултайм и обеспечивает полное погружение в профессию. Дерзайте!
Узнайте подробности, как получить востребованную профессию с нуля или Level Up по навыкам и зарплате, пройдя онлайн-курсы SkillFactory:
- Обучение профессии Data Science с нуля (12 месяцев)
- Онлайн-буткемп по Data Analytics (5 недель)
- Онлайн-буткемп по Data Science (14 недель)
Eще курсы
- Профессия аналитика с любым стартовым уровнем (18 месяцев)
- Курс по аналитике данных (6 месяцев)
- Курс по Machine Learning (12 недель)
- Курс «Математика и Machine Learning для Data Science» (20 недель)
- Продвинутый курс «Machine Learning Pro + Deep Learning» (20 недель)
- Профессия Веб-разработчик (8 месяцев)
- Курс «Python для веб-разработки» (9 месяцев)
- Курс по DevOps (12 месяцев)
- Профессия Java-разработчик с нуля (18 месяцев)
- Курс по JavaScript (12 месяцев)
- Профессия UX-дизайнер с нуля (9 месяцев)
- Профессия Web-дизайнер (7 месяцев)
Aushilfskraft
1. Приходишь на собеседование с обязательным тестовым заданием.
2. Под офигевшими взглядами забираешь листочек себе.
3. Решаешь дома, попутно теорию разузнав вокруг практики.
В случае отказа просишь аргументировать, устраняешь эти аргументы и приходишь в третий раз. Не получишь согласия, так на соседнюю вакансию с меньшего числа попыток пройдешь