Во фронтенд разработке за последние несколько лет наблюдается огромный скачок развития. JavaScript продолжает увеличивать отрыв от остальных языков как наиболее популярный на Github, а вакансия фронтенд разработчика с каждым годом набирает популярность. И это не удивительно, что c ростом популярности языка мы наблюдаем значительное увеличение числа многообещающих программ изучения фронтенд технологий, учебников, ускоренных курсов и прочего. Такой цикл естественен для любой бурно развивающейся отрасли, и это происходит следующим образом:

  • Существует огромный спрос на фронтенд разработчиков. Компании пытаются найти компетентных людей и они платят большие деньги.
  • Другие компании видят это требование, и создают образовательные ресурсы, чтобы помочь людям в старте карьеры. Они предлагают решения, которые за короткий срок обучат вас веб-разработке, что в итоге приведет к успеху.
  • Такой подход является привлекательным для многих людей. Экспресс курсы и обучающие интернет-ресурсы, продаются как горячие пирожки. Эта сфера быстро стала многомиллиардной долларовой индустрией.


Конечным результатом является огромный «бассейн» слабо обученных кадров. Большинство студентов таких курсов уходят с небольшим портфолио сайта и несколькими демо на javascript. Им не хватает углубленных знаний в отрасли, которые позволили бы им решать реальные задачи, с которыми профессиональные разработчики сталкиваются каждый день.

Целью статьи не является свести преимущества этих учебных курсов к минимуму. Сам я разработчик-самоучка и учился до появления этих курсов, и я уверен, что моя жизнь была бы намного проще, если бы эти ресурсы были доступны для меня, когда я начинал. Они представляют собой отличный способ встать на путь своей карьеры и начать учебный процесс. Тем не менее, они являются только началом карьеры.

Хорошо, а что теперь?




Для тех из вас, кто недавно завершил одну из таких программ, и теперь являются частью постоянно растущего «бассейна» начинающих разработчиков, вы можете спросить себя — что теперь? При таком количестве вариантов для обучения основным навыкам, я хотел бы взглянуть на некоторые последующие шаги по переходу от джуниор разработчика, к трудоспособному среднему уровню.

Ниже приведены несколько вещей, которые помогли мне преодолеть разрыв между первыми днями моего обучения и становлением компетентным и продуктивным разработчиком:

Читайте книги


Чтобы получить глубокое понимание фронтенд языков (JavaScript, CSS и HTML), не достаточно читать обучающие материалы — вы должны читать книги. Еще в самом начале моей обучения, я помню, как читал Javascript Шаблоны без малейшего понятия — зачем они требуются. Но, в процессе обучения, термины в книге начали обретать смысл. Я использовал описанные приемы в качестве эталона, который гарантировал, что я писал код грамотно. Через некоторое время, я был в состоянии полностью понять книгу, и даже мог сформулировать своё мнение по некоторым позициям автора книги.

Для закрепления навыков я бы советовал прочитать еще Красноречивый Javascript, SMACSS и HTML и CSS: Создание и проектирование веб-приложений; но не останавливаться на этом.

Посещайте митапы


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

Открытый исходный код


Это может быть сложной задачей для всех уровней разработчиков, но если вы разрабатываете для веба, я могу почти гарантировать, что вы используете программное обеспечение с открытым исходным кодом. Открытое программное обеспечение — это ПО, которым можно свободно пользоваться, делиться и вносить изменения кем угодно. Так, с чего начать? Подумайте об инструменте, который вы используете — скажем… JQuery или Bootstrap, и начните с поиска задач на Github. Есть что-то, что вы думаете, может быть улучшено? Создайте задачу, или, еще лучше, отправьте свои изменения. Худшее, что может случиться, только то, что ваши изменения могут быть отклонены. Но куда важнее является то, что вы получаете реальные отзывы.

Работа для начинающих разработчиков, стажировка, гибридная роль


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

Другой вариант, когда вы в поисках работы на гибридную роль. Так, одна из моих первых работ в качестве разработчика была веб-продюсер. Которая означала, что иногда мне приходилось добавлять что-то в Wordpress, а иногда я писал и простой новый функционал для существующего сайта. Это было не слишком интересно, но это был наиболее простой способ начать работать в роли полноценного разработчика.

Начните свой проект


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

