Роман — фронтенд-разработчик в 2ГИС. Кроме этого, он организовывает CodeFest и активно делится с веб-сообществом полезной информацией: уже выступал на Web Standards Days, FrontTalks и совсем недавно на pitercss_conf. Мы попросили его рассказать свою историю, к которой, как выяснилось, имеем отношение.

От Железного Человека к разработчику

Изначально моя учёба не была связана с вебом. Всем рассказывал, что у меня такая же специальность, как у Тони Старка. Но проблема в том, что никто не помнит, чем он занимался до того, как стать Железным Человеком. А моя специальность называлась «Средства поражения и боеприпасы» — звучит интригующе, но на самом деле было довольно скучно, потому что ничего современного нам так и не показали.

На четвёртом году в университете друг позвал меня на курсы с впечатляющим названием «Создание динамических веб-страниц с использованием технологии PHP». Там ещё преподавателем был классический бородатый программист в свитере с оленями. Честно говоря, из курса я ничего не запомнил, потому что опыта в программировании не было совсем. У таких, как я, проблемы решались так: преподаватель подходил и просто исправлял ошибки. В общем, я проучился два месяца, получил сертификат, а толку — ноль. Стало обидно за потраченное время, поэтому я начал осваивать HTML и CSS самостоятельно. К слову, товарищ после этого курса в программировании не остался, а вот меня затянуло. Настолько, что я даже не стал заканчивать университет.

Начал с того, что нашёл Sorax — видеоуроки по вёрстке. Помню, когда увидел его 3D-кубы на CSS, был так покорён, что пересмотрел всё. Но после этого у меня всё равно не складывалась полная картинка. Вообще не понимал, как сверстать страницу целиком. Поэтому стал проходить курсы везде, где был бесплатный доступ. Потом как-то попал на сайт «Открытого образования» и нашёл там курсы HTML и CSS, которые вёл Александр Першин. Оттуда уже вышел на сайт Академии, где на тот момент было всего двенадцать интерактивных курсов, и бо́льшая часть — бесплатно. Прошёл все, кажется, дня за два, а потом оплатил подписку, — так меня захватило. Повествование было настолько последовательным, что наконец в голове что-то сложилось.

В поисках идеальной работы

Где-то через восемь месяцев самостоятельного обучения я задумался о работе. Было две компании, где очень хотелось поработать: 2ГИС и Яндекс. Но сразу туда попасть было практически невозможно, потому что вакансий джунов у них никогда не было. Просматривал много вакансий и нашёл одну — тестировщик в известный новосибирский справочно-информационный портал НГС. Там нужно было что-то вроде: «уметь работать с консолью» и «знать простые SQL—запросы». В общем, дозвонился туда, попал на крутую HR, которая тут же раскусила всё и поняла, что на самом деле я верстальщик. Предложила отказаться от идеи с тестированием и взять тестовое на вёрстку. Я его сделал и получил приглашение на собеседование.

Моё первое интервью длилось почти четыре часа, причём меня спрашивали практически только о вёрстке! Потому что из JavaScript я дружил только с jQuery. Конечно, были перерывы, небольшой блок стандартных вопросов от HR, но всё остальное время мы с руководителем фронтенд-разработки разговаривали о выравниваниях, потоке, каскадировании и, вообще, за жизнь. Думаю, то, что я прошёл все курсы Академии и несколько раз пересмотрел видеокурсы сыграло решающую роль, и меня взяли в компанию, в которой впоследствии я проработал полтора года.

От ученика к наставнику и спикеру

Через год работы я полетел слушателем на FrontTalks в Екатеринбурге. В самолёте я увидел парня с макбуком, который писал какой-то код. Мы разговорились и оказалось, что он был разработчиком 2ГИС и тоже летел на FrontTalks, но только выступать! К слову, это был Тим Чаптыков, который теперь уже работает во ВКонтакте. Это знакомство тогда вдохновило меня на перемены.

Вернувшись, решил, что тоже хочу выступать с крутыми докладами. Меня, как ни странно, ещё мотивировал и доклад Вадима Макеева про флексы. Он так подробно и просто про них рассказал, что мне самому захотелось что-нибудь на них сверстать, хотя на тот момент не все браузеры их поддерживали. Моя компания не была в этом заинтересована, и, хоть у меня получилось убедить их отправить меня с докладом на WSD в Киеве, я понял, что этого больше не повторится. Справедливости ради стоит упомянуть, что с тех пор ребята изменили своё отношение к технопиару и начали организовывать митапы сами.

Роман на The Rolling Scopes.

Тем не менее этот доклад в какой-то степени стал судьбоносным. После него мне написал руководитель разработки из 2ГИС. Сказал, что ему понравилось моё выступление про типографику, и предложил прийти в офис. Разумеется, я согласился. Больше всего меня впечатлило то, как в 2ГИС устроено менторство. Для каждого разработчика составляется план развития на полгода и всегда можно прийти к ментору с какими-нибудь проблемами или предложениями.

Доклад Романа о типографике востока.

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

Для тестового задания в 2ГИС я придумал несколько вариантов решения, всё расписал в длинном readme, даже собрал небольшую демку. Затем меня пригласили на интервью, которое заняло часа два. Я страшно переживал, что там будут задавать вопросы про тонкости JavaScript, но в итоге спрашивали только самые основы: типа замыканий, всплытий и работы с событиями. Так я прошёл интервью и вуаля, — уже два с половиной года работаю в 2ГИС и сам стал ментором. И что особенно приятно — выступаю с докладами, а полтора года назад и вовсе стал одним из организаторов CodeFest.

Секрет успеха

Первое — полезно иметь перед собой некий пример для подражания. Для меня в выступлениях образцом всегда был Вадим Макеев, каждый доклад которого — кладезь полезной информации. Во фронтенде такой человек — тот самый разработчик, с которым я познакомился по пути на FrontTalks — Тим Чаптыков. Меня поражает, сколько всего он знает и как хорошо разбирается в тонкостях технологий и инструментов. А началось моё увлечение фронтендом с Sorax, который познакомил меня с вёрсткой. Наличие таких людей меня очень мотивировало. Для чего это нужно? Для того чтобы видеть конечную цель и понимать, к чему стремиться.

Второе и, пожалуй, самое важное: соберите себе хорошую базу знаний. Не бойтесь начинать с нуля, с азов и простых книг. Не стесняйтесь идти на базовые курсы по тому, что только начинаете изучать. Никуда не спешите, идите постепенно, маленькими шагами. «JavaScript для детей», игры на Scratch, даже черепашка Лого — это нормально для начала. Интерактивные курсы от Академии дают хорошую базу по веб-разработке, с них смело можно начинать. Не переживайте о том, что какие-то технологии, которые вы изучаете, уже устарели и не используются. Все знания потом обязательно пригодятся.

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

И последнее — совет скорее тем, кто считает, что он уже пришёл к успеху. Как только вам кажется, что вы уже эксперт в чём-то, — попробуйте вернуться в начало и спуститься на уровень ниже. Знаете HTML — отлично! А знаете, как браузер рендерит страницу? А что происходит, когда вбиваешь адрес в браузере? И так далее. Такие вопросы помогут углубить свои знания и вернут на землю. Потому что всегда есть, чему поучиться. И об этом нельзя забывать.