EngX Code Review: начни писать код еще лучше и построй эффективный процесс код-ревью.

время чтения: 4 мин

Как стать JavaScript-разработчиком: игра начинается

Опытный Software Engineer предлагает познакомиться с JavaScript в формате игры — в ней есть 4 ранга, чит-коды для прохождения и нужные аббревиатуры.

Senior Software Engineer Александр Борискин

— Знаете, за что я не люблю большинство руководств, — делится Senior Software Engineer Александр Борискин, — В первую очередь, за избыточную формальность и объяснение элементарных вещей. Я точно не стану в сто первый раз:

  • рассказывать, что такое язык JavaScript;
  • объяснять, почему разработчики на JavaScript пользуются спросом на рынке;
  • жонглировать цифрами и графиками, чтобы кого-то убедить учиться.

— Наверняка многие уже имеют какое-то представление об IT-отрасли в целом, нагуглили или навели справки у знакомых о фронтэнд-разработке, понимают, что такое Java и JavaScript, что бэкэнд и фронтэнд — не одно и то же.

Механика игры

— Формат нашего знакомства с позицией JavaScript-разработчика будет построен в виде игры с присвоением рангов и получением рекомендаций по технологиям, соответствующим этому рангу, — интригует Александр, — В процессе повествования я буду прибегать к некоторым названиям и аббревиатурам, которые неизбежно войдут в профессиональную лексику в будущем. Для удобства они будут выделены жирным шрифтом. 

Ранг 1: Верстальщик

— Связан ли JS-разработчик с версткой сайтов? Еще как связан: HTML и CSS — важные инструменты в профессиональном багаже. С освоения этих технологий стоит начинать свой путь. В процессе изучения нужно осознавать, что чудес не бывает: идеальное расположение кнопок, виджетов и других элементов интерфейса — это результат кропотливой работы и (часто) сверки по пикселям с макетом от дизайнера. В чистом виде профессия верстальщика уже устарела, поэтому такую вакансию на рынке вряд можно найти.

Рекомендации:

  • будет хорошо, если первые проекты на HTML/CSS хранить не локально, в виде исходников, а на Git, предварительно разобравшись с ним;
  • будет просто идеально разобраться с тем, как работает браузер.

Ранг 2: Front-End-разработчик

— Почему же спрос на чистых верстальщиков упал? Потому что стало очевидно, что без знаний JavaScript и DOM создавать крутые сайты, которые все привыкли видеть, попросту невозможно. Благодаря JS и DOM в интерфейсную статику вносится необходимая динамика, дающая возможность пользователю «общаться» с приложением — получать обратную связь на свои действия. Возможно, у староверов-верстальщиков получается добиться волшебства и без знания этих технологий, но к чему производить огонь трением палок, если уже появились зажигалки, верно?

Рекомендации:

  • чтобы не быть «заклеванными» на реальных проектах, настоятельно рекомендую ознакомиться с NPM, методогиями разработки (например, BEM) и паттернами проектирования.

    Ранг 3: Продвинутый Front-End-разработчик

    — Повышаем ставки. Главные принципы, на которых строится развитие человечества, — накопление опыта и желание «не изобретать велосипед». Несложно догадаться, что эти принципы нашли отражение и во фронтэнде: так появились CSS- и JS-фреймворки. Как правило, разработчик выбирает один понравившийся фреймворк, разбирается с принципами его работы, а дальше, при желании, на основании параллелей и схожих моментов приобретает знания и об остальных. Чем-то напоминает изучение новых иностранных языков. Но знания основ технологий, упомянутых ранее, это никак не отменяет.

    Рекомендации:

    • если во время интервью на вопросе про написание тестов не хочешь притворяться «табуреткой», лучше набить руку на Jest, Mocha и других аналогах, не обойдя стороной пирамиду тестирования;
    • в условиях конкуренции любой козырь, например, опыт работы с CI/CD, c WepPack-ом, может оказаться весьма ценным и спровоцировать уважительные взгляды в твою сторону.

    Ранг 4: Full Stack-разработчик

    — Поговорим о верхушке айсберга, — предлагает Александр, — Когда фронтэнд-разработчикам стало тесно в рамках тех технологий, которые уже у них есть, они решили залезть в «песочницу» с Node.js и AWS к бэкэндерам. Начинаешь с основ вроде процессов, потоков, протоколов, модулей, а потом так затянет! Согласно текущей ситуации на рынке, фронтэнд-разработчики со знаниями Node.js и AWS являются фулстэк-разработчиками и очень востребованы.

    Выбери подходящую вакансию

    Чит-коды для прохождения игры

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

    1. Если не дается чтение технической литературы, нужно искать другие более доступные способы получения информации. За свою жизнь я более-менее внимательно прочел только две книги: Дэвида Флэнагана по JavaScript и «Банды четырех» про паттерны проектирования. По моему мнению, learn.javascript.ru более чем достаточно для прохождения собеседования по JS: информации там предостаточно, плюс она постоянно обновляется. Ну и роскошь, которой не было в изобилии в мое время, — большое количество толковых видео-уроков (IT-KAMASUTRA) и подкастов про IT (АйТиБорода), которые помогут получить актуальную и интересную информацию о мире фронтэнда.

    2. Знать английский язык — обязательно. Каким бы технически сильным ни был специалист, без знания английского языка выжить в IT-отрасли будет практически невозможно. Статус языка международных коммуникаций здесь оправдан на сто процентов: все коммуникации с клиентами (от проектных интервью до переписок и общения вживую), вся проектная документация и обучающие материалы будут именно на нем. Поэтому, если уровень владения английским языком недостаточно хорош, нужно решить эту проблему заранее.

      Узнай свой уровень английского

      3. Выбирать формат обучения нужно с учетом своих возможностей и времени. Я постигал фронтэнд самостоятельно и делал это летом, в университетские годы, между третьим и четвертым курсом. Эта схема абсолютно точно не подойдет тем:

      • Чье свободное время занимает, например, другая работа;
      • Кто хочет иметь четкий, структурированный план обучения с дедлайнами и конечным результатом;
      • Кто не уверен в своей самодисциплине, кому контроль процесса достаточно важен.

      Во всех описанных случаях выбор курсов абсолютно логичен и позволяет избежать ненужных рисков.

      4. Если появляются какие-то дополнительные опции — их нужно использовать. Продуктивное взаимодействие с ментором, получение опыта пробных собеседований, посещение конференций и вебинаров, участие в стартапах или open-source проектах — эта лишь малая доля того, что может изменить ситуацию в лучшую сторону и сделать CV еще более убедительным. Чем раньше найти и заполнить свои пробелы, тем быстрее это поможет избавиться от лишнего стресса во время интервью в IT-компаниях.

        — На этом все, game over. Пусть у вас все получится! — желает Александр.

        Материалы по теме