Как стать JavaScript разработчиком. План действий для начинающих

💡 Усі статті, обговорення, новини про Front-end — в одному місці. Приєднуйтесь до Front-end спільноти!

JavaScript — самый популярный язык программирования среди украинских разработчиков. А вопрос о том, как войти в ИТ, не теряет актуальности, поэтому мы запускаем рубрику для начинающих «Код профессии» о том, как выучить язык программирования и найти первую работу. Для этой статьи мы пообщались с опытными JavaScript-разработчиками Владом Балабашом (AB Soft), Андреем Шумадой (WalkMe), Иваном Кивацким (Svitla Systems ), Андреем Кладочным (Rolique) и Максимом Рудным (Fiverr) и собрали их советы в один материал.

Что такое JavaScript

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

Язык веб-программирования JavaScript используется преимущественно во Front-end разработке, однако благодаря платформе Node.js на нем можно писать и Back-end. JavaScript позволяет создавать приложения и сайты. Кроме того, он выходит за пределы браузера и применяется для написания мобильных и десктопных приложений, веб-серверов и т.д. JavaScript считают подходящим для начинающих, поскольку он имеет относительно простые программные инструкции и для запуска первой строки кода требуется только браузер.

Согласно последнему рейтингу языков программирования, JavaScript остается самым популярным языком среди украинских программистов всех уровней.

Кроме того, JavaScript стоит на втором месте в рейтинге языков, которые респонденты выбирали как первый для изучения.

По этой ссылке можно посмотреть средние зарплаты JavaScript-разработчиков с разным опытом. На момент публикации медиа зарплата JavaScript-разработчика — $2500. Зарплата Trainee: $300 — $500. Зарплата Junior: $650 — $1200. А здесь просмотреть открытые вакансии в категории Front-end. На момент публикации статьи открыта 451 вакансия.

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

Какие технологии следует изучить в рамках JavaScript

Прежде всего, нужно определиться с направлением — Back-end или Front-end разработка. Если человек только начинает изучать программирование и JS — это его первый опыт, то разработчики советуют выбрать Front-end. Так новичок за меньшее количество инвестированного времени сможет быстрее увидеть результат и понять, нравится ли ему вообще веб-разработка.

Для этого, кроме знаний самого JS, нужно изучить HTML (язык разметки), CSS (формальный язык описания внешнего вида документа, написанного с помощью HTML), инструменты браузера.

В большинстве современных проектов используется один из фронтенд-фреймворков или библиотек (React/Angular/Vue). Однако, прежде чем переходить к фреймворкам, следует хорошо научиться писать код с помощью чистого JavaScript (Vanilla JS). Имея основательные базовые знания, разобраться с любым JS-инструментом будет проще.

Освоив JS, HTML и CSS, вы сможете создавать собственные проекты. Их нужно хранить не у себя на компьютере, а в удаленном репозитории. Здесь на помощь придет система контроля версий Git. Ее осваивают все начинающие свой путь в программировании. Также необходимо базовое понимание GitHub.

Что касается Front-end направления, то вам также понадобится знание и понимание DOM-модели страницы, методы манипулирования DOM.

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

Если у вас был опыт других языков, например, PHP, Python, Ruby, то, вероятно, вы выберете Back-end направление JavaScript. В таком случае необходимо научиться работать с Node.js, знать принципы построения Web API.

Другими технологиями, которые нужно овладеть, будут Express (фреймворк для Node.js), MongoDB (популярная документоориентированная база данных). Если будут силы на что-то большее, разработчики советуют также PostgreSQL (объектно-реляционная система управления базами данных) и Docker (контейнеризатор приложений).

В качестве ориентиров можно использовать следующие «дорожные карты»: Front-end и Back-end.

Как лучше учить JS — на курсах или самостоятельно

Этот вопрос индивидуален и ответ зависит от возможностей, времени, желания и других факторов.

Можно выучить язык самостоятельно, на курсах или во время стажировки в компании. Один из вариантов — изучить основы самостоятельно, а затем пойти на бесплатные курсы с отбором (т.е. на такие, куда берут уже с базовыми знаниями). Они дадут вам представление об экосистеме и расширят кругозор в JS, подскажут, куда двигаться дальше. Кроме того, после завершения таких бесплатных курсов лучшим учащимся предлагают стажировку/работу в проводящей компании.

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

Самостоятельная учеба

