Давид Роганов о работе фронтенд-разработчика в Яндекс.Практикуме

«Успешный программист не привязывается к языку. Он просто умеет программировать»

Давид Роганов о работе фронтенд-разработчика в Яндекс.Практикуме.

ГеройРаботаВ среднем по рынку

Давид Роганов, 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» и книг издательства.

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Кто такой сеньор и что он делает (он же senior)

Программист, который умеет всё.

easy
Задача про секс и математику
Задача про секс и математику

Могут ли логика, математика и статистика привести к созданию новой крепкой семьи?

medium
Как перевезти гопников и философов с одного берега на другой
Как перевезти гопников и философов с одного берега на другой

Олимпиадная задачка для старшеклассников. Но справитесь ли с ней вы?

easy
Как парень из Томска руководит бэкенд-разработкой в Практикуме
Как парень из Томска руководит бэкенд-разработкой в Практикуме

О CTF-турнирах и пути в Яндекс.

easy
Как программисту отличить выгорание от стресса и усталости
Как программисту отличить выгорание от стресса и усталости

Проводим самодиагностику

easy
Что такое замыкание в программировании
Что такое замыкание в программировании

Это когда вкладываешь одну функцию в другую

medium
Всё, что важно знать про современный язык программирования 1C
Всё, что важно знать про современный язык программирования 1С

На нём работает половина автоматизаций в российских компаниях

easy
Программисты из SpaceX отвечают на вопросы про разработку
Программисты из SpaceX отвечают на вопросы про разработку

Переводим для вас популярный тред из Reddit.

easy
Разбираемся с массивами в Python: словари
Разбираемся с массивами в Python: словари

Легко сделать, сложно сломать и невозможно забыть

easy