чем занимается junior java developer
Кто такой Java-разработчик, чем занимается и что должен знать
Здравствуйте! В сегодняшней статье мы расскажем простыми словами о профессии Java программиста: кто такой, что должен уметь, что делает и где работает. Разберемся, чем занимаются junior-, middle- и senior-программисты на Джава, а также backend- и fullstack-специалисты.
Кто такой Java-разработчик и что он делает
Java-разработчик – это IT-специалист, который пишет сайты, приложения, высоконагруженные системы на Java.
Джава – один из универсальных языков программирования, который используется для создания:
Java-программист умеет создавать разные по масштабу и назначению программы: от простого приложения до ПО для беспилотного транспорта. Он делает web-, десктопные и мобильные версии, тестирует готовые сайты и сервисы, ищет и устраняет ошибки («баги»), добавляет новые опции, поддерживает работу системы и т. д.
В профессии есть 3 направления:
Какие бывают программисты на Java
В зависимости от знаний, навыков, опыта работы и степени ответственности программист на Java может занимать должность: junior (младший), middle (средний), senior (старший). Ниже расскажем подробнее про каждый уровень.
Junior
Junior Java-разработчик – это новичок с опытом от 6-12 месяцев, который знает базовые конструкции Джава. Он может самостоятельно сделать простую программу, дописать или протестировать код, внести небольшие правки.
Если программист работает в IT-компании, то его курирует более опытный коллега.
Middle
Middle Java-разработчик – это специалист со стажем от 3 лет, который способен самостоятельно и с нуля сделать программу или приложение. Знает язык программирования на продвинутом уровне, имеет опыт командной разработки. Он пишет чистый качественный код, который не нуждается в проверке или доработке.
Senior
Senior Java-разработчик – это профессионал с опытом не менее 5 лет, который совмещает обязанности технического руководителя и тимлида в команде программистов.
Он умеет проектировать сложные веб-сервисы и приложения, распределяет задачи между подчиненными, определяет стек технологий, которые используются в разработке конкретного программного продукта, несет ответственность за итоговый результат.
Что должен знать Джава-разработчик
Перечислим, каким требованиям должен соответствовать профессиональный Джава-разработчик:
Мы собрали для вас онлайн-курсы по Java-разработке от лучших онлайн-школ России.
Кому подходит профессия
Освоить профессию Java-разработчика будет проще, если у вас есть такие личные качества:
Востребованы ли Java-программисты
Джава входит в ТОП-3 распространенных языков программирования, поэтому спрос на разработчиков остается стабильно высоким. По данным hh.ру, на сегодняшний день в России около 3500 вакансий для Java-программистов. Работодатели готовы рассмотреть и опытных, и начинающих разработчиков, на условиях полной занятости и удаленной работы.
Опыт | Количество вакансий |
до 1 года | 285 |
от 1 до 3 лет | 1448 |
от 3 до 6 лет | 1603 |
свыше 6 лет | 157 |
Более 50 компаний приглашают стажеров без опыта, поэтому без работы не остаются даже новички и вчерашние студенты. Поскольку язык пользуется большой популярностью, то у профессии Java-разработчика низкий порог входа.
Место работы
Программисты на Java требуются не только в ИТ-компаниях. Вакансии для Джава-разработчиков есть в следующих сферах:
Наиболее востребованы Java-специалисты всех уровней (junior, middle, senior) в сфере информационных технологий и в банковском секторе: на текущий момент на сайте HeadHunter опубликовано более 450 вакансий от банков.
Перспективы профессии
Информационные технологии развиваются, бизнес переходит в онлайн, поэтому программисты всех направлений, в том числе Джава-разработчики продолжат пользоваться спросом у работодателей во всех отраслях. Если вы только начинаете осваивать профессию, то у вас есть следующие перспективы:
Что требуют от джуниоров работодатели: анализ вакансий для младших программистов
В этом обзоре систематизируем требования работодателей к Junior-программистам, а также обобщаем условия, которые предлагают компании младшим разработчикам. Для этого анализируем реальные вакансии, опубликованные на hh.ru.
Кого ищут работодатели: критерии анализа
Чтобы проанализировать требования работодателей к младшим программистам, я выбрал вакансии на сайте hh.ru по Москве, Санкт-Петербургу и Казани. Смотрел вакансии для JavaScript-программистов (фронт- и бэкенд), PHP-, Python- и Java-программистов. Проанализировал как минимум 10 вакансий по каждому стеку.
В вакансиях анализировал следующие параметры:
Параметры анализировал без разделения по стекам. Исключение — требования к хард-скилам. Этот параметр проанализировал для каждого стека отдельно.
Какой опыт работы нужен Junior-программисту
В идеальном мире на позицию джуниора могут претендовать соискатели без опыта работы. В реальном мире всё не так просто.
В подавляющем большинстве вакансий для Junior-программистов опыт работы не требуется. Но иногда работодатели хотят видеть стажёра или джуна с опытом работы. Например, «Яндекс» ищет стажёра-разработчика с опытом работы от 1 года.
«Яндекс» ищет стажёра с опытом работы
Какое образование нужно джуниору
Нужно ли высшее образование программисту? На этот вопрос сложно ответить только с помощью анализа вакансий. HR-менеджеры могут не указывать требования к образованию в вакансиях. Но они наверняка обращают внимание на этот пункт в резюме, когда рассматривают заявку соискателя. Тем не менее даю слово реальному рынку труда.
В большинстве вакансий для Junior-разработчиков нет требований к образованию. Но часть работодателей хочет видеть соискателей с высшим техническим образованием или студентов старших курсов.
Важный момент: требования к образованию я встретил только в вакансиях для Java- и Python-программистов.
От Java- и Python-программистов чаще требуют высшее техническое образование
Промежуточный итог: в большинстве вакансий работодатели не указывают требования к образованию. Но иногда в объявлениях встречаются пожелания: компании хотят видеть у новичка диплом технического вуза или в крайнем случае студенческий билет. Такие требования я встретил только в вакансиях для Java- и Python-программистов.
Требования к возрасту джуниров
Этот вопрос чаще всего волнует специалистов, которые меняют сферу деятельности в возрасте 30+. Давайте посмотрим, есть ли ограничения по возрасту в опубликованных вакансиях.
Я просмотрел около 50 вакансий в разных стеках, но ни в одной не нашёл явных требований к возрасту. Иногда работодатели указывают, что набирают студентов последних курсов. Такие условия есть в объявлениях о стажировке, а не в вакансиях для джуниор-программистов.
На стажировку приглашают студентов
Это не значит, что работодатели не обращают внимание на возраст кандидатов. Эйчары видят резюме и могут уточнить год рождения соискателя, если эта информация не указана. А о среднем возрасте junior-программистов рассказывает HR-менеджер Вероника Ильина в комментарии ниже.
Промежуточный итог: работодатели обычно не указывают формальные требования к возрасту, но учитывают возраст соискателей при отборе.
Какие софт-скилы нужны джуниору
Софт-скилы или гибкие навыки — неспециализированные навыки, которые влияют на профессиональную деятельность специалиста. Примеры софт-скилов: дисциплинированность, проактивность, умение общаться, стрессоусточивость, способность к обучению.
В большинстве вакансий работодатели не указывают требования к гибким навыкам. В нескольких объявлениях есть пожелания к софт-скилам, например:
Мне показалось, что в некоторых вакансиях работодатели пишут о гибких навыках формально. Например, сложно представить, что кто-то из кандидатов скажет на собеседовании, что ему не хватает любопытства или адекватности.
В некоторых вакансиях софт-скилам уделяется повышенное внимание. Например, одна из компаний ищет Python-разработчика для работы в медицинском стартапе. Работодатель хочет, чтобы у соискателя был интерес к предметной области, то есть к медицине. Это объясняется тем, что разработчику придётся общаться с врачами, которые участвуют в разработке медицинских приложений.
В объявлениях часто встречается требование знать английский язык. В частности, указывается уровень intermediate.
Промежуточный итог: работодатели иногда указывают желаемые гибкие навыки. Любой кандидат может на собеседовании сказать, что он коммуникабельный, любопытный и адекватный. Реально оценить софт-скилы соискателя работодатель сможет во время испытательного срока.
Адекватные стрессоустойчивые соискатели интересуются вакансией
Какие хард-скилы нужны Junior-программистам
Хард-скилы или профессиональные навыки уместно рассматривать в разрезе стеков.
Требования к JavaScript-разработчикам (фронтенд)
Работодатели требуют от соискателей на позицию фронтенд-разработчиков такие знания и умения:
В одной вакансии встретил пожелание — соискатель на позицию фронтендера должен знать PHP хотя бы на базовом уровне. Также в единичных вакансиях работодатель искал кандидатов со знанием TypeScript, умением работать с препроцессорами (SCSS или Less), знание Angular.
Требования к Node.js-разработчикам (бэкенд)
Работодатели ждут от Node.js-разработчиков таких знаний и умений:
В вакансиях для Node.js-разработчиков часто встречаются жёсткие требования к знанию английского языка. В нескольких вакансиях увидел пожелание к знанию ещё одного серверного языка, например, PHP или Python.
Требования к PHP-программистам
От младших программистов на PHP компании ожидают таких знаний и умений:
В нескольких вакансиях работодатели хотят, чтобы соискатель имел базовые знания JavaScript.
Требования к Python-программистам
Один из работодателей принимает стажёров, которые знают основы Python и SQL. Стажировка оплачиваемая. К младшим программистам предъявляются более серьёзные требования:
В вакансиях для Python-программистов практически не встречаются требования знать ещё один язык программирования. Также мне не попались требования знать HTML и CSS и уметь верстать. Тем не менее это актуальные для веб-разработчиков умения.
Требования к Java-программистам
Выше сказано, что от джавистов работодатели чаще всего требуют высшее техническое образование. Также компании хотят видеть такие знания и умения:
В вакансиях для Java-программистов несколько раз встретил требование уметь писать юнит-тесты. В объявлениях о поиске джуниоров в других стеках такого требования не увидел.
В одной из вакансий нашёл пожелание к знанию второго языка программирования, например, Python. В вакансии для веб-разработчика на Java увидел требование понимать принцип MVC.
Промежуточный итог: от младших программистов во всех стеках работодатели ожидают базового знания выбранного языка программирования. Часто встречается пожелание знать хотя бы ещё один язык. В большинстве вакансий есть требование знать HTML и CSS.
Работодатели ожидают, что Junior-программисты умеют работать с базами данных, знают сетевые технологии, владеют популярными фреймворками и библиотеками.
Изучайте операционные системы, повысьте свой уровень У нас есть курс по операционным системам. Зарегистрированные пользователи могут пройти его бесплатно. Другие бесплатные курсы можно найти по ссылке.
Что работодатели предлагают Junior-программистам
В части вакансий эйчары не указывают заработную плату, которую предлагают сотрудникам. Тем не менее объявления позволяют оценить уровень зарплат, на которые могут претендовать джуниоры. Также в вакансиях обычно есть информация о других «плюшках».
Младшие программисты могут рассчитывать на такую зарплату:
В объявлениях есть предложения удалённой работы и работы в офисе. Большая часть работодателей ищет фултаймеров как на удалёнку, так и в офис. Офисным сотрудникам предлагаются комфортабельные условия труда и рабочие компьютеры. Этот пункт часто описывается подробно.
Работодатели предлагают будущим сотрудникам такие плюшки:
Промежуточный итог: Junior-программист может рассчитывать на заработную плату от 15 000 рублей в месяц и выше. Работодатели готовы дополнительно мотивировать джуниоров и обеспечивать им комфортабельные условия труда.
Что требуют и что дают джунам: комментарий HR-эксперта Вероники Ильиной
Я анализировал требования работодателей к джуниорам по опубликованным вакансиям. Чтобы получить полную картину, обратился к HR-эксперту Веронике Ильиной и попросил её рассказать, что требуют работодатели от Junior-программиста. Слово Веронике.
«Обычно в вакансиях джунов пишут в требованиях или пожеланиях техническое образование. На это есть несколько причин: от традиций до убеждения, что универ учит системному мышлению. Но все знают, что действительно учатся даже в топовых вузах десятки, если не единицы людей на каждом потоке. То есть настоящих сильных выпускников никогда не хватит, чтобы закрыть потребность рынка в джунах. Так что многие работодатели на самом деле закрывают глаза на образование. Особенно после того, как встречают тимлида с опытом CTO и 9 классами школы или берут в джуны бывшего бариста, потому что мехмат МГУ не смог в сортировку. А бариста смог.
Опыт обычно не требуется, то есть учебного достаточно. Но и в целом джун джуну рознь: кто-то год параллельно с учебой стажируется в известной компании, но ничего не умеет. Кто-то даже учит школьников программировать, но у самого знаний все же не хватает даже в основах. А кто-то — тот самый бывший бариста, который выучил Java дома, и нормально работает 🙂
Идеальный джун — это, конечно, вчерашний студент. Опыта нет, впитывает всё, что дают, легко подстраивается под рабочие процессы и увлечённо старается. Но студентов не напасёшься: их просто меньше, чем нужно. А тем более не хватает студентов с хорошо думающей головой. Поэтому компании медленно, но верно начинают смотреть кандидатов около 30 и старше. Да, они уже не такие «на всё согласные», но они знают, чего хотят. Конечно, негласный возрастной ценз и неверие в то, что человек в 30 может куда-то эффективно переучиться, никуда не исчезают. Но когда на рынке мало хороших студентов, кого еще рассматривать и брать?
Самое главное для джуна — уметь гуглить и не бояться спрашивать непонятное, просить помощи у живых людей. Такие джуны быстро растут. Молчуны растут намного медленнее, это логично: как расти, если ты знаешь меньше правильных решений и собственных ошибок, чем твой коллега-активист?
По хард-скилам: джун джуну рознь. «Яндекс» будет требовать от вас алгоритмов, маленькая студия — умения делать хоть что-то, маленькая и гордая студия — уметь делать простое, но очень хорошо. Нужно смотреть на конкретные требования и пробовать. Нет универсальной формулы технических навыков, с которыми вас возьмут. Но есть то, что помогает на любом уровне — кругозор в Computer Science.
Что предложат джуну: в Москве и Санкт-Петербурге джун любого направления в разработке может иметь 30-100 тысяч рублей на руки. Просто за 100 у него будет минимальный опыт работы и например невероятная алгоритмическая подготовка. А за 30 легкая стажировка или парттайм работа. Скорость роста дальше зависит от самого джуна и компании, не все умеют вовремя поднимать деньги джунам. А джуны не всегда приходят с запросом про деньги. «Плюшки» у всех примерно стандартные: пресловутые «печеньки», ДМС, фрукты какие-нибудь с фитнесом, компенсация обучения. Бывает больше и лучше, бывает меньше».
Вместо заключения: что нужно, чтобы получить должность младшего программиста
О требованиях работодателей к джунам мы узнали благодаря анализу вакансий и комментарию HR-эксперта Вероники Ильиной. Чтобы соответствовать этим требованиям, достаточно единственного фактора. Вам нужно развиваться: изучать программирование и смежные дисциплины, нарабатывать гибкие навыки. И не забывайте рассылать резюме и ходить на собеседования, без этого найти работу не получится.
Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях
В чем заключается работа Junior Developer’а?
Изучаю программирование на Java.
Так уж случилось, что друзей у меня из АйТи индустрии нету, соответственно не с кем обсудить вопросы на уровне любопытства.
Был один раз в Киевском офисе GlobalLogic, оценил дизайн офиса и т.п..
Но вот что меня действительно интересует — это как происходит рабочий процесс самого разработчика в течении дня. Какие задачи даются? Как это всё выглядит? Просто не могу понять — когда меня возьмут на работу в ту или инную компанию на работу — чего от меня будут ожидать?
Искал видео на ютубе, но находил в основном ролики с юмором или пиаром той или инной компании.
Разрешает ли политика компаний, что-бы кто-то (если у кого-то появится желание) привел меня в офис показать сам процесс работы?
Или ответы на вопросы я смогу получить только устроившись на работу?
Или в процессе обучения они сами по себе отпадут и я вообще пишу не по адресу?
PS: Прошу не судить, если отнял чье-то время.
В избранное В избранном 0
Похожие топики
60 комментариев
Носить кофе. По пятницам еще и пиво.
На мой взгляд, при вступлении в большой разросшийся проект, первым делом нужно осмыслить и понять его архитектуру, где какой код что делает в общих чертах. Важно также прежде всего разобраться, кто и как на нём делает деньги. Исходя из всего этого будет понятен круг задач, и как их выполнять. Скорее всего тебе дадут какую-то рутину, которую никто не хочет разгребать. Если проект только стартует, то не понятно зачем ты там нужен.
Сам процесс может различаться, в зависимости от формы ведения бизнеса и тараканов в голове рулящих. Как правило, если команда маленькая, это какой-то стартап, отношения неформальные, многое будет зависить от тебя. Если контора большая, ты там скорее всего будешь на птичьих правах, нужно будет проникнуться тонкостями бюрократии в той или иной форме. Визуально работа должна выглядеть так, что ты сидишь за компом, и что-то печатаешь в редакторе. Ответ на вопрос «какого чёрта ты тут делаешь» у тебя всегда должен быть на готове. Выступай на митингах, если они там есть, только постарайся не пороть при этом чушь.
«Чем джун отличается от мидла — он стыдится признать самому себе что говнокодит.
Чем мидл отличается от синьёра — он стыдится признать это коллегам»
(не моё)
Можешь задать у у тех кто будет собеседовать. Скорей всего они расскажут как будет проходить твоя работа.
Примеры задач у джуниора могут быть такие:
— есть форма ввода данных с набором полей. Нужно добавить новое поле в эту форму;
— что-то отображается неправильно, нужно подправить;
— какую-то функциональность что уже есть в одном месте проекта, сделать также в другом месте;
— исправить какой-то мелкий баг;
Просто не могу понять — когда меня возьмут на работу в ту или иную компанию на работу — чего от меня будут ожидать?
Или ответы на вопросы я смогу получить только устроившись на работу?
В чем заключается работа Junior Developer’а?
Ага, значит гнобить собираются. ;))
А как же, в таком деле без дедовщины никак 😉
Доставать всех предложениями по улучшению всего и вся. На 90% предложений получать ответ «на это нет времени, нам более важно как можно быстрее выпустить эту фичу в продакшн», но не сдаваться.
Алсо, задавать много вопросов и получать много ответов. Читать книги. Писать пет проекты( потому как никто не требует от джуна делать тонну работы за короткое время)
Ну это если по уму, а вообще багфикс 🙂
Честно говоря, не определился. В данный момент изучаю язык, а во время отдыха — почитываю форум и присматриваю, какие бывают вакансии и профессии. С детства просто хотелось заниматься в ай-ти индустрии, но навязанные страхи окружающего социума сбили с толку и испугали настоять на своем. Ну а теперь, когда есть работа, на которой есть время и возможность учиться — учусь с желанием войти в IT сферу.
Что же, тогда более конкретно не отвечу по Вашему вопросу для определенной сферы. Советую определиться как будете готовы. Хотя в общем задача начинающего программиста сводиться к написанию кода, тестов и документации, а также баг-фиксам.
Благодарю. А обязанности мобайл и энтерпрайза сильно отличаются?
В ентерпрайз не работал, но друзей там хватает. Так что с моей точки зрения области достаточно отличаются.
Все зависит от размера компании, бывает что и швец и жнец и на дуде игрец
расскажите про мобайл )
спс!
Вот несколько примеров задач для начинающего программиста из реальной жизни: www.fulcrumweb.com.ua/archives/7242
www.fulcrumweb.com.ua/archives/7281
Здесь, правда, речь идёт о С++ и C#, но, думаю, что всё равно может быть интересно — чтобы получить общее представление.
Расписание немного меняется во время релиза, но это уже ваш лид вполне доходчиво донесет
Некоторые джуны 60% времени играют в теннис, некоторые шарятся по офису. Но на них ориентироваться не надо.
Некоторые джуны 60% времени играют в теннис, некоторые шарятся по офису. Но на них ориентироваться не надо.
Путь к Java Junior Developer
Здравствуйте.
Меня зовут Кислин Григорий. В начале ноября в Санкт-Петербурге закончился первый обучающий семинар «Java. Базовый курс», сейчас переименнованый в «Java. Junior Developer. Интенсив». Хочу поделиться с Вами полученным при его проведении опытом на тему обучения Java а также своим опытом трудоустройства на позицию Java разработчика.
Изучаем Java
Вторая вещь после синтаксиса языка — наиболее часто используемые API. На начальном этапе это сервлеты, JSP, JDBC, JUnit.
Затем идет вещь, нужная любому программисту (не только Java) — кругозор. Сюда относится SQL, XML (xsd, xslt, XPath), HTML, JavaScript, Unix shell и пр.
Наконец, инструменты разработки. Общие: отладка в браузере (например firebug для FF), системы багтрекинга и контроля версий, СУБД, инструменты CI и Java: Ant / Maven, веб-контейнеры/серверы приложений.
И, как говорится, last but not least — IDE: создание проекта, кодирование, рефакторинг, дебаг, деплой, тестирование. Насколько вы им владеете, настолько быстрее, проще и качественнее будет ваш проект. По IDEA рекомендую познакомится с роликом Эффективная работа с кодом в IntelliJ IDEA.
Практика
70% времени гуглить на тему лучшего решения каждой локальной проблемы и лучшего варианта кода. Для поиска особенно рекомендую ресурс stackoverflow.com, в ответах которого нужно будет отделить зерна от плевел. Особенно хорошо, если это не абстрактное приложение, а что-то нужное. Или, например, тестовое задание на работу. Вам круто повезет, если Вы знаете предметную область, хороший программист и Вас готовы взять на работу без опыта в Java — тогда Вы получаете опыт а вам еще за это платят. Здесь интересная классификация работы, зарплаты и получаемого опыта. Я бы только не стал сводить все к деньгам и карьере. Когда наберетесь опыта и будет возможность выбирать, можно кодировать для себя, для удовольствия. Ну и выгодно продать себя — это тоже часть игры в программирование, мера вашего профессионализма.
Собеседование
Совсем недавно на Хабре опубликовали хорошую статью про собеседование с позиции работадателя. Там тоже люди:) и чем более человеческие отношения у вас сложаться с собеседующим — тем больше шансов на успех. Ну и вообще — останется приятный осадок. Однако есть и такие собеседования, с которых я бы ушел с чувством, что мы мало подходим друг другу и хорошо, что мне не придется работать с таким начальником. Наконец, как только почувствуете достаточную уверенность, ходите на собеседования! (для людей с опытом, я бы еще добавил исследование рынка с позиции архитектуры, решений и технологий, с частотой пару раз в год и на позиции которые действительно интересны). Причем старайтесь из каждого вынести максимум. Если не знаете — не стесняйтесь поинтересоваться правильным ответом.
После собеседования сразу садитесь за гугл до полной ясности и не сидете сложа руки, ожидая результата. Продолжайте заниматься тем же, что и до него: обучаться и ходить на следующие интерью. Относитесь к этому как к процессу. В случае, если ответа не дали в означенный срок, не стесняйтесь позвонить и поинтересоваться результатом. В случае, если у Вас есть email собеседующего (например вам прислали тестовое задание), и вразумительного ответа от HR не дождаться, можно поинтересоваться результатом напрямую. Разумный срок для пингования — раз в неделю. Я где-то полтора месяца, ничего особенного не ожидая, раз в неделю сначала звонил, а потом переписывался с Yota. В результате меня передали в другой отдел, где условия оказались лучше тех, куда я изначально собеседовался.
При этом, все таки, основа любого собеседования на позицию Java-разработчика это ваши знания: общее понимание сути программирования вообще, java в частности и специфические вещи java. Например: «Сколько экземпляров синглетона может быть в одной JVM?» (необходимо произнести ключевую фразу- зависит от ClassLoader). Вот пример вопросов на собеседовании по коллекциям. Причем это далеко не все вопросы. Меня, например, спросили- почему берется не просто хэш ключа, а в нем еще перемешиваются байты? Вопрос скорее на общее понимание работы HashMap и сообразительность, ответ можно посмотреть в реализации HashMap. Конечно, все вышеперечисленное не потребуют от Junior. Но чем больше знаний у Вас будет — тем выше Ваши шансы.
Итоги
Путь в тысячу миль начинается с одного шага
Если временем не ограничены, можно пробовать освоить все самостоятельно. Если нет, встает вопрос — как получит за минимальное время максимальное количество знаний? Можно поискать индивидуальное репетиторство (особенно если пробелы в чем-то конкретном) или закончить Java курсы с максимально широким и глубоким вхождением в тему. Я бы выделил следующие критерии отбора:
Если Вы собираетесь (или продолжаете) изучать Java, то надеюсь, что Вам было небезинтересно:).
Спасибо.
PS: Перепост из песочницы, куда я попал за ссылку на курс. Отдельное спасибо пользователю Хабра, возвратившему мне инвайт.