Какие знания и навыки нужны junior front-end разработчику и где их получить
Вакансии в IT всегда выглядят заманчиво благодаря сравнительно высокой заработной плате и привлекательным условиям трудоустройства. Одна из наиболее часто встречаемых должностей, на которую ищут претендентов, — front-end разработчик.
Если вы хотите попробовать собственные силы в разработке, учтите, что перспективные вакансии привлекают не только вас. Важно приложить максимум усилий, чтобы именно вашу кандидатуру выбрал будущий работодатель. Но помните: нет ничего невозможного.
Три года назад я сам только начинал осваивать front-end, а требования во всех вакансиях отличались настолько, что казалось, будто компании ищут совершенно разных специалистов. Я не знал, с чего нужно начинать обучение и какие навыки наиболее важны, а потому хватался за все подряд.
Сейчас я успел освоиться в профессии и научился структурировать свое обучение. А потому решил поделиться знаниями, которые, возможно, помогут вам рациональнее использовать время и усилия при обучении. Хочу рассказать об основных умениях, которыми должен обладать Джун, чтобы повысить шансы на трудоустройство.
Все навыки специалиста разделяют на следующие две категории:
- Технические навыки или хард скиллы — это знания в разработке, без которых вы попросту не сможете выполнять задачи. Именно они задают порог вхождения в профессию. Техническими навыками работодатели интересуются в первую очередь.
- Софт скиллы — это ваши дополнительные качества как сотрудника и специалиста. На них также обращают внимания при собеседованиях. Более того, для начинающих разработчиков часто именно софт скиллы играют решающую роль при приеме на работу, ведь работодатели часто заинтересованы в том, чтобы вырастить молодого специалиста в собственном штате.
Конечно, для каждой компании требуется собственный уникальный набор навыков. Потому я постарался включить в перечень наиболее важные и полезные умения, которые помогут вам как при трудоустройстве, так и в самой работе.
Хард скиллы для начинающего front-end разработчика
Знание HTML (HTML5)
Для фронтенда и верстки язык гипертекстовой разметки HTML — это база. Умение работать с ним — один из наиболее важных навыков, которые требуются молодому специалисту в работе и для понимания других технологий.
Дополнительное внимание при обучении уделите следующим пунктам:
- адаптивная верстка — позволяет создавать универсальные интерфейсы, которые подстраиваются под разрешение экрана пользовательского устройства — смартфона, ПК или планшета;
- семантическая верстка — важна для предварительной поисковой оптимизации ресурсов на этапе разработки.
Владение этими навыками обеспечит вам дополнительное преимущество при трудоустройстве.
Наверное, наиболее ценный источник информации для программистов в рунете — это habr.com. На нем вы сможете найти полезные и понятные для новичка материалы об HTML, а также обо всех технологиях, которые перечислены в этой статье дальше.
CSS
Умение работать с каскадными таблицами стилей также относится к must have. Многие считают, что этот инструмент больше для верстальщика, чем для разработчика но все же умение работать с ним дает важные базовые знания.
При изучении CSS важно освоить:
- кросс-браузерную верстку;
- свойство float или работу с flexbox для позиционирования элементов;
- инструменты в панели xbox;
- методы очистки потока;
- управление видимостью элементов — overflow, display, visibility;
- CSS grid layout;
- принципы работы специфичности селекторов;
- верстку для мобильных устройств.
Дополнительно стоит изучить основные принципы mobile-first, которые понадобятся для создания современных интерфейсов с упором на удобство для мобильных устройств.
Навыки работы с JavaScript
Изучение JS позволяет сформировать надежную базу для дальнейшей работы с фреймворками. Кроме того, знания этого языка программирования помогут решать сложные задачи в верстке, а также быстро локализовать и находить проблемные участки в коде.
Вам потребуется освоить:
- переменные;
- типы данных;
- операторы;
- циклы;
- функции;
- преобразование типов;
- контекст (this).
Кроме того, следует дополнительно ознакомиться с итераторами и генераторами в JavaScript. На этом ресурсе learn.javascript отлично структурированная библиотека с информацией по JS, которая поможет сформировать твердую базу знаний.
Владение React, Angular, Vue
Во многих компаниях задачи front-end разработчика сводятся именно к работе с библиотеками и фреймворками. Это важный навык, который точно понадобится для разработки интерфейсов.
Но не стоит ограничиваться только этим, ведь довольно сложно найти компанию, где вы будете выполнять настолько узкий спектр задач. Более того, без освоения остальных технологий из этого списка, которые дают базовые знания, будет трудно стать хорошим специалистом во front-end.
При обучении этим технологиям мне не удалось найти что-то лучшее, чем официальная документация:
- https://ru.reactjs.org;
- https://angular.io;
- https://vuejs.org.
Препроцессоры
Это очень полезные инструменты для работы с CSS, фреймворками и библиотеками, которые позволяют использовать высокие уровни абстракции. С их помощью вы можете автоматизировать значительную часть работы, генерируя готовый код.
Ссылки на полезные материалы о препроцессорах в CSS:
Софт скиллы и другие полезные навыки

Умение гуглить
Это не шутка. В ходе рабочего процесса вам постоянно придется искать решение различных проблем и задач, с которыми вы раньше не сталкивались. Google станет для вас незаменимым помощником и наставником. Потому очень важно уметь сформулировать поисковый запрос таким образом, чтобы в результатах поиска получить максимум полезной информации.
В этом очень поможет знание основных операторов поиска, а именно:
- Запрос в кавычках (“. ”) — искать фразу в прямом вхождении. Это значит, что поисковик будет в первую очередь выдавать вам те результаты, которые максимально приближены к указанному запросу.
- Оператор “или” (OR) — помогает искать материалы, где указано хотя бы одно из слов, разделенных оператором.
- Минус (-) — исключает из результатов поиска слова, которые стоят после данного оператора.
- Поиск с учетом неизвестного слова (. *. ) — этот оператор ставится на месте пропущенного слова в запросе (если вы «забыли, что забыли»). В результате поисковик ищет только страницы, где указанные части запроса разделены каким-то другим словом.
Есть еще множество операторов поиска, но они больше полезны для оптимизаторов и вебмастеров.
Знание английского языка
Основная часть технической информации представлена на английском. Чтобы найти ее и расшифровать, вам понадобится базовое знание этого языка. Это даже не дополнительное преимущество, а необходимый для работы навык.
Конечно, уметь свободно разговаривать на уровне носителя языка — вовсе не обязательно. Вам достаточно просто понимать техническую документацию. Освоить даже специфические термины вам будет несложно, так как вы постоянно будете использовать их в работе.
Коммуникабельность
Общение — один из наиболее важных этапов рабочего процесса при разработке. Необходимо постоянно работать над собственной коммуникабельностью чтобы:
- хорошо показать себя на собеседовании;
- лучше понимать коллег и уметь донести собственную точку зрения;
- быстро и понятно объяснять клиенту или менеджеру сложные технические моменты проекта.
Конечно, больше о работе над собственной коммуникабельностью может рассказать психолог или менеджер по адаптации, но для себя я выделил несколько основных правил:
- Ставить себя на место собеседника — важно учитывать уровень знаний, цели и мотивы человека при разговоре.
- Вовремя просить о помощи и чаще предлагать ее — лучше заранее попросить более опытного коллегу помочь, чем тянуть до последнего, сорвать дедлайн и подставить всю команду.
- Чаще общаться с командой в нерабочее время — чем больше вы общаетесь, тем лучше учитесь понимать своих коллег.
- Учиться говорить проще — следует постоянно стараться подбирать наименее сложные формулировки, чтобы избежать недопонимания, а щеголять «заумными» фразами лучше в нерабочее время.
- Ценить время коллег при переписке — лучше одним длинным сообщением описать проблему, чем отправить в мессенджере «привет», а уже после этого несколько минут пытаться сформулировать свою мысль.
От качества общения напрямую зависят ваши отношения с коллегами и руководством. Сплоченный коллектив намного продуктивнее, а главное, работать в нем куда приятнее.
В заключение
Еще один скилл, который стоит выделить отдельно, — это умение не пасовать перед трудностями. Множество желающих стать разработчиками так и не решились отправить свое резюме на работу мечты — побоялись отказа, не захотели рисковать своим текущим местом на работе или просто поленились освоить нужные умения. Не станьте одними из них!
Frontend-разработчик: навыки, зарплата, обучение
Чем занимается? Frontend-разработчик – специалист, благодаря которому мы видим сайты, приложения, сервисы такими, какие они есть. То есть он отвечает за интерфейс, делая его удобным для пользователей, понятным и эффективным.
Как им стать? Порог входа в профессию средний, а востребованность большая. Есть много открытых вакансий в крупных компаниях в России и за рубежом. Стать frontend-разработчиком можно, окончив вуз или онлайн-курсы. Также возможно самостоятельное обучение по книгам и видео. Главное – знать, с чего начать.
В статье рассказывается:
- Кто такой frontend-разработчик
- Отличия frontend-разработчика от backend
- Отличия от верстальщика
- Что должен знать frontend-разработчик
- Софт-скиллы
- Где работает frontend-разработчик
- Сколько зарабатывает frontend-разработчик в России и за рубежом
- Карьерный рост frontend-разработчика
- 3 варианта как стать frontend-разработчиком
- Советы по самостоятельному обучению с нуля
- Что почитать по теме
- Преимущества и недостатки профессии
- Часто задаваемые вопросы про frontend-разработчика
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.
Бесплатно от Geekbrains
Кто такой frontend-разработчик
Среди профессий, связанных с программированием, frontend-разработчик — специалист, отвечающий за внешний вид сайта или приложения, который отображается в браузере. Он разрабатывает интерфейс и делает его понятным и удобным в использовании. То есть зона его ответственности – корректная работа меню, фильтров, кнопок, анимации, галерей, интерактивов, рекламных блоков и других составляющих веб-ресурса.
Именно от результатов frontend-разработчика зависит эффективность SEO-продвижения сайтов и то, насколько они станут популярными среди целевой аудитории. Этот специалист занимается вёрсткой и реализацией функционала, именно это оказывает влияние на удобство и привлекательность ресурса.
В обязанности frontend-разработчика может включаться и разработка первичной структуры сайта. В этом случае результатом становится ресурс, удобный в использовании, обладающий интуитивно понятным интерфейсом и ярко оформленный, именно такой, какой сможет стать востребованным у пользователей.
Что же входит в круг обязанностей данного специалиста? Все они связаны с созданием интерфейса, который будет нормально функционировать и вызывать положительную оценку потребителей. Что делает frontend-разработчик:
- работает с дизайн-макетами, HTML и CSS;
- верстает сайты и шаблоны под CMS;
- работает со скриптами для визуализации и анимации и оптимизирует их;
- настраивает все блоки страниц (кнопки, галереи и другие составляющие сайта или приложения);
- проверяет и тестирует функционал, устраняет недочёты, автоматизирует проект.
Используя макеты, полученные от веб-дизайнера, необходимо создать основу веб-ресурса, продумать и реализовать его оформление, отладить программный код, убрать баги и добиться автоматизации. Всё это – работа frontend-разработчика. Созданный сайт или приложение должны соответствовать задумке, достойно выглядеть и работать в любом браузере. Чтобы соответствовать профессии, frontend-разработчик должен быть знаком с вёрсткой и веб-дизайном.
Отличия frontend-разработчика от backend
Разработка включает серверную и клиентскую часть. Если за клиентское направление отвечает frontend, backend-разработчик занимается серверной стороной. Вот основные различия между этими специалистами.
| Специальность | Frontend-разработчика | Backend-разработчик |
| Выполнение задач | Создание внешней части сайта, куда входят макет страницы, кнопки, поля и другие элементы интерфейса, с которыми имеет дело пользователь | Программирование внутренних процессов, архитектуры, логики, хранения и передачи данных, то есть серверной составляющей сайта |
| Какие языки программирования использует | Javascript | Python, PHP, Java, C++, Go и другие |
| Необходимый уровень профессиональных навыков | Средний | Высокий |
| Продукт, создаваемый разработчиком | Сайт, интернет-магазин, маркетплейс, мобильное приложение, веб-приложение | Сайт, интернет-магазин, веб-сервис, мобильное приложение, компьютерная программа, нейросеть |
Отличия от верстальщика
Страница считается свёрстанной, когда задана её структура и имеется описание стилей. Этим занимается верстальщик, который также может выполнять некоторые действия с JavaScript, например, подключать плагины и скрипты, которые оживляют неподвижные страницы.
Если проект небольшой, один человек может выполнять обязанности frontend-разработчика и верстальщика.
Чем сложнее становится функционал сайтов и приложений, тем чаще разметка и наполнение страниц требуют динамической генерации. Язык программирования, который использует frontend-разработчик – JavaScript, при этом страница наполняется данными, полученными с сервера. Если все задачи выполняются с помощью JavaScript или библиотек, сайт работает медленнее, а структура кода слишком усложняется, и он становится объёмным, что затрудняет выполнение профессионалами их действий.
Узнай, какие ИТ — профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов
Исполнительный директор Geekbrains
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!
Скачивайте и используйте уже сегодня:

