Кто такие джуниоры? Что должен знать Junior-разработчик? | OTUS

Кто такие джуниоры? Что должен знать Junior-разработчик?

Если вы только пытаетесь войти в «айти», то вы вряд ли можете претендовать на позицию выше джуниора. В этой статье мы расскажем о том, кто же такой джун (джуниор, Junior), какими навыками он должен обладать, а также ответим на вопрос, какие еще градации существуют.

Очень часто в объявлениях о трудоустройстве можно найти информацию о том, что та или иная компания ищет джуниора. Под наименованием «джун» подразумевается стартовая позиция в разработке. Речь идет о «новичке» — человеке, имеющим минимальный опыт работы, причем не столь важно, сколько этому человеку лет. Да, «эйджизм» порой присутствует, однако можно привести примеры, когда джунами успешно становились люди, которым более 40 лет (часто именно в среднем возрасте появляется желание перейти в новую профессию, есть даже случаи, когда люди устраивались в IT и в 50 лет, ведь никогда не поздно начать все с нуля).

Пусть вас не смущает словосочетание «начинающий разработчик», то есть не стоит думать, что джун ничего не умеет. Джуниор — это все же специалист, хоть и младший. То есть он способен самостоятельно писать свой код, понимает принципы работы программ, может разобраться в чужом коде, успешно справляется с простыми задачами, а при помощи ментора может принять участие и в решении средних по сложности задач.

Но прежде чем продолжить, давайте рассмотрим общую градацию программистов.

Уровни разработчиков

В программировании, как и в тестировании программного обеспечения, существуют 4 общепринятых градации: — Trainee (стажер). Он может работать в компании временно и часто бесплатно (хотя в некоторых компаниях стажировка оплачивается, но платят за нее мало). Это чаще всего студент старших курсов, который учится и практикуется, набирается опыта. Он редко участвует в написании «боевого» кода, но основами программирования уже владеет; — Junior (младший специалист). Пишет код под чутким присмотром нескольких более опытных коллег. Такому специалисту уже мало основ, его уровень компетенций выше; — Middle (мидл, специалист среднего уровня). Вполне себе состоявшийся спец среднего звена, который способен самостоятельно писать качественный код. Такие нужны на рынке часто — им и платить не надо слишком много, и навыки у них довольно высокие; — Senior (сеньор, старший специалист). Имеет неплохой опыт разработки. Разбирается в архитектуре программного обеспечения и паттернах программирования, знает о взаимодействии систем, модулей и т. п.

На практике это деление бывает условным и зависит от внутренних требований ИТ-компании. Бывает, что тестировщик не может получить уровень Senior, если не подтвердит свою квалификацию путем сдачи экзамена по ISTQB.

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

Какова зарплата у юниоров?

Не стоит думать, что, только устроившись разработчиком, вы сразу же станете получать тысячи долларов — это не так. Сколько вы получите — зависит и от языка программирования, и от компании, и от результатов собеседования, и от специфики деятельности (бэкенд, фронтенд, фулстэк). Но все равно заработная плата не бывает поначалу слишком большой и находится в пределах 40-60 тысяч российских рублей.

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

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

Важно понять, что карьера в IT — это путь, который нужно пройти, то есть на быстрое обогащение рассчитывать не стоит. Не надо думать и то, что пройдя один из многочисленных ИТ-курсов, вы сразу станете профессионалом — достаточно вспомнить, что для получения профессии инженера в университете нужно учиться не менее 4 лет. Почему же некоторые думают, что все нюансы специальности инженера-программиста можно освоить за неполный год, пройдя соответствующий онлайн-курс?

Всё, что нужно знать Junior-разработчику

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

Hard skills

Популярные вопросы: — почему вы выбрали именно этот язык программирования? Нужно понимать, какие у выбранного языка слабые и сильные стороны, где его лучше использовать, в каких случаях он не подойдет. Или же вы просто постарались выучить то, за что платят больше? — где учились, участвовали ли в реальных проектах? Тоже простой вопрос, от которого многое зависит. Приветствуется опыт участия в небольших проектах, которые вы реализовали в рамках обучения (именно поэтому обучение на большинстве курсов OTUS заканчивается курсовым проектом). Также важно иметь базу работ на GitHub. Хорошо, если вы участвовали в профильных мероприятиях: митапах, конференциях, хакатонах и конкурсах (прекрасно, если побеждали). Сертификаты об изучении технологий и окончании курсов тоже должны быть, хотя спрашивают их не всегда; — принципы ООП. Желательно не просто знать, но и иметь опыт применения на практике, разбираться в том, когда и какие принципы лучше применять; — алгоритмы сортировки. Могут задать вопрос про алгоритмы, а также дать задание написать код с применением быстрой сортировки; — какими технологиями владеете? Знать один лишь язык программирования явно недостаточно. Младший программист должен обладать и другими знаниями. Это и Spring, и базы данных/SQL, и системы контроля версий. Что-то требуется знать на начальном уровне, что-то будет просто плюсом; — опыт работы с IDE. Один из популярных вопросов — с какими средам разработки вам приходилось работать. Можно знать и одну среду, но при условии, что вы в ней разбираетесь довольно хорошо; — опыт работы с БД. Совсем необязательно быть профессиональным архитектором баз данных и работать с ними много лет. Но понимать, как выполнять запросы к БД, знать язык SQL (хотя бы на простом уровне), понимать логику работы БД — это все важно. Дополнительный плюс — назвать СУБД, с которыми приходилось работать, рассказать их плюсы и минусы; — опишите свой проект. Тоже важный вопрос, который мы уже упоминали. Дело в том, что младшие разработчики должны знать не только теорию, но и иметь опыт применения ее на практике. Хорошо, если вы можете рассказать про самый сложный проект, продемонстрировать его и со знанием дела отметить основные сложности, которые решали в процессе создания проекта; — какие методологии разработки известны? Такой вопрос задают и тестировщикам. Надо понимать суть основных классических методологий и быть в курсе методологии Agile (принципы, а также Scrum и Kanban). Эти знания точно лишними не будут; — опыт работы с Git. Важный вопрос, о котором уже вкратце упоминали. Главное — разбираться в системах контроля версий. Это может быть не только всенародно любимый GitHub, но и GitLab или BitBucket.

Кроме вышеописанных вопросов, соискателя могут попросить решить парочку несложных задач: 1) на логику; 2) на память и внимание; 3) на поведенческие качества и скорость мышления.

Возможны и другие вопросы, это как повезет. И будьте уверены, что всегда найдется вопрос, на который у вас не будет ответа.

Soft skills

Сегодня без неспециализированных надпрофессиональных навыков тоже никуда. Какие вопросы тут могут быть: — командный ли вы игрок? Коммуникативность — хороший и востребованный навык; — готовы ли вы постоянно учиться? IT-сфера и технологии стремительно развиваются, поэтому следует в очередной раз повторить, что надо быть готовым к постоянной «прокачке» своих скиллов; — какой уровень английского? Да, иногда он не должен быть слишком высоким, но если речь идет о компании, где практикуется работа в распределенной команде из разработчиков из других стран, то хотя бы Intermediate должен быть. Также девелоперу нередко приходится читать техническую документацию на английском и общаться напрямую с заказчиками, которые живут в Европе, США и т. п. Правило простое: чем выше уровень English — тем лучше; — как вы справляетесь со стрессом? Как и на любой работе, в IT тоже есть правила, обязанности, ошибки, дедлайны и прочие «радости» жизни, которые не дают заскучать и ободряюще действуют на нервную систему; — у вас возникла проблема на работе. Как вы ее решите? Это уже вопрос на самостоятельность. Тут следует понимать, что не нужно сразу дергать и отвлекать своих коллег — лучше попытаться разобраться самому, а в случае неудачи прийти за советом не с пустыми руками, а с вариантами решения и некоторыми наработками; — способны ли вы оценить время выполнения задач? Тут будет плюсом опыт с системами управления задачами, да и обычное человеческое умение адекватно оценить сроки и грамотно распределить свое время. Это важно особенно сейчас, когда весь мир перешел на удаленку.

Каких не берут в космонавты?

По итогу статьи сделаем краткие выводы: 1. Учиться придется постоянно. 2. Будьте готовы пройти сложный и долгий путь, карьера в IT не делается за один год (срок превращения младшего разработчика в сеньора индивидуален и зависит от ваших личных способностей/старания). 3. Поначалу платят немного. Это не факт, но лучше быть к этому готовым. Главное, что с годами и при должном старании труды окупятся с лихвой — главное не бросать все на полпути. 4. Приходя на собеседование, будьте подготовлены по максимуму.

Последний пункт написан не просто так. Сегодня существует устойчивое мнение, что требования приема младшего специалиста на работу завышены. Приходилось неоднократно слышать, что сегодня джун должен знать столько, сколько мидл знал в нулевых. Говоря о технических требованиях, скажем, что это действительно близко к истине — появилось огромное количество всевозможных курсов, в результате чего рынок переполнился начинающими программистами, то есть эта профессия стала доступна практически для всех желающих. Даже появился отдельный термин -- "вайтишники". В результате компании стали выставлять более высокие требования, так как задача работодателя — отобрать из общей массы наилучших (всем нужны только best of the best), причем иногда этот отбор напоминает отбор в космонавты советских лет (космонавтика -- мечта многих ребят СССР). С каждым годом конкуренция растет, но это еще не конец — специалисты утверждают, что в последующем требования приема будут только ужесточаться.

Значит это лишь одно: если вы хотите попасть как Junior в компанию, вы должны быть на голову лучше конкурентов, иначе вы так и не проникнете в этот интересный, сложный и высокооплачиваемый мир информационных технологий, увидеть который изнутри дано не всем.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто