Итак, вы решили стать фронтендером: практическое руководство для роста начинающего разработчика

от автора

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В заключение

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

ссылка на оригинал статьи http://habrahabr.ru/post/271135/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *