Как стать JavaScript разработчиком. План действий для начинающих
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. Умение работать под давлением или в сроки, быть командным игроком или разрешать конфликты.
❌ О чем лучше не писать
- Опыт, который вообще не связан с позицией — не нужно в резюме на фронтенд-разработчика писать о том, как вы работали барменом, официантом и т.д.
- Негатив о предыдущей работе или коллегах — таких кандидатов стараются избегать.
- Не допускайте грамматических ошибок. Если вы сомневаетесь, попросите вычитать резюме редактора/корректора.
Больше о том, как написать хорошее резюме, читайте в этих статьях:
- Как оформить резюме, чтобы конкурировать с лучшими кандидатами. Советы на реальном примере.
- Как помочь работодателю выбрать ваше резюме. Советы тимлида.
- Как Junior-специалисту создать первое резюме. Пошаговая инструкция с пояснениями.
Также следует перед подготовкой к собеседованию обратить внимание на статью «Собеседование с JavaScript. 300+ вопросов для Junior, Middle, Senior».
Работу разработчики советуют искать на Djinni и DOU. На DOU есть раздел «Первая работа» с курсами, стажировками и вакансиями только для начинающих. Также следует создать аккаунт в LinkedIn и добавить в друзья как можно больше разработчиков и рекрутеров. О том, как правильно заполнять LinkedIn-профиль, читайте здесь.
Будьте готовы к отказам и обязательно спрашивайте у интервьюеров, что стоит подтянуть. Также будьте готовы к тому, что о результатах собеседования вам не напишут вообще. Но не огорчайтесь и продолжайте искать работу — верим, что у вас все получится!
11 коментарів
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.