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

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

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

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

Давид Роганов, 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)
Кто такой сеньор и что он делает (он же senior)

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

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

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

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

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

easy
Как начать программировать на Python
Как начать программировать на Python

Если знаете JavaScript, освоиться в Питоне можно за 15 минут.

easy
Зачем нужен таск-трекер и баг-трекер
Зачем нужен таск-трекер и баг-трекер

С ними проще, но не всегда

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

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

easy
Что такое обратная разработка
Что такое обратная разработка

актобарзар яантарбо еокат отЧ

Красивый алгоритм для перемешивания букв в словах (и не только)
Красивый алгоритм для перемешивания букв в словах (и не только)

Расширенная веб-версия простого проекта

medium
Как работает сортировка слиянием
Как работает сортировка слиянием

Одна из самых стабильных сортировок

medium