Павел Симонов
Исполнительный директор Geekbrains
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка
Только проверенные нейросети с доступом из России и свободным использованием
ТОП-100 площадок для поиска работы от GeekBrains
Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽
Получить подборку бесплатно
Уже скачали 24090
Когда необходимо создать сложное веб-приложение, понадобятся более мощные инструменты, а работу целесообразно поручить узким специалистам. Поэтому функции верстальщика выполняет отдельный человек, а frontend-разработчик – это тот, кто отвечает только за программирование и использует именно те инструменты, которые наилучшим образом помогают решить задачу.
Что должен знать frontend-разработчик
Этих специалистов условно разделяют на две категории:
- Core frontend developers. Присутствуют профессиональное владение JavaScript, навыки создания новых функций на сайте, при этом дизайн отходит на второй план.
- UX/UI frontend developers.Первостепенное внимание уделяется удобству и привлекательности интерфейса, но бизнес-логика на невысоком уровне.
В любом случае существуют вещи, которые обязан знать и уметь frontend-разработчик. Что это за знания и навыки:
- знание ряда языков программирования (HTML, CSS, JavaScript, желательно и PHP);
- обладание базой по структурам данных, операционным системам и алгоритмам;
- работа с препроцессорами и сборщиками (LESS, SASS, GRUNT, GULP, Stylus);
- владение методологией адаптивной, отзывчивой вёрстки, включая кроссбраузерную и кроссплатформенную;
- мобильная разработка;
- использование веб-шрифтов;
- умение использовать библиотеки и фреймворки (jQuery, Bootstrap, Angular, React, Vue, Backbone и т.д.);
- владение системами Git, GitHub, CVS и т. д.;
- понимание адаптивного дизайна на базовом уровне;
- использование распространённых систем создания и управления сайтом, например, WordPress, Drupal, Joomla и др. и вариантов плагинов к ним;
- владение графическими редакторами (Photoshop и другие);
- использование шаблонизаторов, систем сборки и бандлеров;
- владение английским языком на уровне не ниже Intermediate для чтения спецификаций;
- UI/UX-дизайн;
- знание основ SEO-оптимизации.
На более продвинутом уровне понадобится знание методологий OOCSS / BEM / SMACSS, языка Python, умение работать с моделями DOM, API, AJAX и CORS. Нужно будет понимать языки разметки SVG, HTML5 API, ECMAScript 6, уметь пользоваться инструментами устранения багов, например, Chrome Dev Tools и Firebug, базами данных и системами управления MongoDB, SQL, MySql и т.д.
Если брать основы – необходимо знание HTML, CSS и JavaScript. Какие нужно изучить дополнительные вопросы, frontend-разработчик определяет в зависимости от выбранной ниши.
Что необходимо для разных уровней:
- Frontend-разработчик стажердолжен знать JavaScript, HTML, CSS, Typescript и React.js.
- Для уровня джуниор предполагается дополнительно Redux, БЭМ, Git, СУБД и адаптивная вёрстка.
- Добавив Vue.js и кроссбраузерную верстку, выходим на уровень frontend-разработчик middle.
- Сеньору нужно добавить к вышеперечисленным знаниям Angular, Ruby on Rails и управление разработками.
- Наконец, лид, или ведущий специалист, кроме этого, должен владеть основами управления персоналом и проектированием архитектуры ресурсов и приложений.
Софт-скиллы
- Навыки планирования. Необходимо уметь правильно рассчитывать время, нужное для выполнения каждой задачи. Соблюдение сроков работы важно для командного результата.
- Умение общаться. Даже при работе из дома важно обладать навыками коммуникации. Это нужно для того, чтобы взаимодействовать с заказчиком, обмениваться опытом с коллегами, представить свою идею, ответить на предложение или критику. Важно уметь доступно и грамотно выражать мысли и соблюдать деловой этикет в личном общении и переписке.
- Проактивность. Это качество наиболее важно для начинающих. Frontend-разработчик без опытадолжен стремиться к общению со знающими специалистами, получать ответы на вопросы, просить помощи в непонятных случаях, высказывать появившиеся идеи и не бояться сложных задач.
Читайте также
Где работает frontend-разработчик
Понимая, какими навыками обладает frontend-разработчик, кто это, и что делает, можно определить сферу трудоустройства этого специалиста. Это те организации, которые связаны с созданием сайтов, приложений и других программ, требующих интерфейса.
Язык JavaScript, который является основным для данного специалиста, используется также, чтобы создавать десктопные приложения (это могут быть офисные пакеты Microsoft и OpenOffice или приложения Adobe), и программировать оборудование (например, платёжные терминалы) и бытовую технику (телевизионные приставки и т. п.).
Где можно найти работу? Кроме студий веб-разработки, в которых может трудиться junior frontend-разработчик, вакансии могут предлагаться:
- IT-департаментами компаний.Сервисы сотовых операторов, банков, маркетплейсов, социальных сетей постоянно совершенствуются. Многие из них сами становятся примерами передовой frontend-разработки. Можно работать в самой организации или в агентстве, занимающемся аутсорс-разработками.
- Компаниями, которым требуется разработчик корпоративного софта. Специалисту нужно будет заниматься сервисами управления проектами, CRM и прочими веб-приложениями для бизнеса. Программное обеспечение такого плана может иметь сложный интерфейс и требовать систематической поддержки.
- Государственными сервисами. Развитие и совершенствование таких систем, как «Госуслуги», «Налог.ру», городские информационные порталы, требуют работы специалиста, чтобы сохранять удобство для пользователей.
Сколько зарабатывает frontend-разработчик в России и за рубежом
Какую сумму может зарабатывать frontend-разработчик? Средняя зарплата в 2023 году, согласно информации, полученной с сайтов с вакансиями – 80 655 рублей.
Для вас подарок! В свободном доступе до 26.11 —>
Скачайте ТОП-10
бесплатных нейросетей
для программирования
Помогут писать код быстрее на 25%
Чтобы получить подарок, заполните информацию в открывшемся окне
От каких условий зависит заработок?
- Уровень профессиональных навыков и опыт. Если junior будет получать оклад от 40 тысяч рублей, то senior может рассчитывать на 350 тысяч рублей. Также имеет значение, какими технологиями владеет разработчик: React и Angular пользуются большей популярностью по сравнению с jQuery и Backbone.
- Место работы. Мегаполис предлагает большие зарплаты по сравнению с регионами. Поэтому уровень дохода frontend-программиста в Москве или Санкт-Петербурге будет в 2-3 раза выше, чем у специалиста в небольшом городе.
- Формат. Работая в компании, штатный сотрудник получает оклад (в среднем 80-90 тысяч рублей), к которому может добавиться премия, компенсация или корпоративный бонус. На фрилансе можно зарабатывать как 30, так и 300 тысяч рублей в месяц, всё зависит от того, насколько интенсивно будет работать frontend разработчик удаленно.
Таблица, которая приводится ниже, составлена на основе информации, собранной на сайте HeadHunter. В ней представлен заработок, на который можно рассчитывать в России.
| Уровень | Заработная плата |
| Junior | 25 000 – 150 000 рублей |
| Middle | 50 000 – 350 000 рублей |
| Senior | 80 000 – 450 000 рублей |
| Удаленно | 20 000 – 400 000 рублей |
В Москве
Если исходить из данных сайтов объявлений о работе, в столице такой специалист получает в среднем не меньше 98 000 рублей.
Дарим скидку от 60%
на обучение «Веб-разработчик» до 26 ноября
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей

Если предлагается стажировка, frontend-разработчик, не имеющий опыта, будет получать немного. А опытный сотрудник на должности frontend (react)-разработчик уровня Senior может рассчитывать на 200 – 400 тысяч рублей в месяц.
| Уровень | Диапазон заработной платы |
| Junior | 30 000 – 150 000 рублей |
| Middle | 50 000 – 350 000 рублей |
| Senior | 80 000 – 400 000 рублей |
| Удаленно | 20 000 – 350 000 рублей |
В Санкт-Петербурге
Здесь средняя зарплата составляет 94 тысячи рублей.
Только до 23.11
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:

ТОП-100 площадок для поиска работы от GeekBrains

20 профессий 2023 года, с доходом от 150 000 рублей

Чек-лист «Как успешно пройти собеседование»
Чтобы зарегистрироваться на бесплатный интенсив и получить в подарок подборку файлов от GeekBrains, заполните информацию в открывшемся окне
Из 550 вакансий, размещённых на HeadHunter, около 200 предлагают оплату более 110 тысяч рублей в месяц, а примерно в 20 объявлениях говорится о 300 тысячах рублей.
| Уровень | Заработная плата |
| Junior | 25 000 – 120 000 рублей |
| Middle | 50 000 – 180 000 рублей |
| Senior | 90 000 – 350 000 рублей |
| Удаленно | 45 000 – 300 000 рублей |
В Новосибирске, Казани и Самаре
Крупные российские города, согласно данным с сайтов, могут предложить следующую заработную плату:
- Новосибирск – в среднем 84 800 рублей;
- Казань – в среднем 81 800 рублей;
- Самара – в среднем 64 400 рублей
Объединив данные в таблицу, мы видим минимальный и максимальный заработок рассматриваемого специалиста в этих городах:
| Уровень | Самара | Казань | Новосибирск |
| Junior | 30 000 – 80 000 рублей | 30 000 – 75 000 рублей | 30 000 – 60 000 рублей |
| Middle | 50 000 – 220 000 рублей | 60 000 – 230 000 рублей | 50 000 – 230 000 рублей |
| Senior | 70 000 – 280 000 рублей | 60 000 – 270 000 рублей | 80 000 – 320 000 рублей |
| Удаленно | 30 000 – 200 000 рублей | 40 000 – 270 000 рублей | 80 000 – 320 000 рублей |
Точно ответить на вопрос о заработке frontend-разработчиков в других странах трудно, так как их доход зависит от нескольких условий:
- квалификации и опыта работы;
- уровня образования: иногда требуется диплом об окончании вуза, который даёт важное преимущество;
- ставки налогообложения и другого.
По результатам изучения вакансий, которые предлагаются американскими и европейскими компаниями на сайте HeadHunter, можно понять, какие требования предъявляются к соискателям и какие условия предлагаются.
В США
Если верить Интернету, в Соединённых штатах данный специалист может заработать за год 92 000 долларов, в пересчёте на рубли это приблизительно 6,7 млн рублей, то есть 560 тысяч рублей в месяц. Но это сумма без учёта налога, составляющего 25-40 % от дохода.
Что должен знать Junior JavaScript разработчик
При поиске работы на вакансию младшего разработчика на JavaScript стоит понимать, что джун джуну рознь. Если ударяться в грейды, то по-хорошему Junior JavaScript должен быть разделен на 3-4 уровня. Но так как четкого разграничения не сложилось, то на вакансию с названием Junior JavaScript может претендовать, как новичок, прошедший курсы, но с опытом в верстке, так и специалист с продвинутыми знаниями в JS и React.
Как может называться вакансия
- Frontend-разработчик
- HTML Верстальщик
- JavaScript Junior разработчик
- Junior Frontend Developer
- Junior Frontend разработчик
- Junior JavaScript
- Junior JavaScript developer
- Junior web-developer
- Junior программист JavaScript
- Младший веб-разработчик
По некоторым названиям вакансий понятно, какого уровня требуется специалист. Так HTML Верстальщик это отличная вакансия для новичка, который только начинает свой путь в WEB-разработке. В других названиях могут присутствовать такие слова, как React, Vue, Angular, здесь понятно, что от программиста ждут более глубоких знаний не только в JS, но и сопутствующих технологиях.
Какие знания обязательны для вакансии Junior JavaScript
- HTML5
- CSS3
- JS базовый (диплома о прохождении курса хватит)
Как понимаете это нижняя граница Junior JS, здесь платят мало, много верстки, мало разработки.
Сопутствующие технологии знание, которых требуют работодатели
На более оплачиваемой работе просят опыт коммерческой или студенческой разработки на
- React
- Vue
- Angular
- Electron
Для продвинутого джуна также будет плюсом знание или умение работать с
- npm
- Node.js
- jQuery
- Webpack
- Redux
- TypeScript
- Photoshop/Figma/Sketch/Adobe XD
- Понимание ООП
- Rest API
- БЭМ
- CSS Animations
- SCSS/LESS
- SPA
Также для работодателей всегда является плюсом:
- Портфолио на github/bitbucket
- Знание английского на уровне чтения технической литературы и выше
В конечном счете стек технологий различается от проекта к проекту и что для одних может быть обязательным для других не будет иметь значения. Поэтому бежать и учить все, что перечислено выше не имеет смысла. Стоит сконцентрироваться на более фундаментальных вещах, а опыт работы с различными технологиями добирать по пути.
Что нужно знать junior JavaScript разработчику
Если вы хотите устроить на должность JavaScript разработчика, то существуют некоторые знания, которые ожидают работодатели от вас на этой позиции. В данной статье перечислены основные минимальные знания, которые вам необходимы, если вы планируете начать отправлять резюме на эту должность. Итак, что нужно знать junior JavaScript разработчику.

