15 октября

«Сегодня Front End разработчик должен знать практически все», - Виталик Залуцкий, Front End Engineer в SaM Solutions и преподаватель в TeachMeSkills

Front End разработка – одно из самых популярных направлений среди желающих войти в IT. Но далеко не все знают, что именно бэкендится за должностью успешного разработчика. О том, как успешно пройти путь становления, получить заветный оффер и других «прелестях» из жизни разработчика рассказывает боец видимого фронта Виталик Залуцкий.
– Расскажи, о своем пути во Front End. Как ты до этого докатился и чем занимался до прихода в IT-сферу?


- Если говорить конкретно о Front End разработке, то это мой третий заход в IT. В самом начале моего «творческого пути» был универ, где 5 лет я пробовал изучать различные языки, затем, уже после выпуска, курсы по Java, - все безуспешно. С каждым новым провалом я убеждался в том, что айтишником мне не стать. И, пройдя все 5 стадий, я принял решение забыть о разработке и попробовать себя в интернет-маркетинге. Так я начал продвигать сайты.

В мой широкий круг обязанностей входила, в том числе, постановка задач программистам по улучшению и устранению ошибок на сайте. Вот тогда я и понял, что мне хочется самому выполнять те задачи, которые я ставлю своим коллегам и познакомиться с «обратной» = технической стороной. Скажу откровенно, в первое время я даже не думал о том, что пойду покорять вершины Front End разработки, скорее я хотел стать супер-маркетологом, который разбирается в сайтостроении. Так мои хотелки привели меня на курсы по «фронту». И хоть идеальным студентом, выполняющим все домашки в срок, я не был, всегда проявлял старание и усердие и даже начал понимать, что впервые за годы попыток стать айтишником, у меня начало что-то получаться. К окончанию курсов я был твердо убежден в том, что Front End – это та сфера, в которой я хочу расти и развиваться.
– Как ты думаешь, почему не получилось с первого и даже со второго раза?


Ещё в школе я понял, что хочу стать айтишнком, поэтому и поступил в БГУИР. Каждый раз, когда у нас начинался новый предмет с новым языком программирования, я думал, что вот сейчас я точно выберу себе направление по душе и все будет классно. Но это «классно» все никак не наступало, потому что я не учел одного: одного желания МАЛО. А я же был студентом, немного ленивым, немного наивным, и думал, что стану программистом по щелчку пальца. Какие-то моменты я списываю и на формат подачи информации, поскольку, сам став преподавателем, я понимаю, что многое зависит и от того, кто учит. Наставники должны быть увлечены своим предметом и разжигать огонек в глазах студентов. Возможно, это я такой привереда, который не хотел заниматься долго и упорно, в том числе, самостоятельно. Java я тоже забросил, даже не могу сказать, почему именно. А вот что касается Front End, я уже был настроен более серьезно, да и преподаватель мне зашёл, т.е. ожидание и реальность с третьей попытки совпали.
Ты помнишь свой первый сайт? Был ли первый блин комом, или наоборот гордишься собой?


Моя первая осмысленная работа – бот в Telegram, который я сделал в рамках дипломного проекта. Может быть я кого-то удивлю, но я до сих пор не написал ни одного сайта в классическом понимании (интернет-магазин с корзинкой, сайт-визитка). После курсов я решил, что буду заниматься тем, что мне нравится, а мне нравится писать приложения, в том числе мобильные, и разбираться с теми же ботами. Всем желающим стать фронтендщиками нужно понимать, что современный Front End разработчик – это не про классическое сайтостроение.
А про что? Объясни простым языком, кто такой Front End разработчик, чтобы тебя поняла даже бабуля из соседнего подъезда.


Ты приходишь в магазин бытовой техники, чтобы купить холодильник, и среди десятков моделей видишь ту самую, которая идеально впишется в твою кухню. Подходишь ближе и понимаешь, что и кнопочки на панели понятные, и ручка удобная, и в нижнем отсеке 4 морозильные камеры, как ты и хотел. К чему это я, одна из основных задач Front End разработчика – сделать все так, чтобы человек хотел приобрести продукт и им пользоваться, т.е. «фронт» отвечает за клиентскую часть. Front End – это первое свидание, это про то, чтобы понравиться пользователю.
Исходя из твоих слов, можно сделать вывод, что направление Front End отличается стабильностью. Ждать ли разработчикам этого жанра каких-либо изменений в обозримом будущем или все останется как есть?


Безусловно, изменений не избежать. Я думаю, что Front End разработчик расширит свои полномочия и углубится в Back End разработку. Я не говорю о том, что он станет Full Stack, речь идет о расширении сферы влияния. Также изменится архитектура построения приложения: Front End разработчик будет принимать участие в написании Back End прослоек перед основным сервером. Я имею в виду, что Front End разработка становится все сложнее, так что самое интересное только начинается.
Все течет, все меняется, и разработка не исключение. Что ты можешь рассказать о тенденциях во Front End, и стоит ли пытаться угнаться за всеми новыми технологиями?


