Как стать программистом JavaScript
Как стать JS-разработчиком, что нужно знать и учить, какие перспективы открываются перед JavaScript программистом, рассказывает Lead Software Engineer Александр Габдрафиков.
Чем занимается JavaScript разработчик
— Я в профессии уже более 7 лет, являюсь ведущим Software инженером и занимаюсь разработкой интерфейсов и клиентских приложений в EPAM Anywhere, — рассказывает Александр.
В основном JavaScript разработчик занимается разработкой сайтов и фронтенд-приложений. Тем не менее, JS-разработчик может заниматься разработкой практически всего чего угодно: серверной инфраструктуры, мобильной разработкой, писать софт для работы с 3D-графикой и Machine Learning.
Что нужно знать JavaScript программисту
— На мой взгляд, первое, что стоит изучать, — это основы Computer Science, — считает Александр, — Чтобы быть разработчиком — неважно, на каком языке, — нужно понимать, как работает компьютер в целом: процессор, память, синхронные или асинхронные операции. Это база, без которой никуда.
Также нужно понимать, как работает платформа, с которой вы работаете. Будь то браузер, сервер, мобильная платформа, десктоп и т. д.
Непосредственно JavaScript разработчику нужно знать сам язык JS: его основы, скоупы, замыкания, как работают синхронные и асинхронные операции, event-loop и т. д. Далее набор зависит от направления, в котором вы работаете:
- Если это Front-End, то нужно знать браузерные API, что такое DOM, манипуляции с ним.
- Если используется фреймворк, то нужно хотя бы разобраться, как он работает, его основы.
- Если это Back-End, то нужно понимать, как работает фреймворк, с которым вы взаимодействуете (Node.js, express, nest.js, deno, и т.д). Также для Back-End разработчика нужно уметь работать с остальными компонентами системы, например, базами данных.
Как стать JavaScript разработчиком
— Конечно, иметь образование в сфере IT — это большой плюс, — считает Александр, — В этом случае закрываются базовые вопросы с пониманием Computer science. Но это скорее should have, чем must have. Наличие образования просто ускорит рост специалиста.
В интернете есть очень много ресурсов на всевозможные темы в программировании. Начиная с основ и заканчивая нюансами. Конечно, начинать нужно с основ: пройти Гарвардский курс CS50. Затем приступать к изучению языка:
- Хороший онлайн-учебник с основами JS;
- Книга You Don't Know JS Yet. В ней более глубоко рассматривается то, как работает язык.
Есть огромная онлайн-энциклопедия с большим количеством статей на самые разные темы, начиная с HTML/CSS и заканчивая нюансами работы веб-платформы.
Я всем рекомендую посещать IT-конференции или смотреть записи докладов в YouTube. Много интересного и нового можно узнать там.
Стажировка в IT-компании — хороший вариант быстро вырасти в начинающего разработчика. Но для этого уже нужно иметь какой-то опыт или хотя бы знать основы.
И не нужно забывать про английский язык. Это must have навык. Несмотря на то, что есть много переведенной информации, в основном все новые разработки, которые происходят в мире, — на английском. И чтобы идти в ногу со временем и потреблять новый контент, нужно знать английский хотя бы на уровне чтения.
Сколько занимает обучение
— Сколько времени уходит на обучение? У всех по-разному. Зависит от того, сколько времени уделять этому обучению и какой у вас бекграунд. В целом, чтобы начать решать базовые задачи, требуется полгода-год. Это время нужно, чтобы разобраться с системами, «потрогать» их, попробовать что-то поделать. Но это при условии, что у вас уже есть база.
Конечно, на этом обучение не заканчивается. Работа программистом — это постоянный рост. Индустрия не стоит на месте, разрабатываются новые технологии и подходы к разработке. Нужно идти в ногу со временем.
Перспективы JS Developer
— Из моих предыдущих ответов можно сделать вывод, что JS — это язык широкого назначения. Соответственно, разработчик, который на нем пишет, может заниматься практически чем угодно. Из этого вытекает, что и перспектив — много, — считает Александр.
Хороший разработчик всегда смотрит немного в сторону от того, чем постоянно занимается. Если вы разрабатываете на JS, то полезно посмотреть, как работают другие языки — например, не динамически типизированные: C# или любой другой.
Выводы
— Копайте в глубину и разбирайтесь, как работают вещи, которыми вы пользуетесь, — советует Александр, — Читайте исходный код библиотек, которые используете, тщательно изучайте документацию к ним. Это позволит расширить кругозор, получить насмотренность в решении задач, посмотреть, как работают большие системы под «капотом».