1. Основы JavaScript
Многие новички, которые хотят стать junior JavaScript разработчиком, слышат о множестве новых фреймворков и концепций, что сбивает их с толку. Они не знают, на чем им сосредоточиться. На самом деле, первой вещью, на которой они должны сфокусироваться, является тщательное изучение основ самого JavaScript. Для этого необходимо пройти хороший базовый курс JavaScript, например, от обучающего центра CyberBionic, о программе которого вы можете узнать здесь https://edu.cbsystematics.com/ru/courses/javascript .
2. Углубленное знание какого-либо фреймворка (вероятно, React)
Изучив статистику развития карьеры разработчиков в ряде компаний, можно заметить, что в течение приблизительно первых 5 лет карьеры они выбирают конкретный фреймворк и постоянно повышают в нем свой уровень компетенции.
Таким образом, разработчику будет лучше выбрать единственный фреймфорк, и погружаться в его изучение все глубже и глубже. Одним из лучших выборов в настоящие дни является фреймворк React.
3. Основные мегатренды
Одна из замечательных сторон разработки фронт-энда в последние годы заключается в том, что несмотря на обилие фреймфорков, мы также начали наблюдать некоторые большие мегатренды, которые актуальны для всех фреймворков. Это хорошая новость для разработчиков, потому что если вы даже углубитесь в один фреймворк, то вы все равно сможете приобрести навыки, которые при необходимости можно использовать и в других фреймворках.
Примерами таких метатрендов, которые следует знать junior JavaScript разработчику, являются следующие:
- Компонентно-ориентированная разработка. Думать о вещах как о наборе компонентов, которые могут взаимодействовать и подключаться. Этот подход есть в React, Angular, Vue, Ember и др.;
- Декларативное программирование. Мы все больше переходим к декларативной парадигме для наших компонентов. Мы выбираем “вот что должно быть”, и поручаем фреймворкам делать это в нужное время и в нужном месте.
4. Изучение Express для программирования бэкенда
Если вам необходима технология JavaScript для разработки бэкнеда, то в этом плане есть явный победитель – Express. Этот популярный фреймворк, который работает внутри среды исполнения node.js.
5. Изучение потока данных
Работа с управлением данным (как во фронтэнде, так и в бэкенде) – одна из самых сложных вещей, которые необходимо освоить в начале. В течение первого года или даже двух лет вы можете избегать этого, думая о данных только в контексте отдельных компонентов, но в конечно итоге вам нужно действительно изучить потоки данных.
Итак, теперь вы знаете, что нужно знать js разработчику – 5 самых важных вещей, на которые вам необходимо обратить внимание в первую очередь. Эта информация позволит вам последовательно сфокусироваться на необходимом обучении.
Что должен знать junior java – Советы для начинающего Java-разработчика. Подготовка к собеседованию — часть 2
Как (и возможно ли) дотянуться до Junior JavaScript Developer в кратчайшие сроки? — Хабр Q&A
Итого: заказчика не интересуют твои философские страдания. Его интересует как быстро, качественно и за какие деньги ты решишь его проблемы. Решаешь за разумное время, адекватный ценник и с удовлетворительным качеством — не важно как ты себя именуешь, спрос на тебя будет.
Джуниористость/синьористость конкретного разработчика — штука весьма условно субъективная. На собственном опыте скажу, что одно дело, когда ты первый и единственный парень на деревне — ты почти что бог, потом с той же головой, теми же руками, опытом и знаниями оказываешься в среде подобных себе, разной степени синьористости божков, и, внезапно, ты сырой джун но с очень хорошим потенциалом.
Я не очень понимаю, чего вдруг тебя потянуло в разработку. В целом дело это весьма муторное и рутинное, и его надо бы, по хорошему, очень сильно любить, чтобы прям вот пёрло, тогда есть шанс зацепиться, удержаться и даже эволюционировать как разработчик.
Я бы, для начала, досконально убедился, что это вот именно прям вот то самое, чем я бы хотел заниматься ближайшие лет пять, а то и десять, потому что иначе не стоит даже и начинать.
Меня на программирование пропёрло весьма рано, лет в 14-15. Я ощущал собственное безграничное могущество, послушная железяка выполняла любое моё повеление, любой мой каприз, при условии, что он правильно сформулирован. Если железка не делала что нужно, или делала что не нужно, то это всегда была моя вина, это значило что я прокосячился. Подобное осознание настигло меня весьма скоропалительно, после чего мозг начал усиленно дисциплинироваться, и количество лютых фейлов пошло на убыль.
Коммерческая разработка — это, примерно, от 70% времени/сил на дебаг и фиксы, потому что мало где процессы поставлены грамотно. По хорошему до сего дня (а мне под 40) я только одну команду видел, где процессы прям вообще очень хорошо поставлены и мне посчастливилось какое-то время с ними поработать. За эти несколько месяцев я подрос на целую голову. Самостоятельно достичь сходных результатов было бы весьма затруднительно.
Сам я сменил стек совсем недавно, начал в конце 15 года, и процесс продолжается до сих пор. Сменил я по одной простой причине — во всех моих прежних проектах большая часть логики с бэка уехала на фронт, и прекраснейший jQuery перестал справляться чуть более чем полностью. Он, по прежнему, хорош, но задачи, которые приходится решать, требуют совершенно других подходов. Для себя я выбрал React, но в целом на рынке имеются альтернативы. По моим данным очень большим спросом пользуется Angular 2+.
Когда говорят о фронтенд разработке, постоянно говорят о технологиях, стеке, но почти никто не упоминает, что не стеком единым… Существенная часть разработки — это, для начала, понять задачу и построить у себя в голове модель. Заказчики бывают разные, от очень толковых, до очень безтолковых. Соотношение первых ко вторым примерно 1% и всё остальное… Т.е. в большинстве случаев тебе скажут минимум, своеобразно, плюс ты это поймёшь по своему. Потом, по ходу пьесы, в самые неподходящие моменты, начнут всплывать подробности, которые: забыли упомянуть; ну это же очевидно, ты же профи; мы сами не знали, это только выяснилось; ну это же мелочи, мы думаем тебе это будет не сложно; а ты не спрашивал; и т.п….
В результате, по своему опыту скажу, частенько проекты примерно на середине выглядят ужасно и обложены костылями. На моем опыте бывало не раз, что нормально получалось только раза с третьего-четвертого…
Казалось бы, а какое это имеет отношение к джуну? Да прямейшее, потому, что, редко в какой команде джуна возьмут как джуна. Обычно джуна берут чтобы платить поменьше, а работы накинут где как мидлу, а где и как синьору, потому что, нередко, бизнес не жирует, ресурсы жестко ограничены, задачи нужно решать хоть как-то, а решения принимают люди, которые ничего в нашем деле не понимают…
Если ты попадешь в команду, где люди будут понимающие, квалифицированные, процессы выстроены, а джуну задачи будут сгружать джунские, то, считай, тебе крупно повезло. Шансов на это примерно 1%. Особенно учитывая, что джуны это обычно студенты лет в районе 20…
Когда я менял стек, то я тоже был какое-то время 35-летним джуном. С этим ничего не поделать, потому что, внезапно, стек это не просто так, и имеется масса нюансов, которые с наскоку не освоишь. Чтобы все пощупать, попробовать на зубок, понять и осознать требуется время и усилия, иногда много времени и много усилий. Да, весь прежний багаж служит опорой и поддержкой, и там, где настоящий джун будет копаться недели, ты за пару часов по аналогии поймаешь идею и двинешь дальше. Но эти пару часов никто не отменял, а идей которые нужно отловить сотни, если не тысячи…
Сложнее всего разобраться в архитектуре конкретного проекта, потому что, внезапно, стиль кодирования и конвенции чрезвычайно важны, если ты не один работаешь над проектом от и до. Если до тебя, вместе с тобой или после тебя кто-то будет работать над проектом, дорабатывать, поддерживать это дело, исправлять баги, в конце концов (а они бывают всегда и везде), то очень желательно, чтобы любой разработчик мог в кратчайшие сроки, оперативно и легко вникнуть, разобраться и понять, что там к чему, откуда, куда, зачем и почему. Чаще всего у проектов с этим проблемы, поэтому накладные расходы множатся, а эффект сходит на нет, усугубляясь текучкой кадров.
Даже если тебе попадается практически идеальный проект, внезапно оказывается, что твоя оперативная память это 5-7+-2 объекта, а удерживать в голове одновременно нужно сотни…
Зачем я все это рассказываю? Затем, что это реальность, которая для джунов не делает исключений.
Термин «фигак-фигак и в продакшен» встречается повсеместно, т.к. ресурсы (деньги, время, кадры) практически всегда весьма жестко ограничены и ничего ты с этим не поделаешь.
У верстальщика в этом плане все проще, потому что его работу видно сразу и невооруженным взглядом. Но просто верстальщик и хороший верстальщик — это земля и небо.
С другой стороны сейчас предпочитают фронта, который еще и неплохо верстает. Слава флексбоксам и современным браузерам, сейчас это делать намного проще, чем годы назад.
Теперь относительно того что делать — если в бэкграунде нет сильных скиллов по алгоритмике и структурам данных (олимпиады по программированию, универский курс информатики), то прям очень сильно рекомендую прокачать. Будучи наставником на нескольких курсах фронтенда я постоянно встречают студентов, которые «вроде бы» знают язык, но затрудняются скомпоновать пару циклов с условиями, вот буквально просто виснут на неопределенное время, причем без результата. Лично я рекомендую кодварс. Своих студентов я прокачиваю именно там. Достаточно прорешать 30-40 задачек, чтобы базовые скиллы ушли на уровень рефлексов и перестали парить мозг. Правда желательно решать это все с наставником.
Косвенный бонус тут будет в том, что ты привыкнешь решать задачи на JavaScript. Я когда менял стек, поначалу мыслил на PHP, и подобный финт на кодварс позволил мне переформатировать мышление на JS. Вот мой профиль на кодварс как пруф: https://www.codewars.com/users/iCoderXXI
Далее, когда ты освоишься в JS практически, очень неплохо будет досконально разобраться в том как работают замыкания и прототипное наследование. Это прям основа основ, и это спрашивают на каждом первом собесе.
Понять надо настолько глубоко, чтобы легко и просто, с юморком, рассказывать это любой первой встречной бабушке, да так, чтобы та всё поняла… Это вот прям залог успеха в JS, потому что все остальное держится на этих двух китах. В ютубе имеется курс Зоракса (Zorax) и JavaScript Weird Parts, оба про то же самое, первый на русском, второй на инглише. Кантор, безусловно, крут, но эти двое объясняют попроще и понятнее (имхо).
После этого прокачиваемся в использовании встроенных методов JS, таких как map, reduce, includes, replace и пр. (на том же кодварс)
После этого нужно прокачаться в ES6+, стрелочные функции, let/const, деструктурирование, рест оператор, классы, промисы, генераторы, async/await, декораторы — без этих продвинутых штук в современных фреймворках ловить нечего.
После этого снова идем на кодварс, и все то же самое прорешываем уже с использованием новых знаний. Внезапно код становится в разы лаконичнее, понятнее и читабельнее.
Потом уже заостряемся на API форм, DOM, AJAX (fetch/axios), вебсокетах, Localstorage и пр.
И вот только теперь можно переключаться на фреймворки. Проще всего освоить Vue (по слухам), наибольшим спросом пользуются React и Angular, для общего развития так же неплохо бы немного послушать про Ember.JS.
React только на первый взгляд выглядит простым, на самом деле это только view-библиотека, а в любом нормальном SPA есть много чего еще кроме view, поэтому React всегда идет в компании Redux, Router, и еще целой толпы всего, что тоже придется осваивать, не только с точки зрения API, но и с точки зрения философии (а нахрена оно вообще сдалось?)
Перед походами на собесы очень желательно иметь портфолио из нескольких готовых проектов, вылизанных стилистически.
Далее освежаем базу по JS — типы, замыкания, прототипы, и смело топаем по собесам, будучи морально готовыми завалить первые десять.
Вообще джуновых вакансий не густо, точно гораздо меньше, чем джунов на них претендующих. А вот синьоров и мидлов на рынке остро не хватает, поэтому стратегия такая — качаться до мидла без вариантов.
Еще вроде большие компании вроде Яндекса устраивают летнее обучение, с последующим трудоустройством лучших кандидатов, но это не точно.
Оптимистичный прогноз — 6-12 месяцев плотного фигачинга и ты в тренде.
Советы для начинающего Java-разработчика. Подготовка к собеседованию — часть 2
В первой части цикла мы рассмотрели важность составления плана обучения, вопросы по Java Core и работе с БД. В этой части обсудим вопросы в комментариях и поговорим о двух популярных фреймворках: Spring и Hibernate.

Вопросы в комментариях
О происхождении вопросов для подготовки
Все они были заданы мне или моим коллегам на собеседованиях на позицию Junior/Middle людьми с уровнем Middle/Senior/Lead. Проекты: два крупных банка, сотовый оператор, внутренние квалификационные собеседования.
Вопросы придумывал не я, и оценивать их качество без конкретного контекста имеет мало смысла. Практически каждый из них прозвучал в общей сложности больше двух раз за все время прохождения собеседований. Какие-то были в разных вариантах, но с одним подтекстом.
Зачем джуну знать про ?
Один из уроков, который можно вынести из первой части: очевидные вещи очевидны не для всех. Ответ на любой из вопросов для подготовки не нужно знать как daily basis. Его нужно знать, чтобы обойти конкурентов на позицию в хорошей компании. Даже если память плохая и через время забывается большинство изученного материала, то перед собеседованием имеет смысл эти знания освежить.
Выбор стратегии при подготовке
В девелопменте можно выделить две основные стратегии поиска работы:
а) Куда возьмут, туда пойду. Чем быстрее начну получать опыт, параллельно подтягивая недостающие знания, тем лучше.
б) Куда пойду, туда возьмут. Плюсы очевидны. Среди минусов — больше времени на подготовку. В некоторых случаях — значительно больше.
Первая стратегия сильно доминирует и давно себя зарекомендовала. Не всем нравятся сложные цели, и не каждому они под силу. У кого-то семья, домашние заботы, сторонние занятия и банально некогда выкладываться на 150%. Да и, говоря на чистоту, стратегия трудоустройства в нетоповые компании имеет мало минусов. Ну попадется вам как-бы-сеньор в наставники, поделаете некоторое время ерундовые задачи исключительно на умение серфить Stack Overflow. Зато уже с зарплатой, опыт какой-никакой в копилку капает, и свободного времени для самообразования больше.
Вторая стратегия гораздо консервативнее: меньше свободных часов в сутках при подготовке, значительно меньше их же в рабочем дне на первых порах. Но ускорение на старте профессионального развития более качественное и, чаще всего, выше зарплата.
Судя по комментариям к первой части, очень мало кто придерживается второй стратегии. Очень мало кто даже рассматривает ее как один из вариантов. Но это не хорошо и не плохо, берем ношу по себе.
«Что дозволено Юпитеру, не дозволено быку»
Техлиды и сеньоры не обязаны знать ответы на все вопросы для джуна. Они больше не конкурируют с полусотней других претендентов на место, каждый из которых решает элементарные задачи и запинается на неэлементарных. А тот претендент, который не запнулся, просто видел похожую задачу на днях и плавает в других темах.
Техлидов хантят месяцами и цепляются за хорошего, как за спасательный круг. И, как я подозреваю, о хешмапах на собеседованиях их не спрашивают. С джунами все более печально: компаний в среднестатистическом городе (не мегаполисе), готовых взять стажера/джуна, — раз-два и обчелся. А ездить в поисках по городам на начальном этапе карьеры — не всегда позволительная роскошь. Сидеть без работы, естественно, тоже.
Претендуешь — соответствуй
Компании с интересными проектами, крутой командой и высокими зарплатами имеют право требовать знание не только каких-то паттернов разработки, но и алгоритмов, логических задач, синтаксиса — да чего угодно.
Поэтому о TreeMap, LinkedHashMap, работе кучи, стека, синхронизированных коллекций и прочей мало применяемой скуке можно и не знать. Идти туда, где прямым текстом в вакансии указано: «Об алгоритмах не спрашиваем». При этом помнить, что не спрашивают чаще всего там, где нет большой конкуренции за место: если начнут много спрашивать, не из кого будет выбирать.
Кстати, утверждение о необходимости соответствовать при высокой конкуренции одинаково верно для всех уровней. Егор Бугаенко в недавнем интервью рассказывал, что на собеседовании в Amazon ему давали алгоритмические задачи (архитектору с более чем 20-летним опытом), которые он решать отказался. Собеседование он не прошел. А взяли кого-то, кто наверняка уступает в качестве профильных знаний, но подготовился лучше и изучил потенциальные вопросы. И кому, скажите, от этого хуже?
Потеряно время на переписку, минимальную подготовку, посещение офиса — стресс до и осадок в виде неприятного ощущения после. И если архитекторам все дороги открыты («куда пойду, туда возьмут» в большинстве случаев), то у джунов ставки в несколько раз выше: только что было три шанса устроиться на хорошую позицию в родном городе, а вот их осталось уже два. Пора начинать собирать чемоданы.
Выбирайте стратегию обдуманно и слушайте только близких вам по мировоззрению и духу людей. «Не каждый совет ценен, но каждый озвучен неспроста».
Приступим к темам и вопросам.
Spring
Фреймворк, без знания основ которого вас практически никуда не возьмут. Пугает на старте всех, кто никогда его не видел, и чаще всего из-за непонимания его основных целей и механизмов работы. Это и неудивительно: на просторах интернета пересекаются тонны как совсем свежей, так и безнадежно устаревшей информации. А возможность сконфигурировать один и тот же механизм работы несколькими абсолютно разными способами еще больше усложняет изучение.
Обо всем перечисленном могу сказать одно: все приходит с опытом. Я остановился на следующем подходе: выбрать один-два модуля Spring для детального изучения, а в остальных разобраться поверхностно. Под детальным изучением подразумевается изучение реальных примеров на гите, за которым следует собственная реализация практической задачи с запоминанием или записью используемых в процессе аннотаций.
На сайте Spring есть очень неплохая документация с описанием всех внутренностей и популярные примеры реализации определенного функционала.
Обычно, когда на собеседовании дело доходит до Spring, происходит примерно следующий диалог:
- Из Spring с чем-то работали?
- Да, изучал вот это и вот то.
- Хорошо, давайте немного поговорим на эти темы.
Иногда будут спрашивать прямо: знаете ли, например, Spring Data? Если знаете на достаточном для обсуждения уровне, считайте, что повезло. Если нет, всегда можно честно сказать, что понимаете их суть и необходимость использования, видели примеры кода, но самостоятельного применения не было. И заранее позаботиться о том, чтобы это было правдой: посмотреть и поверхностно вникнуть в работу любого спрингового модуля придется в любом случае. Вопрос только в том, насколько глубоко.
О чем меня спрашивали часто: core, data, mvc.
Чуть реже — boot, security.
О чем не спросили ни разу за все время: aop, test.
Это статистические данные, не более.
Разделение по уровням джуновости достаточно условное.
Недоджун (он же претендент на стажировку) и младший джун — поверхностные знания о модулях спринга и какой за что отвечает. Изучить их работу на практике и предоставленные возможности конфигурации.
Крепкий джун — спринговый код и конфиги смущать не должны. Видим аннотацию и понимаем, что она из конкретного модуля и нужна для таких-то целей, и какие шаги необходимо предпринять, если понадобится изменить определенную логику.
Дальше вперемешку немного вопросов, связанных с перечисленными темами (только те, которые повторялись):
- Опишите механизм dependency injection простыми словами.
- Как работает модуль спринга , какой флоу выполнения (что куда заходит и как обрабатывается в процессе)?
- Как создается контекст? Каков порядок инициализации в контексте?
- Какие знаете различные способы конфигурации бина? Дефолтный скоуп бина? Какие вообще скоупы бывают? Для чего они используются?
- Какая разница между BeanFactory и FactoryBean?
- Расскажите об autowired-аннотации. Есть поле, помеченное autowired, как Spring находит бин и инжектит, какой алгоритм? Что, если реализаций интерфейса две? Можно ли вешать autowired на несколько конструкторов?
- Для чего нужен @PostConstruct? Что выполнится раньше — @PostConstruct или конструктор?
- Аннотация @Transactional, что знаете о ней? Какие у нее параметры? На что ее можно повесить? Какой паттерн используется как основа (прокси)? Опишите требования к методу, на который хотим повесить эту аннотацию.
- Дефолтные property в Spring boot: для чего они, где конфигурируются?
- Какой паттерн используется в основе spring security (chain of responsibility в виде цепочки фильтров)?
- Перечислите виды авторизации в Spring security. За что отвечает аннотация @Preauthorize?
Hibernate
Изначально я хотел объединить темы Spring и Hibernate в одну, но в итоге решил не создавать хаос в относительно структурированном подходе. После штудирования статей о том, что это за фреймворк и какие его функции, обязательно погуглите разницу между JPA, Spring Data JPA и Hibernate. И обязательно поймите ее, это сильно упростит процесс понимания взаимодействия Spring и Hibernate.
- Как Hibernate формирует запросы? Что такое фетчинг, батчинг?
- В каких состояниях может быть entity? Расскажите немного о них.
- Кеш запросов — расскажите о всех уровнях.
- Когда возникает lazy initialization exception?
- Расскажите об известной в Hibernate проблеме N+1 select.
- Расскажите о стратегиях наследования сущностей.
- Если внутри сущности есть коллекции, подгружаются ли они по умолчанию?
Конечно, как и для любого фреймворка, любят спрашивать, для чего он нужен и в каких случаях можно обойтись без него. Разобраться в этой теме всегда будет полезно.
P. S. Спасибо всем, кто дочитал. Значит, хоть какая-то польза, но будет. В третьей части постараюсь раскрыть все оставшиеся темы.
Иллюстрация Дарины Скульской
Предыдущая статья: Советы для начинающего Java-разработчика. Подготовка к собеседованию — часть 1
java — Какие актуальные технологии нужно знать для позиции Intern/junior
- Тур Начните с этой страницы, чтобы быстро ознакомиться с сайтом
- Справка Подробные ответы на любые возможные вопросы
- Мета Обсудить принципы работы и политику сайта
- О нас Узнать больше о компании Stack Overflow
- Бизнес Узнать больше о поиске разработчиков или рекламе на сайте
Профессия Junior Java Developer
Описание квалификации Junior Java Developer
Junior’ом обычно называют разработчика, который только начинает серьезно работать в определенной области технологий. У такого разработчика есть знания, позволяющие ему работать над реальным проектом, но очень мало (или нет) опыта такой разработки. Поэтому, зачастую в технических аспектах он советуется с более опытным разработчиком. Накопив достаточно знаний и опыта Junior становится mid-level разработчиком.
Если говорить о Junior Java Developer’е, то необходимы такие знания:
- Программирование (системы исчисления, чем оператор отличается от операции, некоторые алгоритмы)
- Язык Java (синтаксис, ООП возможности, многопоточность, стандартная библиотека)
- OOP и OOD (парадигмы, основные паттерны проектирования)
- Базы данных (JDBC, язык SQL)
Обычно для Java Junior’а не обязательно знание какой-либо конкретной технологии или фреймворка (например веб-сервисов или Spring). Достаточно знать зачем та или иная технология нужна, какие задачи с помощью нее решают, преимущества/недостатки в сравнении с похожими технологиями. Junior детально знакомится с такими технологиями/фреймворками в процессе работы над очередным проектом.
Необходимые тесты
Программирование — Основы
Тест, необходимый для прохождения любому, кто имеет дело с программированием. Здесь собраны довольно элементарные вопросы по булевой алгебре, системам исчисления (особенно двоичной и шестнадцатиричной), простым алгоритмам.
Java — Основы
Тест содержит достаточно большое количество вопросов, но не только по синтаксису языка так и по практическому использованию той или иной возможности. Вопросы теста преимущественно простые, но есть и довольно «хитрые» вопросы, которые проверяют понимание.
ООП — Основы
Знание ООП парадигм на базовом уровне безусловно необходимо для Junior’а. Данный тест ставит себе задачу это проверить. Вопросы в основном теоретического плана и требуют соответствующего уровня подготовки.
ООП в Java
Тест посвящен ООП возможностям Java. Проверяет знание вопросов которые часто задают на собеседованиях Junior’ам: «как реализовать множественное наследование в Java», «в чем отличие абстрактного класса от интерфейса» и т.п. Содержит в основном практические примеры и неплохо дополняет предыдущий тест по теоретическому ООП.
SQL — Основы
На данный момент, базы данных используются в большинстве промышленных приложений. Поэтому эти знания довольно востребованы и Java Junior’у сейчас нужно иметь представление о JDBC и SQL. Тест проверяет базовые знания SQL и наиболее используемые его возможности.
Написание статьи
Тематика статьи предлагается администрации и либо принимается либо отвергается с предложением альтернативной. Тематика должна касаться предметной области. Это требование проверяет умение Junior’а быстро вникнуть в суть проблемы, а также способность излагать мысли последовательно и методично. Как вариант можно предложить на рассмотрение администрации 3-4 темы для статьи, а администрация предложит для написания одну из них. Написанная вами статья не должна быть ранее опубликова на других ресурсах.
Составление вопросов
Необходимость составления вопросов преследует ту же цель что и написание статьи: умение аналитически подходить к изучению нового, отделять главное от второстепенного. Тематики вопросов также согласовываются с администрацией (это нужно так как в некоторых тестах довольно много вопросов и при добавлении еще одного высока вероятность, что похожий вопрос уже есть).
Важно: Вопросы насчет статьи можно задавать в комментариях на странице Вашей квалификации (не перепутайте с публичной страницей описания), на которую можно зайти из ссылки на профиле в блоке Квалификации.
Путь JavaScript Junior: подборка лучших ресурсов для обучения