Преимущества:

  • Материалов в интернете достаточно много, и есть большой выбор доступных и качественных гайдов.
  • Это бесплатно или дешево (по стоимости книги или подписки на определенный ресурс).
  • Скорость и темп обучения вы контролируете сами, можете заниматься, когда вам удобно, и не подстраиваться под кого-то.
  • Если у вас уже есть опыт в разработке, сможете потратить меньше времени на изучение JS, чем если бы пошли на курсы, продолжающиеся полгода — год.
  • Можно самостоятельно выбрать формат потребления информации — видео или текстом.

Важно! Разработчики советуют найти ментора, если вы выбрали путь самостоятельного изучения языка. Поскольку на определенном этапе вы можете попасть в тупик и не найти решения. Кроме того, иногда самому трудно увидеть свои ошибки, а ментор подскажет, как сделать код более чистым и качественным, объяснит особенности его написания на примере каждой отдельной ситуации.

Недостатки:

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

Курсы

Преимущества:

  • Вы находитесь в коллективе людей, которые изучают то же самое, могут поделиться знаниями и опытом, помочь избежать блокеров или проблем.
  • У вас есть преподаватель или ментор, который может ответить на ваши вопросы.
  • Вы попадаете в окружение мотивированных людей, это позволяет поддерживать надлежащий уровень вдохновения.
  • График занятий на курсе не даст вам «забить» на обучение.
  • Если курсы проводит IT-компания, есть большие шансы, что вас научат именно тому, что нужно этой компании, и вы сможете претендовать на стажировку или должность в ней.

Однако разработчики советуют серьезно отнестись к выбору курсов: читать отзывы, расспросить тех, кто там учился, узнать достижения учеников, узнать больше о будущем преподавателе. Больше информации о том, какие в Украине есть IT-курсы и как их выбрать, вы можете найти на DOU по тегу «курсы». Советуем обратить внимание на статью «Инструкция по выбору IT-курсов для начинающих».

Недостатки:

  • Курсы — это дорого. Длительные курсы могут стоить как семестр обучения в престижном университете, а такие деньги есть не у всех.
  • Если вы недостаточно мотивированы, учиться будет трудно, а отстав от остальных, есть большой шанс все бросить.
  • Курсы не гарантируют трудоустройства и карьеры (самостоятельное обучение тоже не гарантирует, но вы хотя бы не платите за это деньги).
  • Курсы могут длиться около года.
  • На обучение нужно будет находить время и подстраиваться под график.
  • Чтобы попасть на бесплатные курсы при IT-компаниях, нужно иметь базовые знания и часто хорошее владение английским.

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

Полезные ресурсы для изучения JavaScript

«Javascript для детей», Морган Ник. Книга, с которой можно начать, если нет опыта в программировании.

«JavaScript: The Definitive Guide 7th Edition», David Flanagan. Книга подходит для тех, у кого уже есть базовый опыт. Важно выполнять задачи после тем на ресурсах и пробовать запускать примеры не на сайте, а переписать их руками — чем больше конструкций кода вы напишете, тем быстрее их поймете.

«JavaScript: The Good Parts», Douglas Crockford. Книга рассказывает о том, как использовать JavaScript наиболее эффективно, устраняя недостатки языка.

«Eloquent JavaScript», Marijn Haverbeke. Книга с качественным объяснением тем и множеством примеров к каждой из них. Хорошо подойдет для начинающих.

«You Don’t Know JS», ​​Kyle Simpson. Для тех, кто хочет ориентироваться в мельчайших деталях языка.

«Функциональное программирование на JavaScript», Луис Атенсио. Это более сложный уровень, но автор успешно раскрывает некоторые аспекты разработки на JS и дает ответы на фундаментальные вопросы относительно функционального программирования.

MDN. Так называемая Библия JavaScript.

FreeCodeCamp. Англоязычный сайт, есть разделы и для начинающих, и для более опытных кодеров.

Канал Maksym Rudnyi на YouTube. Автор делится своим опытом и обучает JS на украинском языке.

Руководство от Mozilla Developer Network.

Полезные статьи на DOU

Что нужно учить, чтобы стать веб-разработчиком.

Советы сеньоров: как прокачать знания junior Front-end/JavaScript.

Front-end Developer: кто он и сколько зарабатывает. Аналитика DOU.

Пошаговое руководство: от Intermediate к Senior Engineer в JavaScript.