В начале своего карьерного пути я был убежден, что нужно оставаться в авангарде развития технологий, следить за самыми последними тенденциями и в работе использовать все новиночки. Набив шишки и получив бесценный опыт, я понял, что это не совсем так. Отследить все, что происходит в разработке, просто нереально, при этом нужно не забывать сосредотачиваться и на том, с чем ты, в первую очередь, работаешь. Я клоню к тому, что основы тоже никто не отменял, и ратую за то, что в начале должна быть база, и только потом все остальное. Запомни, если ты хочешь развиваться в разных направлениях, будь то React, Angular или хипстерский Vue, то будь добр выучить основу основ JavaScript.
Веришь ли ты в самостоятельное вхождение в IT без помощи курсов?


Курсы – это самый верный и быстрый способ. Когда тебя обучает человек, который уже имеет немаленький опыт и знает, как объяснять непонятный тебе материал, скорость процесса обучения увеличивается в разы. От тебя только и требуется, что потреблять ценную информацию и прилагать все свое усердие, чтобы ее усвоить.

Я не скажу, что невозможно стать айтишником без посторонней помощи, потому что нет ничего невозможного. Все зависит от человека: если он отличается особой усидчивостью, упорством и трудолюбием, то, в принципе, может это сделать. Да, информации в интернете много, но она не отфильтрована, а значит трудностей будет еще больше. Также серьезным испытанием на прочность станет и то, что все ваши вопросы в процессе обучения станут риторическими. Гугл вам на них вряд ли ответит, да и форумные эксперты не будут разжевывать «очевидную», как им кажется, информацию. Доходят до конца единицы из сотен желающих. Так что если у вас есть возможность пойти на курсы, то почему бы и да.
Не прошло и 5 лет, как ты сам стал преподавателем и ведешь курс по FrontEnd в TeachMeSkills. Расскажи подробнее о программе курса


Скажу так, в TeachMeSkills программа составлена так, что при должном её усвоении (как минимум 80% от всего материала), проблем с трудоустройством у студентов не будет. На выходе ребята получают сильную практическую базу и всеобъемлющие теоретические знания, - этого более чем достаточно для специалиста уровня Junior +.

Но буду честен: даже если я 20 раз повторю, что наша программа классная, будущий студент зашедший на сайт, у которого за плечами кроме желания стать частью IT-сферы, никакой профбазы нет, вряд ли ее оценит без посторонней помощи.

Если этой помощи ждать неоткуда, я рекомендую при выборе школы обращать внимание на преподавателей школы. Во-первых, опыт коммерческой разработки у них должен быть не менее трех лет. Во-вторых, они должны хорошо объяснять материал – эту информацию узнать не составит труда, если покопаться в отзывах. !!обращайте внимание на аргументированные отзывы, отзывы из разряда «он крут» - не аргументированный отзыв!! В-третьих, изучите отзывы и о других преподавателях – в школе должен отслеживаться системный подход к отбору наставников – обучать должны лучшие из лучших.

Только на основании разных источников и мнений можно и нужно делать свои выводы. А с программой вы разберетесь в процессе обучения, главное – мотивация и внимательность.
Какие мифы тебе приходилось развенчивать на занятиях со студентами?


Миф №1 Wordpress и все, все, все
Да, многие будущие фронтенднщики приходят на курсы с представлением о том, что на выходе они будут верстать сайтики на Wordpress и немножко кодить. Но в процессе обучения выясняется, что большую часть времени приходится писать кодовую базу.

Миф №2 Браузер не то, чем кажется
Да, всем знакомый на уровне пользователя браузер способен удивлять: это средство не только открывает страницы, но и является мощным инструментом разработки, который помогает просматривать код и проверять быстроту его загрузки.

Миф №3 На что способен JavaScript
Практически все студенты удивляются, когда узнают, что с помощью JavaScript можно делать не только сайтики. Если только захотеть, можно стать FullStack или уйти в мобильную разработку. Да, при помощи фреймворков можно фигачить приложеньки сразу на Android и iOS, и они будут иметь один код. Круто, не правда ли?)

Миф №4 Front End – это не серьезно
В IT-комьюнити любят шутить над Front End разработчиками и говорить, что они занимаются какой-то несерьезной фигней. На этапе становления направления можно было согласиться с этим утверждением, но сегодня оно не имеет под собой основания (хотя шуточки до сих пор проскакивают в интернете).

Миф №5 Через Front End можно легко войти в IT
Когда я спрашиваю у ребят на вводном занятии, почему они выбрали Front End, половина отвечает: «нам сказали, что это направление гораздо легче, чем остальные». Сразу скажу - это не так: порог вхождения значительно вырос, и багаж необходимых знаний в ручную кладь не утрамбуешь. Записываясь на курсы, помните, что нигде не будет просто.
Как запоминать огромное количество информации и на каких профильных ресурсах черпать вдохновение?


Я всегда говорю своим студентам, что новая информация усваивается только в том случае, если вы воздействуете на мозг разными способами. Читать, кодить смотреть, кодить, слушать, кодить, – только так сформируются нейронные связи.

Нельзя исключать и тот факт, что все люди разные, а значит новую для них информацию усваивают по-разному. Вот я, к примеру, очень плохо читаю книги. Да и вообще, технические книги не читают, с ними работают. И работают тогда, когда в голове уже есть что-то по теме, поскольку воспринимать через буквы новую информацию такого плана достаточно тяжело. Намного проще идет усвоение через преподавателя в аудиовизуальной форме – вовлечение в процесс ускоряется.

Что касается вдохновения, то волшебной палочки здесь нет, каждый выбирает по душе. Мой Топ-3 сайтиков, где я могу подвиснуть:

· https://developer.mozilla.org/ru/ (MDN документация)
· https://learn.javascript.ru (шпаргалка на все времена, идеальнейший ресурс для Front End разработчика)
· https://habr.com/ru/ (портал для айтишной души)

А еще, что касается материалов и статей, то я своим студентам советую занятную приложеньку pocket, и очень мне жаль, что к моему совету прислушиваются единицы. В чем соль: в этом приложении очень классно сохранять статьи, которые мы очень хотим прочесть, но не сейчас. Вероятность того, что полезный материал затеряется, меньше, а вы будете ехать в метро по дороге домой и прочтете то, что хотели.
Новоиспеченные айтишники очень переживают за свое портфолио и боятся, что на собеседовании его могут не оценить по достоинству. Что ты об этом думаешь?


Лично я считаю, что портфолио нужно для ребят только на начальном этапе. Только оно как нельзя лучше будет отображать достигнутый результат и прогресс. У любого студента бывает период, когда он считает себя бесталанным и неспособным что-то сделать, вот тогда на помощь и приходит аккаунт на Гитхабе, который лучше любого препода скажет, что он делает все, как надо. А вот если не сохранять даже самую мелкую работу, то ощущение прогресса может затеряться.

Сделал учебный макетик по верстке – загружай, сделал работку по JavaScript – загружай, и т.д. – так к концу курса ты будешь четко понимать, что ты сделал. И твои достижения придадут тебе уверенности.

Что касается собеседования, то вероятность того, что его откроют(аккаунт на Гитхабе), очень низкая, однако, если оно не будет указано в «списке достижений», вопрос у работодателя может возникнуть.
А как работодатель поймет, что именно тебя нужно взять на эту должность, если он даже в портфолио не смотрит?


На собеседовании есть масса других способов, чтобы понять подходит тебе человек или нет. Джунов больше всего гоняют по основам JavaScript и проверяют, как они умеют решать задачи. Да, вы пробуетесь на должность разработчика, а основная обязанность разработчика – решать проблемы и задачи. Хороший программист, конечно же, умеет писать код, но его заслуга не в этом: код – всего лишь инструмент, с помощью которого решаются задачи. Так что, помочь Даше-путешественнице заказчику найти решение намного ценнее.

Очень часто на собесе джунам дают решить сложную задачу, которую они в силу своего опыта решить не могут. Основная цель такого испытания – проверить, как человек рассуждает и пытается выйти из положения. Поэтому ни в коем случае не молчите и начните проговаривать возможные варианты решения вслух. Только если вы идете на контакт, собеседующий вас человек сможет вам помочь и направить вас в нужное русло наводящими вопросами.

Совет: когда к тебе на работе будут прилетать задачи, почти в 100% случаев решить её с ходу не удастся. Придется хорошенько поломать голову прежде чем начать писать код. Первое правило бойцовского клуба: не бросайтесь строчить код, не решив задачу.
Напутственное слово от Виталика Front End разработчикам будущего:

Если вы очень хотите войти в IT и одной ногой стоите на пороге школы программирования, приготовьтесь много работать, страдать и пробивать стены незнания. Будут моменты, когда вам будет казаться, что «вот это вот все» не для вас и нужно было раньше думать, но если приложить усердие и старание, то вы со всем справитесь. Слушайте препода, будьте лапочкой и не останавливайтесь на полпути. Пусть вас греет мысль, что со временем вам воздастся, в том числе, и в материальном плане.


Стань востребованным IT специалистом

Наша цель — дать тебе знания и опыт, достаточные для трудоустройства в крупнейшие IT компании.