Без глубокого понимания концепций языка программист не может профессионально развиваться. У JavaScript джуна впереди увлекательная дорога, полная загадок и открытий. Выбирайте ваш любимый способ обучения и начинайте погружение!
Видео-уроки
ES6 и дальше
Современные JavaScript Junior, возможно, никогда не сталкивались с цепочками прототипов и асинхронными «велосипедами». Сейчас на фронтенде правит бал стандарт ES6. Смотрите один из самых лучших курсов в рунете от CodeDojo:
А джуниорам, владеющим английским, совершенно необходимо посмотреть великолепную лекцию freeCodeCamp.
Основы
Про то, что происходит под капотом, тоже нельзя забывать. Разобраться с конструкторами и прототипами поможет видеокурс freeCodeCamp и этот плейлист loftblog:
JavaScript был рожден, чтобы манипулировать веб-страницами. Это по-прежнему одна из основных задач языка. Лекция Дмитрия Лаврика окончательно прояснит все моменты работы с объектной моделью документа:
Книги
Держите лучшие в мире книги для JavaScript Junior, если вы еще не успели изучить их от корки до корки:
-
, Дуглас Крокфорд; , Марейн Хавербек; (англ.); , Дэвид Флэнаган; (англ.), Henrik Joreteg; (англ.), Cody Lindley.