Для чего Back-end разработчику учить JavaScript.

Статьи рубрики «Front-end дайджест».

Почему JavaScript — перспективный язык программирования? Советы начинающим.

Обзор фреймворков JavaScript. Что, для чего и когда использовать.

Как искать первую работу в JavaScript

Поскольку вы только изучаете JavaScript, то у вас еще нет нескольких лет опыта коммерческой разработки веб-приложений, которые можно добавить в резюме. Кроме того, из-за высокой конкуренции начинающим сейчас достаточно сложно найти первую работу.

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

Также тренируйтесь решать задачки и будьте готовы это делать во время интервью. Не отказывайтесь выполнять тестовое задание. Сейчас есть множество сервисов, где можно потренироваться. Например: LeetCode, Codewars, HackerRank.

Подтяните свой английский. В реалиях украинского ИТ-рынка хороший английский значительно увеличивает шансы найти работу.

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

✅ Что следует указать в резюме

  • Должность, на которую вы претендуете.
  • Список технологий, которыми владеете, можете применять и готовы по ним отвечать на вопросы.
  • Стажировка, если где-то проходили. Опишите, что там делали, какие были задачи и чего добились.
  • Курсы и обучение, образование. Оно не гарантирует ваших знаний, но показывает рекрутеру, что вы хотя бы ориентируетесь в области.
  • Практика и опыт — укажите проекты, которые вы создавали для себя, своих знакомых или на фрилансе. Залейте свой код в публичный репозиторий GitHub.
  • Английский язык — его знания на старте карьеры могут компенсировать пробелы в знаниях JS.
  • Soft skills. Умение работать под давлением или в сроки, быть командным игроком или разрешать конфликты.

❌ О чем лучше не писать

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

Больше о том, как написать хорошее резюме, читайте в этих статьях:

Также следует перед подготовкой к собеседованию обратить внимание на статью «Собеседование с JavaScript. 300+ вопросов для Junior, Middle, Senior».

Работу разработчики советуют искать на Djinni и DOU. На DOU есть раздел «Первая работа» с курсами, стажировками и вакансиями только для начинающих. Также следует создать аккаунт в LinkedIn и добавить в друзья как можно больше разработчиков и рекрутеров. О том, как правильно заполнять LinkedIn-профиль, читайте здесь.

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

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

👍ПодобаєтьсяСподобалось30
До обраногоВ обраному31
LinkedIn

11 коментарів

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.
JavaScript — найпопулярніша мова програмування серед українських розробників.

Якщо говорити чесно, то вона найпопулярніша серед фронтенд розробників. Хоча зараз дедалі більше переходять на TypeScript.
Серед бекенд розробників вибір інший — Java, Python, C#.

Первым языком надо выучить English!

Ну а дальше можно и JavaScript :)

P.S. Усьо буде JavaScript!

ІМХО, наразі найкращим підручним по JS для початківців є learn.javascript.ru. безкоштовний, з купою задач та дуже добре покриває базові теми.

«JS для дітей», судячи зі змісту, дуже поверхнева.
«Дефінітів гайд» дуже великий та занадто розжований. З мінімумом практики. Початківець здується на першій половині книги.
«YDKJS» — гарна штука, але для тих, хто вже знає джс та хоче залатати діри в своєму розумінні мови.

погоджуюсь, що книги варто читати уже коли є «база». Для закріплення цієї «бази» і осмислення певних тонкощів JS. А learn.javascript краще читати англійською :) javascript.info

агнломовні джерела завжди краще.

але, нажаль, за моїм досвідом з викладання на курсах JS, лиш мала частина студентів знає англ на комфортному для цього рівні :С

так куди вони пруться

читати технічні доки та пройти співбесіду на трейні можна і з Pre-Intermediate. а от засвоювати незвичну та нову інфу з таким рівнем значно складніше.

тож пруться якнайшвидше знайти роботу, шоб після цього одразу бігти на курси англійської :)

+1, хоч і російський ресурс, але інформація там фундаментальна. ІМХО, найкраще, що є по JS.

Але саме для новачків я би порадив MDN developer.mozilla.org/...​en-US/docs/Web/JavaScript інформація набагато легше читається. Далі вже читати щось типу You Don’t Know JS. Після цього можна перевірити свої знання github.com/...​llie/javascript-questions в тих темах де є прогалини читати більш детально на вищезгаданому ресурсі.

Підписатись на коментарі