Андрей Володченко — React-разработчик в компании Perfect Art и выпускник HTML Academy. В подкасте «Да как так-то» мы поговорили о его карьерном пути, узнали, как он пришёл в разработку, чем занимается и какие задачи решает.

Аудиоверсия

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

Андрей

Что было до фронтенда

Андрей: После школы я поступил в Бауманку, но на третьем курсе окончательно убедился, что это не то, чем я хочу заниматься, и ушёл оттуда.

После армии поступил на иняз, успешно завершил обучение и получил диплом. Язык — очень крутое дополнение к чему-то созидательному, но заниматься всю жизнь переводами и преподаванием мне не хотелось. Хотелось что-то создавать, но начинать выпиливать лобзиком было уже поздно, и это не совсем востребовано, поэтому я решил поискать что-то ещё.

На портале «Открытое образование» я нашёл курс, который назывался «Веб-программирование». Я записался и пошёл на этот курс, но тогда ещё не знал, что это был курс HTML Academy.

Женя: Ты помнишь, в каком году это было?

Андрей: Я начал 6 марта 2017 года. Смотрел лекции, записывал теорию в толстую тетрадку (она у меня до сих пор осталась) и проходил тренажёры. Успешно закончил курс и пошёл на сайт Академии. Немного сомневался и посоветовался с другом, который уже какое-то время был в разработке. Он говорит: «Нормальные ребята, я посмотрел, всё по делу».

Сначала я прошёл бесплатные тренажёры, потом те, что по подписке, а в конце записался на три профессиональных курса — два по вёрстке и один по JavaScript.

Про ощущения на первом интенсивном курсе

Андрей: У меня было ложное чувство, что если я прошёл до этого все тренажёры, то сейчас покажу всем, кто тут босс. Но я быстро понял, что это так не работает. В итоге я всё равно выбрал самый сложный проект, потому что решил выжать максимум из курса, и успешно его завершил.

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

Андрей: Отчасти так. Я понимал по рынку, что программирование, в целом, востребованная вещь. Для меня было важно, что есть работа, на которой можно что-то создавать. А когда в интернете стали появляться красивые сайты, я подумал «Круто, я тоже хочу так уметь».

Не пробовал учиться по ютубу и книжкам?

Андрей: Всё так совпало, что появилось время и сразу нашёлся курс. До этого я проходил другие курсы, не связанные с программированием, но фронтенд мне понравился больше всего. Но я не думал, что получится найти работу так стремительно.

Женя: А сколько времени прошло? Стремительно — это как?

Андрей: 6 марта — начало отсчета, а на работу вышел 27 октября.

Женя: По меркам стремительных вещей это довольно быстро.

Как не забросить обучение (если занёс деньги)

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

У людей, к сожалению, есть ложное представление о том, что достаточно занести денег, а дальше всё как-то само. Оплатил курс и через год ты фронтенд-разработчик, больше ничего делать не надо. Но так не работает.

У меня есть опыт преподавания — все зависит от желания ученика, можно помочь обучиться, но заставлять учить...

Женя: Мы тут разговариваем втроём, и у всех есть опыт преподавания. Я помню, как студенты приходили ко мне и спрашивали «А как разобраться-то в этой вирусологии дурацкой, зачем она вообще нужна?». И я пытался подобрать слова, чтобы они не забросили предмет. Но когда пытаешься сам чему-то учиться, эти же слова не работают, потому что у всех разная мотивация.

Андрей: Я хотел, чтобы был виден результат моей работы. В какой-то момент начало получаться и я подумал, что могу, как минимум, быть очень хорошим в этом деле.

Первая работа и страдания от JavaScript

Лёша: Ты прошёл два курса по вёрстке и понял, что верстать ты научился. Пришёл на курс по JS, а там совсем другая сфера. Программирование — это же не вёрстка. Какие были ощущения?

Андрей: Тут надо уточнить — два курса по вёрстке у меня прошли подряд и сразу после первого меня записали в программу трудоустройства выпускников, которая работала в пилотном режиме, и уже тогда со мной связался мой первый работодатель, к которому я в итоге вышел после второго курса по вёрстке.

Изначально мне сказали, что ищут верстальщика и гипотетически я подхожу. Дали тестовое задание по вёрстке, после него было собеседование с руководителем компании, после которого он предложил работу.

Тогда я ещё работал в Чехии, поэтому пришлось какое-то время совмещать две работы и обучение.

А курс по JavaScript я перенёс на весну 2018 года, когда уже был небольшой опыт реальной вёрстки. И страдал, думал, не слишком ли высоко я прыгаю. Но в итоге всё хорошо.

Приходилось работать с недоделанными макетами?

Андрей: У меня было много проектов за четыре года, но почти всегда макеты не были готовы целиком. Дорабатывались в процессе. Реальность вносит свои коррективы, а вообще я хорошо отношусь к дизайнерам и могу понять их.