Онлайн-учебники
90% русскоязычных джуниоров учат JavaScript по учебнику Ильи Кантора. А вот еще один отличный ресурс с классической структурой «от простого к сложному».
Полезные статьи
Листание популярных интернет-сайтов IT-тематики – важная часть образования JavaScript Junior. Чтение статей помогает:
- найти наглядные объяснения сложных понятий в JavaScript Garden; ; ; ;
- узнать о подводных камнях на чужом опыте (async/await);
- обнаружить скрытые фичи; ;
- и даже понять регулярные выражения.
Документация
Последнее прибежище разработчика – документация языка. Вам придется обращаться к ней не раз, поэтому будьте знакомы, Mozilla Developer Network. А здесь вы можете узнать немного о темной стороне спецификации.
Инструменты и инфраструктура
Для эффективной и быстрой разработки важно обустроить удобную рабочую среду. Все современные проекты используют сборщики и системы контроля версий. JavaScript Junior должен в этом разбираться.
Node и сборщики файлов
Великолепный скринкаст Ильи Кантора введет вас в курс дела и поможет освоиться с платформой Node.js:
После этого можно переходить к изучению сборщиков: Gulp или Webpack на том же канале.
А вот несколько полезных статей для начала:
Git – самая популярная система контроля версий, она используется во многих проектах, поэтому JavaScript Junior должен в ней разбираться. Основные сведения можно почерпнуть из книги Pro Git или видео-курса по основам Git. А эта замечательная интерактивная игра поможет разобраться с моделями ветвления.
Шпаргалки по командам сэкономят ваше время:
Отладка кода
Отладка – неотъемлемая часть программирования. Главный помощник JavaScript джуниора – консоль разработчика Google Chrome. Чем быстрее вы с ней подружитесь, тем эффективнее будет ваша работа. В помощь вам короткое, но очень информативное видео от школы Hillel:
Фреймворки
Многие компании создают свои продукты на базе современных JavaScript-фреймворков, которые позволяют с легкостью делать очень сложные вещи. Их изучение не только станет огромным плюсом в вашем резюме, но и позволит лучше понять механизмы работы и возможности языка.
React
Освоить основы самого популярного JS-фреймворка поможет этот учебник. В нем понятно разобраны все базовые вопросы, начиная с JSX-синтаксиса и заканчивая моделью Redux.
Еще пара статей по Redux с примерами:
Разобравшись, начинайте экспериментировать. Напишите собственный чат или попробуйте осилить вот этот мастер-класс по созданию бухгалтерского приложения:
Angular
Еще один популярный фреймворк, с которым может встретиться JavaScript Junior. Не путайте AngularJS (он уже устарел) и просто Angular. Проект активно развивается, выходят новые версии. Чтобы не потеряться в них, держите постоянно обновляющийся учебник. А если вы знаете английский, то обязательно посмотрите скринкаст по Angular 6. В качестве шпаргалки вполне подойдет этот конспект по Angular 5.
Священная война фреймворков в самом разгаре. Если вы еще не сделали свой выбор, возможно эта статья поможет Angular vs. React: что лучше для веб-разработки?
Про Vue.js мы тоже не забудем.
-
; ;
- и классный семинар от Дмитрия Лаврика.
