Fullstack-разработчик — стабильно одна из самых востребованных профессий на рынке IT. Поэтому мы решили открыть в GeekUniversity факультет fullstack-разработки на JavaScript. Чтобы познакомить вас с программой, рассказать о преимуществах обучения и перспективах выпускников, поговорим с одним из создателей курса и его преподавателем ― fullstack-разработчиком Mail.
ru Group Валерием Шибановым.— Прежде чем мы перейдём к факультету, расскажи, как ты сам попал в fullstack-разработку? Что тебя привлекло?
Думаю, в моём случае сыграл большой интерес к IT в целом. В юности я активно искал себя во всём, что связано с компьютерами: сначала изучал BASIC и C, пытался работать с DirectDraw (такая крутая библиотека для рендера 2D-графики в составе DirectX), моделировал в 3ds Max, создавал простенькие игры в Macromedia Flash с использованием скриптов.
Первый опыт коммерческой разработки у меня был на Delphi, а потом я ушёл в веб, так как это направление показалось мне перспективнее десктопа. Так 12 лет назад я познакомился с PHP и JavaScript, а дальше развивался уже в этой сфере.
Мне кажется, что все фулстек-разработчики в этом похожи: хотят постоянно постигать новые технологии, ставить задачи и решать их, подходя с разных сторон. К примеру, придя в GeekBrains на позицию frontend-разработчика, я через пару месяцев брал на себя совершенно разные задачи, включая создание dev-окружения на основе docker-composer и разработку proof-of-concept мобильного приложения.
— Чем обучение в длительном формате онлайн-факультета эффективнее быстрых курсов?
Обучение на факультете длится 15 месяцев, и кому-то действительно может показаться, что это много. Да, есть курсы, где за 6–8 месяцев предлагают изучить даже больше технологий, чем даём мы.
Тут нужно учитывать такой фактор: наши студенты — обычно уже взрослые люди, у которых есть работа и семья. Загружать их занятиями чаще двух раз в неделю просто неэффективно. При этом им нужно ещё и задания делать, и обдумывать пройденный материал — потому что глубоко понять предмет можно, только когда о нём размышляешь, желательно без спешки.
Что такое два занятия в неделю? Это 8 уроков в месяц или 48 за полгода. Мы считаем, что этого недостаточно, чтобы глубоко освоить материал и не плавать в пройденных темах на собеседовании и в работе. Поэтому выделяем на обучение 15 месяцев.
— Расскажи немного о программе курса.
Материал будет подаваться от простого к сложному. В первую очередь — основы программирования. Этот курс можно будет пропустить тем, кто уже пишет код, но он будет очень полезен новичкам и тем, кто хочет закрыть пробелы в базовых знаниях.
Далее мы расскажем о HTML и CSS, а затем перейдём к изучению Git — эту систему контроля версий будем использовать на протяжении всего обучения. Да и в целом очень хорошо, если у студентов вырабатывается привычка работать с Git.
После этого погрузимся непосредственно в разработку. Сначала покажем, как писать фронт, и углубимся в него. Потом переключимся на бэк: там будет Linux, базы данных, HTTP-протокол и, конечно, Node.js. После этого можно будет перейти к штукам, которые без того, что я назвал, сложно было бы понять: TypeScript, многопоточности, кешированию, ORM-кам, бэкенд-фреймворку Nest.js. А ещё научим ребят работать в команде и поделимся опытом собеседований на интересные позиции в крутых компаниях. В общем, как и подобает хорошему обучению, разберём все аспекты профессии без спешки.
— Как строится обучение? Превалирует практическая часть или, наоборот, теория с дальнейшими самостоятельными проектами?
У нас будет много практики — она помогает запомнить материал лучше, чем теоретические лекции. Но и теории мы уделяем огромное внимание: если студент что-то забыл или не понял, её можно в любой момент пересмотреть. Теория — это основа.
— Наверняка ты в курсе современных учебных программ фулстек-разработки. В чём преимущество факультета GeekBrains?
Разница в том, как в GeekBrains относятся к своей работе. Наши курсы и программы обучения — результат совместного труда множества талантливых и компетентных ребят, которые болеют за качество контента, а не просто копируют информацию откуда-то.
При работе над программой этого факультета я уже поучаствовал во многих обсуждениях. В одних мне удавалось склонять коллег к своей точке зрения, потому что в каких-то вопросах у меня больше экспертных знаний и опыта. В других переговорах я менял свои взгляды, уступая опыту и осведомлённости собеседников. Обсуждение у нас важнее прямого указания, а отношений «начальник — подчинённый» просто нет. А ещё царит свобода творчества и самовыражения. Так рождаются крутые вещи, которые, думаю, все студенты оценят.
— Какие проекты будут в портфолио у студентов по окончании факультета?
Мы бы очень хотели, чтобы ребята реализовали то, что им интересно, что они придумают и захотят запрограммировать сами. Из этого даже стартапы могут вырасти. Но если идей нет, то мы предложим варианты: это приложение для агрегации данных из интернета, социальная сеть, мессенджер, доска для рисования в браузере, сервис для работы с заметками, простая браузерная игра. Для тех, кто возьмёт дополнительные курсы по мобильной разработке и по десктопу, будут задачи и в этом контексте. И все выполнят большой дипломный проект. В общем, будет что показать работодателям.
— Готовы ли будут студенты после факультета (или ещё в процессе обучения) приступить к работе? И в каком качестве?
Основная цель нашей программы — выпустить готовых специалистов. По уровню это будет ближе к junior, но есть шанс зацепиться и за middle. Просто для этого нужно попотеть, уделить учёбе раза в два больше внимания и времени, чем одногруппники. Что касается работы, думаю, где-то на экваторе обучения можно уже пробоваться на вакансии или брать заказы на фрилансе. Но надо понимать, что придётся приложить большие усилия: как в плане поиска, так и в совмещении обучения и новой работы.
— Перейдём к языку. Почему JavaScript стал так популярен? Ещё 15–20 лет назад казалось, что он существует в вебе до тех пор, пока не придумали что-то лучше и удобнее.
20 лет назад это был другой язык. Стандарты JavaScript изменились — это как раз и есть что-то новое, удобное и интересное. Новые версии появляются постоянно. Язык очень быстро развивается, он оперативно подстраивается под современные нужды. И не стоит забывать про TypeScript — суперсет JavaScript. Он ещё круче.
— Чем фулстек-разработка на JavaScript эффективнее или просто лучше, чем композит фронта с PHP?
На JavaScript проще писать, чем на PHP. Быстрее, меньше кода. Когда я перешёл с PHP на JS на бэке, был в восторге. Если пишете на TypeScript — то ещё и типы с бэка можно подтягивать на фронт, а это ускоряет разработку уже фронта. Много всяких тонкостей, в интервью обо всём не расскажешь. Думаю, студенты нового факультета оценят, как крут TypeScript.
— Как обстоят дела с рынком фулстек-разработки? Много ли вакансий, какая средняя зарплата в Москве и регионах?
Точно могу сказать, что вакансий сейчас много: на рынке большой дефицит разработчиков вообще и фулстек-специалистов в частности. Про конкретные цифры сказать не могу — не изучал вопрос, но в плане зарплаты определённо выше среднего.
— Есть мнение, что фулстек-разработчики больше нужны малому бизнесу, стартапам или срочным проектам. А большие компании предпочитают дифференциацию, и в вакансиях фулстек-разработчиков всё равно подразумевают какую-то основную направленность: на фронт или бэкенд. Так ли это?
Большие компании насторожённо относятся к универсальным разработчикам потому, что они за счёт своей способности вникать в архитектуру фронта и бэка быстро становятся стейкхолдерами и перетягивают одеяло разработки на себя. Уход такого сотрудника из компании чреват намного большими проблемами, чем увольнение линейного разработчика.
Однако маленьким компаниям и стартапам фулстеки очень выгодны: за одну ставку они получают специалиста, способного заменить собой мини-команду или даже отдел. Но вообще таких ребят все любят, с ними удобно работать. Не стоит мыслить о трудоустройстве так комплексно, каждая компания — отдельная история.
— Вернёмся к GeekUniversity. Какими знаниями должны обладать студенты, которые пойдут учиться на факультет?
Нужно уметь читать, считать и пользоваться компьютером на уровне обычного пользователя. Никаких специальных знаний и навыков не требуется.
— Чего бы ты им пожелал ещё до начала занятий?
Помните, что в деле получения знаний лёгких путей не бывает. Если подойти к учёбе с серьёзным настроем, то у вас получится всё и даже больше.
— Какие у тебя ожидания от факультета?
Большие! Я уже вложил в него много сил и планирую продолжать уделять максимум внимания. До встречи на факультете!