Первые строки кода, который я написал были результатом участия в конкурсе Startup Weekend с другом, у которого была идея создать приложение employee suggestion box app. Этот процесс был ужасен, но оба мы имели четкое представление о том, что должно делать наше приложение. Поэтому я хардкодил и спешил, до тех пор, пока он не заработал как мы хотели. Это был грязный процесс и, чтобы быть откровенным, исходный код был ужасен, но я узнал очень много нового за короткий отрезок времени. Работа с реальными клиентами была тоже тяжелой, мы должны были управлять их ожиданиями, а с другой стороны, сторонний проект без клиентов, где время безотказной работы не имеет значения. После запуска этого бизнеса через 8 месяцев, я был готов оставить мою первую работу с полным рабочим днем.

Никогда не прекращайте учиться


Я надеюсь, что эти пункты помогут ускорить ваше обучение, но они ни в коем случае не являются целостными или всеохватывающими. Невероятно, но в развитии фронтенд технологий происходят постоянные изменения, поэтому вы никогда не должны прекращать свое обучение. Независимо от того, сколько книг вы прочитали, митапов посетили, или создали проектов, процесс обучения должен продолжаться, если вы хотите, оставаться компетентным разработчиком, обладающим актуальными знаниями.

Есть огромное количество возможностей развиваться и огромное количество людей, борющихся за ту же работу, что ищете вы. Но если вы будете придерживаться всех пунктов, перечисленных здесь, вы обязательно зарекомендуете себя как высококвалифицированный разработчик и добьетесь успеха в своей карьере.

В заключение


Я написал эту статью, т.к сопереживаю молодым разработчикам. Я начинал свою карьеру, работая в киноиндустрии с нулевым опытом разработчика. По своей прихоти, переехал на Тайвань где работал копирайтером. Я уже было начал отходить от веб-разработки до того, как поучаствовал в конкурсе с другом, в качестве ведущего разработчика. После, мне удалось получить несколько контрактов по нашему проекту до получения своей первой роли псевдо-разработчика. Последние несколько лет я работаю в Shopify, где постоянно стараюсь совершенствовать свои знания в моей области. Сейчас занимаю должность ведущего фронтенд разработчика. Я говорю об этом, потому что хочу отметить — мой путь не был таким гладким как это может показаться сейчас. Было несколько лет, когда я чувствовал, что понятия не имел, что делал. Лишь обладая достаточным упорством, я разбирался в вещах, которых не понимал.

Комментарии (13)


  1. shoomyst
    19.11.2015 18:39

    Совет №18958. Прекратите тратить время на чтение подобных статей.
    Надо бы написать какую-нибудь мотивационную статью, ведь я работаю в shopify, а не абы где.
    Всю статью можно сократить до перечисления книг, которые предлагается прочитать.


    1. greybax
      19.11.2015 18:45

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


      1. shoomyst
        19.11.2015 19:11

        Да, я понял, что это перевод, и своем «гневном» комментарии именно про автора статьи и писал, а не про вас


    1. greybax
      19.11.2015 19:02

      Всю статью можно сократить до перечисления книг, которые предлагается прочитать.

      Автор статьи призывает не только читать книги


      1. shoomyst
        19.11.2015 19:20

        Да, но всё остальное просто вода. Ну либо я уже просто стар для всего этого ****** (с)
        Таких статей сотни уже было написано. Но на западе конечно любят такое, поэтому строчат подобное каждый день, а в комментах все рукоплещут :)


    1. SelenIT2
      20.11.2015 14:35

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


      1. shoomyst
        20.11.2015 15:13

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


  1. artemmalko
    19.11.2015 21:30

    Странно, что в оригинальной статье ни слова про codecademy и т.п. ресурсах. По идее, основы там можно как раз подчерпнуть, да еще и интерактивно все.


    1. greybax
      19.11.2015 22:03

      Насколько я понял автор старался подчеркнуть в своей статье значимость альтернативных источников получения информации отличных от обучающих программ, экспресс курсов и прочих интернет ресурсов.


  1. psywalker
    20.11.2015 22:00

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


  1. wanhelsing
    21.11.2015 22:50

    Не понятно почему именно фронтэндером. Подобные советы применимы к любой отрасли.


    1. gatilin222
      22.11.2015 17:58

      Потому что если это будет общая статья, её мало кто прочитает, а тут типа про фронтенд)


      1. 776166
        24.11.2015 15:36

        Значит надо скопипастить для простого программирования, системного администрирвоания и тестирования. А то эти люди останутся не у дел.