Герой | Работа | В среднем по рынку |
Давид Роганов, 22 года, Саратов
|
Фронтенд-разработчик, создаёт интерфейсы для Яндекс.Практикума |
Фронтенд-разработчик в Саратове: 16 открытых вакансий |
|
|
|
Выпускник Саратовского национального исследовательского государственного университета имени Н.Г. Чернышевского |
Работает в офисе, 5/2. Обычно начинает в 11:00, заканчивает в 19:00 |
В Приволжском федеральном округе 392 вакансии |
|
|
В Москве: 1110 вакансий |
Начал работать программистом с 15 лет |
Работает в Практикуме с февраля 2019 года |
Ср. зарплата по вакансиям 115 179 рублей |
|
|
Данные: hh.ru |
А что если поговорить с настоящими живыми разработчиками и поспрашивать у них, что да как? Давайте попробуем.
Сегодня говорим с Давидом Рогановым, фронтенд-разработчиком из Яндекс.Практикума. Будут вопросы о первых шагах в программировании, конкурсе «Яндекс.Блиц» и ошибках начинающих программистов.
Старт в ИТ
Я заинтересовался программированием в 2010 году, когда учился в школе и получил доступ к интернету — мне стало интересно, как устроены соцсети и как разработать собственную флеш-игру. Я изучил HTML, CSS, JavaScript и теорию сайтостроения. Далее был язык PHP, и после него я решил, что с такими знаниями можно зарабатывать. Поэтому начиная со старшей школы и до второго курса универа я занимался фрилансом.
Большинство моих заказчиков приходили по рекомендации: я брал одного клиента, делал работу, старался продолжить сотрудничество и от него же получить других заказчиков. Первого клиента нашёл через социальные сети — это был житель США, который за 5000 рублей получил сайт для презентации экскурсий по Гранд-Каньону. После ему же я сделал сайт-портфолио и социальную сеть для фотографов — это был первый опыт, после которого начались постоянные заказы.
Яндекс.Блиц
После фриланса я устроился в офис местного ИТ-стартапа и во время работы поучаствовал в конкурсе Яндекс.Блиц. У меня получилось: прошёл отбор, попал на собеседование и получил приглашение в команду Яндекс.Практикума.
Яндекс.Блиц — это соревнования для разработчиков, где можно выиграть денежный приз и пообщаться с рекрутерами Яндекса. Я узнал о конкурсе из соцсетей, записался и решил поучаствовать. Блиц проходил две недели в онлайн-режиме, был квалификационный и финальный раунд, 12 алгоритмических задач и 240 минут на каждый этап.
👉 Прочитайте задачки с Яндекс.Блица.
Я занял 15-е место и в декабре 2018 года поехал в Москву на церемонию награждения: мне выдали сертификат финалиста и пригласили на собеседование. Далее новогодние праздники, и после них я получил предложение — меня приняли в Яндекс.
Это и вся история: в феврале я пакую чемоданы, перебираюсь в Москву и начинаю работать.
Испытательный срок
Поначалу у меня были проблемы с самооценкой, поскольку я считал себя супермедленным разработчиком, который случайно попал в крутую компанию. Наверное, это связано с переживаниями за результат испытательного срока, который длился три месяца и до завершения которого я не мог назвать себя полноценным сотрудником Яндекса.
Было непросто, и я боялся увольнения. Но меня никто не торопил, не критиковал за медлительность и не упрекал в том, что я чего-то не знаю. Я мог подойти к любому коллеге, показать задачу и получить подробные рекомендации по её выполнению — сначала такая открытость настораживала, но сейчас я не представляю, как можно по-другому.
Переломный момент наступил ближе к завершению испытательного срока, когда нужно было поговорить с руководителем. Я осторожно спросил: «Прохожу?». В ответ услышал «Ну, проходи!» — после этого волнение ушло и наступили рабочие будни. Всё как сейчас.
Хочу поблагодарить ребят из группы адаптации, которые помогают новичкам комфортно обустроиться на рабочем месте. Они организовали ознакомительную экскурсию по главному офису Яндекса и помогли проникнуться культурой большой корпорации. Если хотите понять мои ощущения после экскурсии — посмотрите ролик и представьте, что вживую всё ещё ярче:
Критика от наставников
В чистом виде критика у разработчиков встречается редко. Вместо этого есть код-ревью, где твою работу могут прокомментировать и отправить на доработку.
В код-ревью нет ничего страшного: читаешь, исправляешь ошибки или конструктивно отстаиваешь свою точку зрения и оставляешь код в неизменном виде — бывает по-разному.
Главное — не стесняться ошибок и не бояться оказаться неправым. В программировании полезны разные мнения: когда ты говоришь с людьми и смотришь на разные точки зрения, в итоге может получиться лучший продукт.
Рабочий график
Жёсткого рабочего графика в Практикуме и во всём Яндексе нет. Есть примерное время, когда большинство людей работают и находятся на связи — это где-то с 11–12 утра и до 19–21 вечера. Какой рабочий промежуток выбрать — каждая команда определяет индивидуально.
У нас есть обязательная ежедневная встреча в 12:30 по МСК. До и после жёстких рамок нет, и можно самостоятельно планировать встречи, созвоны и время на код.
Если на кону важный запуск или нахлынуло вдохновение, то тогда я больше работаю и могу взять новые задачи. В остальное время действую по графику.
Первый проект в Практикуме
Мой первый проект — стилизовать таблицы в теоретических уроках. До этого была неаккуратная стандартная вёрстка — теперь у таблиц минималистичный стиль, как и во всём Практикуме.
Свежий проект
Недавно занимался глоссарием. Сейчас объясню.
Каждый курс Практикума поделён на теорию и практику. В теоретической части потенциально сложные термины оформлены в виде всплывающих подсказок. Вот это и есть глоссарий.
Раньше глоссарий находился на отдельной странице и с ним было неудобно работать: пользователь видел незнакомый термин, нужно было перейти в другую часть сайта, найти значение и вернуться к уроку.
Когда мы сделали всплывающие подсказки, этот процесс стал проще: новички теперь получают информацию прямо на странице с материалом.
Можно ли выбирать рабочие задачи?
В большинстве случаев задачи можно выбирать, но в этом нет необходимости. В Практикуме есть общий план и заданное количество задач на команду — все задачи важны, полезны для развития и должны закрываться к дедлайну. Поэтому выбирать можно, но лучше об этом не задумываться и работать со всем, что попадётся.
Языки программирования
Больше всего использую JavaScript, для вёрстки необходим HTML и CSS. Если приходится решать задачи по бэкенду, то работаю на Python.
В свободное время иногда экспериментирую с Java и пишу некоторые утилиты на Swift.
Оборудование для работы
Я использую редактор кода WebStorm с невысокими системными требованиями, поэтому мощный компьютер не нужен.
Можно работать и с менее производительной средой разработки и кодить практически на любом ПК. Дополнительно я работаю со смартфоном, который помогает искать информацию и переписываться в мессенджерах — я не люблю, когда пространство на экране занимает что-то кроме кода. Но можно обойтись и без смартфона.
Источники и развитие
Если нужно изучить технологию, я обращаюсь к технической документации, её много ко всем инструментам, которые обычно используют в разработке.
Для саморазвития слежу за телеграмм-каналами For Web и Веб-стандарты. Ещё нравится посещать конференции для разработчиков или смотреть их в записи на ютубе. Например, осенью 2019 года я был в Саратове на бесплатной ИТ-конференции Юкон.
Ещё посещаю HolyJS — это международная конференция для JavaScript-разработчиков, куда Яндекс отправляет сотрудников. Конференция платная, но билеты покупает Яндекс, и это приятный бонус работы в крупных компаниях. Что такое HolyJS и почему это полезно JavaScript-разработчикам:
👉 Посмотрите ютуб-каналы Юкон и HolyJS.
О спорах и разногласиях с дизайнерами
Разработчики интерфейсов должны понимать, что дизайнеры ничего не делают просто для красоты — все действия координируются продуктовыми менеджерами и каждый нарисованный элемент решает какую-то задачу. Например, если на странице нужно поменять фон, то это не дизайнерский каприз, а результат какого-то предварительного исследования. Значит, новый фон поможет больше продавать, задержит пользователя на сайте или выполнит другую полезную задачу. Без причины менять один фон на другой никто не будет. Поэтому у фронтенд-разработчика не может быть претензий к дизайнеру и нет повода для конфликтов.
Дизайн-система
Иногда дизайнеры могут отвлекать фронтендеров от работы какими-то незначительными задачами. Подобная проблема решается через дизайн-систему — это когда участники создают специальные инструменты и правила, которые помогают эффективно работать, не мешая друг другу. В Яндекс.Практикуме этот процесс реализован через плагины сервиса Figma.
Например, мы разработали большой сайт и поставили на каждую страницу красную кнопку. Через какое-то время продуктовый менеджер провёл исследование и дал дизайнеру задание изменить цвет, размер и скругление нашей кнопки.
Без дизайн-системы этот процесс выглядит примерно так: дизайнер рисует новую кнопку → отправляет разработчику и добавляет комментарии продуктового менеджера → разработчик принимает задание и вручную редактирует код на каждой странице сайта. Это долго и требует внимания разработчиков.
С дизайн-системой процесс упрощается: дизайнер рисует новую кнопку → загружает данные в сервис Figma → сохраняет проект → изменения автоматически трансформируются в код и обновляются на каждой странице сайта.
Победа для всех: дизайнер быстро обновился и справился без разработчика.
Куда расти фронтендеру
В моей специальности настолько много направлений, что невозможно изучить все. Я не могу сказать, что идеально знаю JavaScript. Я что-то умею, и иногда это получается хорошо — всегда можно изучить кучу полезных вещей, и есть ещё больше того, чем нужно хотя бы интересоваться. Иначе можно деградировать и стать ненужным.
Скучно ли целый день писать код?
Мне не скучно, но здесь всё сильно зависит от проекта и команды. Поэтому если кому-то не интересно — возьмите новый проект или найдите другую команду.
На каком языке работают успешные программисты?
Успешные программисты не привязываются к языку программирования — они умеют программировать. В каждом языке есть общие концепции и индивидуальный синтаксис, из которого собирается код: есть операторы, циклы, паттерны и прочие элементы. Когда новичок концентрируется на языке программирования, то он может выполнять только те задачи, которые ограничены рамками этого языка.
У опытных разработчиков язык программирования отходит на второй план: они ставят задачу, продумывают алгоритм решения и после этого подбирают нужные языки. Это позволяет выйти за рамки и решить любую задачу, которую можно закодить — примерно так мыслят успешные программисты.
Нужно ли начинающему программисту резюме и портфолио?
Портфолио это хорошо, однако у меня никогда не было сайта со списком выполненных проектов: часть из них запрещено разглашать, а остальные выставлять не хотелось.
Вместо этого я отправлял резюме и в текстовой форме рассказывал о навыках. Для многих компаний этого достаточно, поскольку они не принимают на работу без собеседования — это обязательный этап, на котором проявляется квалификация разработчика. Поэтому если у человека не будет практических знаний, то резюме и портфолио не помогут.
И наоборот: если всё хорошо оформлено и есть нужные знания, то такой кандидат получит больше шансов выиграть место на конкурентную вакансию.
Ошибки новичков
Многие теряют время и медленно прогрессируют из-за проблем с коммуникацией. Нужно не пытаться всё делать самостоятельно, не бояться спрашивать и просить коллег о помощи — программирование многогранно, поэтому не стыдно что-то не знать или не понимать.
Не поздно ли сейчас изучать профессию разработчика? Что насчёт конкуренции и перенасыщенности рынка специалистов?
Думаю, не поздно. Хороших специалистов немного и они всегда будут востребованными. Поэтому если начинающий разработчик будет постоянно практиковаться и увеличивать свою ценность, то не придётся думать о конкуренции.
Можно ли стать разработчиком после 30–40 лет и попасть в Яндекс?
Конечно можно, возрастной барьер существует только в голове. Что касается Яндекса, то здесь нужно смотреть на доступные вакансии и своевременно на них откликаться.
Как попасть на работу в Яндекс:
Финальный блиц
Сколько может зарабатывать программист?
Столько, сколько сам захочет.
Может ли успешный программист знать один язык программирования?
Нет.
Веришь ли в то, что для погружения в профессию нужно написать 10 000 строк кода?
Нет. Профессионализм определяется не количеством строк кода, а умением правильно мыслить. Можно написать и больше, но при этом не уметь решать прикладные задачи.
Что больше всего нравится в профессии?
Я люблю приносить людям пользу и ценность.
Что бы ты выбрал, если бы не фронтенд?
iOS-разработка.
Обязательно ли программисту получать высшее образование?
Нет.
Порекомендуй полезные книги и сервисы?
Можно начать с сайта «Современный учебник JavaScript» и книг издательства.