Женя: Если твоя первая работа была в 18 году, получается, ты успел застать хвост фотошопных макетов, которые макет.psd, макетфинальный.psd, макетфинальный2_новый...

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

Лёша: А как с этим справиться? Тебе не хочется в этот момент убежать от этого всего?

Андрей: Да, хочется, размахивая руками. Хочется, конечно.

Лёша: Или сразу вопросы к Академии, почему меня этому не научили?

Андрей: Да нет, было понятно, что реальность отличается от тепличных условий на курсах. Наставники тоже предупреждали. Это можно принять, а можно не принимать. Те, кто не принимают, просто не срабатываются с коллективом и через какое-то время сами уходят.

Про английский язык

Андрей: Постоянно его использую, потому что работаю на международном проекте, где в принципе русскоязычных разработчиков очень мало. Документация, коммиты, комментарии — всё на английском.

Собеседования

Андрей: Собеседование — это очень крутая штука. Оно помогает понять твой уровень, особенно если ты какое-то время уже работаешь на одном месте. Почти всегда у меня сначала было тестовое задание, а потом собеседование — там уже разговоры про теорию, проверка soft skills и всё остальное.

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

  • К собеседованиям надо готовиться. Нужно понимать, какие вопросы бывают, в какое русло может пойти разговор, что лучше повторить, что подучить. Всё это в зависимости от позиции, на которую ты идёшь.
  • Старайтесь не нервничать. Если ты нервничаешь, это может быть воспринято как неуверенность, как-то, что ты и в работе будешь так же себя вести. Излишняя бравада в духе «я всё знаю и всё могу» тоже обычно мешает.
  • Задавайте вопросы по условиям работы: как команда, какой проект, что вообще будет, какие у меня будут обязанности, где я буду сидеть, что в столовке, нормально кормят или нет — такие вопросы, они важны. Долго ли ехать, условно говоря.

Если не знаешь ответа на вопрос по теории — выдумывать или сдаться?

Андрей: Лучше начать рассуждать хоть с чего-то, хоть какой-то мыслительный процесс показать. Не факт, что ты выйдешь на решение, но просто когда ты скажешь «Я даже и думать не буду», ничем хорошим это не закончится. Стоит хотя бы попытаться.

Лёша: Я в таких случаях выступаю за честность. Если ты чего-то не знаешь, то лучше прямо сказать и не юлить. Можно сказать, что ты пока с этим не сталкивался на практике, потому что во фронтенде бывает очень много всего, и это тоже будет нормально воспринято. Можно пофантазировать, как это могло бы быть, главное, не заходить слишком далеко.

И тогда собеседующий не будет думать, что ты просто не смог ответить на вопрос. Он знает, что ты не ответил на вопрос, но он видит, что ты готов размышлять о нем. И это всегда плюс.

Чем занимается React-разработчик?

Андрей: HTML и CSS, условно говоря, это просто верстка страничек без каких-то динамических вещей, которые пишутся на JavaScript, который для этого, собственно, и создавался.

JavaScript — язык, который работает в браузере и не только, но в браузере он работает хорошо.

React — такая библиотека, которая позволяет создавать приложения на JavaScript. Это очень популярная вещь, на которой много всего написано. И чтобы работать с React, нужно знать JavaScript, а без JavaScript в React просто нечего делать.

Фронтовые задачи связаны с добавлением новых возможностей в существующие приложения. Не просто рисовать странички, а обмениваться данными с сервером, изменять состояние приложения в зависимости от того, как ведёт себя пользователь. Он что-нибудь пролистал, нажал, подул, навёл — и у него состояние меняется. Этим я и занимаюсь.

Ты до сих пор находишь во фронтенде то, почему его выбрал?

Андрей: Да. Однозначно могу сказать, что мне это нравится, потому что это огромное море вещей, подходов и очень много ещё, в чём есть куда расти. И когда ты видишь результат своей работы и понимаешь, что всё работает — ты понимаешь это все не зря. В какой-то момент для меня какие-то знания казались заоблачными, а сейчас они уже в порядке вещей.

Теперь я хочу закрыть определенные пробелы в знаниях, нарастить опыт, чтобы справляться с любыми задачами, дорасти до сеньора, а там посмотрим, куда жизнь заведёт.

Хочется ещё и бэкенд пощупать, потому что сейчас это для меня как чёрный ящик — посылаешь запрос, что-то приходит в ответ, а ты это раскладываешь, как тебе надо. А как бэкенд устроен внутри очень интересно.

Лёша: У тебя интересная стратегия. Ты сначала пошёл вглубь, разобрался во фронтенде, а теперь начинаешь потихоньку развиваться вширь. Другие языки программирования хорошо изучать, когда вы уже владеете одним или двумя и постоянно работаете на них.

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

Андрей: Важно понять, что быстро ничего не получится, не бросать, не зазнаваться и слушать людей, которые работают с тобой.

Начните свой путь в разработке с тренажёров

Знакомство HTML, CSS, JavaScript и PHP абсолютно бесплатно.

Регистрация