Что нужно Junior’у, чтобы успешно устроиться
Не так давно я отвечал на Хабровопрос по поводу того, что нужно знать, чтобы устроиться после ВУЗа программистом, после чего мне был задан вопрос в личку, а также Вконтакте, а что же собственно нужно в подробностях.
В данной статье я постараюсь рассказать, что должен знать молодой специалист, который ищет работу. Я немного разбираюсь в данном вопросе, т.к. год назад, после 3 курса, задался проблемой трудоустройства и успешно нашел свое место, которое смог совмещать с учебой. И я все еще помню о чем разговаривал на собеседованиях (которых было мало, но они были успешными).
Сразу стоит отметить, что данная статья не подходит тем, чья цель работать исключительно в так называемых Major Players (Google, Yandex, Microsoft и т.п.).
Кому интересно — добро пожаловать под кат (под катом вакансии для Москвы и Казани из комментариев, а также предложение о стажировки для Питера).
Итак, Junior — это программист, который должен уметь и все и ничего одновременно.
Подробнее о каждом из утверждений.
Junior должен уметь все
Человек, который пришел устраиваться на должность младшего программиста должен знать язык, на котором собирается писать (знать — не означает уметь абсолютно все, но чувствовать себя уверенно, если попросят что-нибудь написать). Также стоит разбираться в специфике конкретной области интересов (если вы собираетесь кодить под сети — стоит иметь представление о сетях, что там и как).
Junior должен уметь ничего
В то же время если ищут Junior’а — значит готовы учить. Вы можете не уметь писать грамотный код, уметь хорошо его комментировать и прочее, да и честно говоря, вряд ли человек без опыта продакшина будет это уметь.
Вроде ничего нового я не сказал, да и конкретики никакой нет, но ее и не может быть. Нет определенных общих требований для Junior’ов, есть конкретные требования на вакансию, можно поискать на hh.ru, там написано.
Теперь о вещах, которые помогут Вам найти свое место
Если Вы студент — значит похвастаться опытом работы не получится, а Ваши студенческие успехи вряд ли интересуют работодателя, если это конечно не супер-пупер достижения на олимпиадах, конкурсах и пр. Но Вам никто не мешает заниматься собственными проектами, о которых можно поговорить (я на собеседованиях на Junior’a почти все время рассказывал о своем проекте), это дает работодателю шанс понять, что хотя опыта коммерческой разработки нет — есть опыт работы над задачей, опыт формулировки задач, возможно опыт работы в команде, это ценится больше, чем курсовик по предмету «Программирование на C++» на 5 семестре.
Еще одним очень важным вопросом является — Алгоритмы и структуры данных. Так уж сложилось, что при устройстве на вакансию Junior’a многие компании готовы простить Вам незнание этих вещей, ведь ваша задача как Junior’а скорее всего, к сожалению, будет жарить код.
Вывод: пишите что-нибудь для себя, пишите полезные утилиты, пишите с друзьями, участвуйте в сторонних проектах. Такой опыт позволит Вам лучше узнать свой язык программирования, научиться писать лучше и понятней.
В заключение
Я не сказал ничего нового в этой статье, я лишь попытался рассказать, что ничего особенного знать не нужно, нужно просто знать и быть уверенным в себе, уметь решать задачи, уметь ставить задачи. А опыт работы заменять опытом участия в различных проектах.
Успехов Вам в поисках.
P.S. И не повторяйте ошибок, когда пришел человек устраиваться летом на Junior C++ и не смог написать простого цикла, объясняя это «Лето ведь, забыл все».
P.P.S. Тут и тут неплохие, на мой взгляд, подборки литературы. Можно выбрать что-нибудь себе по душе.
UPD: Вот список предложенных в комментах вакансий
Москва: Если умеете linux/svn/php5/mysql/jquery/zend и не имеете большого опыта работы, то пишите kai, чтобы получить шанс устроится на работу в приличную компанию с именем.
Москва: Требования: PHP5 (умение не ООП, увы, приветствуется), MySQL (сложные пересечения, вложенные запросы), JS|jQuery.
Опыт не требуется, требуется умение разбираться в коде и чужих логиках, и наличие своей. Вакансий несколько.
Писать trijin
Казань: Достаточно основ PHP, Js и MySQL, остальному научим. Писать пользователю rednaxi или на мыло job@beboss.ru
Казань: Ищем человека: php, mysql, js, разумеется, знать сами основы: css и html.
Писать можно в личку пользователю ainuили в жабер (в личке есть)
Приглашения в опенсорс:
alexeygrigorev приглашает в jtalks.org — пишут на джаве движок для форумов, блогов и т.п. В основном участвуют Junior’ы.
Приглашения на стажировку:
Питер: Для тех, кому интересна стажировка в веб девелопменте (php, postgres, memcached, html5, мобильные приложения, и т.д.), приглашаем присоединиться к команде Дзен-мани (zenmoney.ru)
Стажировка подразумевает обучение на примере реальных задач по проекту. Условия очень простые: пока мы обучаем, и для вас и для нас это бесплатно. Как только вы начинаете делать какие-то вещи самостоятельно — мы начинаем платить стипендию. Если через 3-4 месяца вы набираете нужный уровень, возможно устройство в штат компании с зарплатой. Стипендия 10 тысяч в месяц, зарплата после стажировки будет зависеть от набранного уровня и за год может вырасти до 40-50 тысяч.
По занятости: мы готовы обеспечить задачами на 12 часов в сутки, тут, скорее, вопрос к вам. Нас больше интересует не время проведенное в офисе, а результат. Сможете учиться дома — отлично. Естественно, надо будет приезжать в офис, чтобы обсуждать задачи и проводить разбор решений.
Актуально только для Питера и пригорода. Пишите на anton.fedosin@gmail.com
От пользователя laflaf
- работа
- поиска работы
- Junior
- junior developer
- молодой программист
Что должен знать Junior-разработчик
После обучения многие выпускники начинают активно искать работу по специальности. Диплом IT-специалиста чаще всего наводит только на один путь – устраиваться разработчиком в своей области. Для многих вакансия с припиской Junior кажется чем-то непонятным. Джуниор – кто это вообще?
Junior-программист (его еще часто называют джуном) – базовая позиция в IT-компании. Это специалист с минимальным опытом, у которого есть перспективы в развитии.
Что должен знать джун, где искать работу и на какую заработную плату он может рассчитывать – об этом и поговорим в сегодняшней статье.
Градации программистов
Если вы решились стать разработчиком, то будет полезно узнать о градации программистов. Всего их четыре: Junior, Middle, Senior и Intern (стажер).
Одно из главных отличий этих уровней – заработная плата, которая у стажера чаще всего сводится к нулю, а у синьора к максимуму. В разных IT-компаниях требования к программистам могут отличаться – так, например, в одной компании вы можете проходить как Junior, а в другой уже как Middle.
Intern
В некоторых компаниях практикуется брать на работу студентов старших курсов или просто людей без опыта работы. Часто стажеры работают бесплатно и набираются опыта – например, им дается несколько месяцев, чтобы под руководством опытного специалиста дорасти до джуна.
Есть ряд универсальных требований к интернам:
- Английский язык – наиболее частое требование для трудоустройства программистом. Необязательно говорить как носитель языка, но знания, необходимые для чтения англоязычной документации, должны присутствовать. Иногда английский нужен и для коммуникации с зарубежными заказчиками – здесь уже все зависит от компании.
- Базовое понимание своего инструмента. Например, если вы хотите разрабатывать Android-приложения, но не можете объяснить, что такое APK, то шанс попасть на работу будет сведен к минимуму.
На практике вышеперечисленные знания, конечно, подтягиваются, но в первую очередь нужно надеяться только на себя. Если вы не хотите расти, то никто вам в этом не поможет, а вакансия стажера закончится поиском новой работы.
Junior
Спустя несколько продуктивных месяцев стажер перерастает в Junior-разработчика – это младший специалист, который самостоятельно выполняет приходящие задачи. Если разрабатывается какое-то приложение для десктопа, то он должен запрограммировать один из его кусков. И это не означает, что все будет идеально – джуны могут ошибаться. Зачастую они даже не знают план реализации продукта – все это обсуждается с тимлидом, который также проверяет весь код на наличие ошибок и неточностей.
Качества Junior-разработчика – все те, что у интерна, но с добавлением нескольких пунктов:
- Хорошее отношение к критике – это общий пункт, который относится не только к джуниорам. Стоит понимать, что критики может быть чересчур много, но благодаря ей вы сможете вырасти в более квалифицированного специалиста.
- Энергия – без нее никуда. Есть задачи, которые синьор может решить всего за 10-20 минут, но для джуна эти минуты могут растянуться на несколько часов, а то и дней. Главное – терпение и желание учиться.
- Умение учиться на своих ошибках. Важно детально анализировать свой код, а также набираться опыта у старших специалистов.
Начало пути всегда начинается с малого, поэтому будет тяжело, но помните, что Гугл – ваш помощник. Практически все задачи можно загуглить или найти на них ответы в документации.
Middle
И вот мы подошли к середине, откуда начинаются пути ответственных и успешных программистов. Middle-разработчик – это тот специалист, который понимает требования бизнеса и переводит их в технические решения.
Из этого вытекают следующие качества:
- Middle-разработчик знает, что должно делать приложение. Благодаря этому он может глубже понять задачу, оценить ее и качественно реализовать. Если требования установлены нечетко, то мидл-разработчик сразу обратит на это внимание, а не тогда, когда приложение накроется.
- Middle-разработчик знает типовые шаблоны и решения, которые необходимы для создания готового продукта. Понимание структуры приложения сводит сложность задачи к минимуму, а также позволяет рассуждать о принципах правильной реализации.
- Middle-разработчик – душа компании. Он хорошо взаимодействует с членами команды и понимает, что продукт разрабатывается не в одиночку. Может обсудить UX с дизайнером, уточнить у бизнес-аналитика требования или согласовать техническое решение с архитектором проекта.
Помимо всего вышесказанного, Middle может рассчитывать на хорошую заработную плату, однако в некоторых компаниях зарплаты джуна и мидла могут быть одинаковыми.
Senior
Гуру программистов, старший разработчик или просто синьор. Это человек, который повидал огромную кучу кода, натыкался на множество ошибок и смог их решить. Его основная задача – принимать правильные решения в ходе проекта. То есть те решения, которые приносят максимум пользы с минимальными вложениями. Если Middle-разработчик четко понимает, над чем работают члены команды, то Senior думает о том, какие задачи в глобальном плане сможет решить текущий проект.
Синьор – это тот специалист, который решает проблемы еще до их появления. Звание Senior невозможно получить быстро. Следует наработать огромный опыт и понять, как выглядит «идеальный» продукт и чем он отличается от недоделанного. Умение принимать важные и правильные решения – одно из важнейших его качеств. Если в итоге что-то будет сделано не так, то вся вина на синьоре.
Резюмируя, можно сказать, что Senior-разработчик – один из главных участников команды, который знает, как будет работать продукт и что нужно для его реализации.
Теперь вы знаете, из каких участников состоит команда в IT-компании. Давайте вернемся к Junior-разработчику – поговорим о том, где ему искать работу.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Как найти работу
Как и в любой другой сфере, можно сказать, что главное – это желание. Просматривайте биржи вакансий, оставляйте отклики, звоните и проходите собеседования. Может быть, у ваших знакомых на фирмах есть вакансии программиста – поспрашивайте их. Практикуйте посещение форумов и помогайте на них другим пользователям. Спустя некоторое время может найтись тот, кто позовет вас в свою компанию, однако для этого нужно потратить немало сил.
Также стоит сказать немного о резюме – не указывайте информацию об опыте, не связанном с профессией. Пишите кратко, но по делу, постарайтесь рассказать о себе так, чтобы работодателю было интересно пригласить вас на собеседование.
Есть еще один лайфхак – оставлять отклики на заявки Middle- и Senior-специалистов. Речь не идет о том, чтобы претендовать на высокие звания – просто узнайте в сопроводительном письме, не нужен ли компании Junior-разработчик. Вас могут позвать на собеседование.
Зарплата Junior-разработчика
Заработная плата джунов сильно разнится, поэтому я укажу лишь приблизительные цифры, на которые можно ориентироваться при поиске первой работы:
- разработчик мобильных приложений – 42000₽,
- десктоп-разработчик – 46000₽,
- бэкенд – 50000₽,
- фронтенд – 50000₽,
- фулстек – 60000₽.
Хотя на биржах часто встречаются вакансии, на которых джунам предлагают и вовсе 15-20 тысяч рублей, особенно в регионах, далеких от Москвы и Санкт-Петербурга.
Итог
Junior-разработчик – начинающий программист, который знает базовые вещи и понимает принципы работы своего инструмента. Даже если вы только недавно начали изучать программирование, то уже можете претендовать на звание джуна – в худшем случае это будет вакансия стажера, что неплохо для начала. Помните, что при постоянном совершенствовании своих навыков, вскоре вы получите звание Middle. Удачи!
Как стать востребованным Junior программистом? Приходи учиться к нам!
История существования Direct Line насчитывает уже более двадцати лет, шестнадцать из которых мы посвятили разработке сайтов для компаний по всему миру. Мы хотим поделиться своим опытом, поэтому мы решили открыть DL Academy — место, где будут преподавать лучшие специалисты нашей компании. DL Academy предлагает офлайн курсы для программистов, обучаясь на которых вы узнаете все о сфере IT из первых рук, поработаете бок о бок с практикующими разработчиками и станете востребованным junior программистом. Выберете интересующую вас программу в DL Academy и освойте профессию, о которой давно мечтали.
Кто такие junior программисты и что они делают?
Если вы подписаны на группы Вконтакте, телеграм-каналы с вакансиями или хотя бы раз заходили на Headhunter в поисках работы, то наверняка видели объявления, в которых компании ищут junior developer или проще говоря младших программистов. Junior программист — это первая ступень в карьере IT специалиста. Следующий уровень развития специалиста — это middle developer, а за ним следует senior или старший программист. В этой статье мы подробно остановимся на том, кто такие джуны, сколько они зарабатывают и что должен уметь начинающий программист.
Как правило, младшими программистами называют тех специалистов, которые только окончили университет, онлайн или офлайн курсы и не могут похвастаться опытом работы от года до трех, поэтому многие работодатели ищут младших программистов с минимальным опытом или вовсе без него.
Джуны приходят в компании и работают там под присмотром и руководством более старших и опытных коллег и набивают руку на практических заданиях.
Зарплата джуна варьируется в зависимости от региона и от языков программирования, которыми он владеет, но, в целом, за пределами Москвы эта цифра составляет от 20 до 40 тысяч рублей. Но хорошая новость в том, что если ты любознательный и упорный, то в позиции джуна ты надолго не задержишься и уже через год или даже полгода, в зависимости от индивидуальных успехов, можно будет идти на повышение и становиться middle разработчиком.
Ключевые навыки, необходимые junior программисту
На самом деле, навыков и знаний, которыми необходимо обладать начинающему специалисту не так уж и много:
- Язык или языки программирования. Чем больше вы умеете — тем лучше. Часто одного Java или PHP недостаточно для того, чтобы получить место в хорошей компании, однако надо с чего-то начинать и Pyton подойдет для новичков лучше всего. Это универсальный язык, который сейчас пользуется большим спросом, к тому же люди даже незнакомые с кодом смогут его освоить. DL Academy предлагает курсы для Frontend и Backend разработчиков, на которых в течении полугода вы будете изучать теорию и параллельно создавать проекты с использованием HTML, CSS, Python и других языков. После завершения программы у вас будет не только уверенная база знаний, но и практический опыт.
- Придется разобраться в таких понятиях, как объектно-ориентированное программирование, функциональное программирование, шаблоны проектирования, принципы S.O.L.I.D. Это одни из наиболее главных концепций и основа, которая лежит в образовании программиста.
- Английский язык. Не совсем очевидный, но абсолютный мастхэв для любого человека, который мечтает о карьере в IT. Во-первых, это основа языков программирования, а, во-вторых, сейчас многие проекты ведутся интернациональными командами, поэтому вполне вероятно, что вам придется общаться со своими коллегами именно на английском.
- Последнее в списке, но не по значимости: умение и желание учиться, упорство и терпение. Не все будет получаться сразу, программирования это постоянный поиск и исправление своих ошибок. Многие люди, которые пытаются самостоятельно обучиться программированию сталкиваются с тем, что код, вроде бы написанный верно, не работает. У некоторых не хватает терпения и опыта для того, чтобы найти и осознать ошибку, и она забрасывают программирование, уверенные в том, что это не для них. Поэтому для начинающих лучше всего подходят офлайн курсы — там опытные специалисты быстро найдут проблему и доступно объяснят, что пошло не так. Это очень важно иметь поддержку практикующего профессионала, совместная работа поможет junior программисту быстрее освоить основные для работы навыки. На курсе по программированию от DL Academy с вами будут работать наши лучшие разработчики, проверять ваше домашнее задание и давать развернутые комментарии по вашим проектам.
Где найти работу начинающему программисту?
В первую очередь можно разместить свое резюме и откликаться на вакансии на таких площадках, как, например, HeadHunter или LinkedIn (если у вас все хорошо с английским). Также можно просматривать тематические телеграм-каналы и паблики Вконтакте. Будьте готовы предоставить свое резюме, а также укажите проекты, над которыми вы работали. Иногда junior программистов просят пройти тестовые задания, чтобы оценить их навыки, поэтому не удивляйтесь и не расстраивайтесь, работодатель просто хочет убедиться в том, что вы ему подходите.
Студентам DL Academy мы предлагаем уникальную возможность — начать свою карьеру в нашей международной компании Direct Line.
Этим могут воспользоваться только наши лучшие студенты, но если вы не вошли в их число, то не стоит расстраиваться, ведь обучение в DL Academy это не только знания, но и помощь с составлением резюме, подготовка к собеседованиям, а также специальная база подходящих вам вакансий. После обучения мы не оставляем джуна на произвол судьбы, а ведем его до самого момента трудоустройства.
Самое главное для человека, который мечтает о карьере в IT — это иметь мотивацию и желание постоянно изучать новое, ведь рынок информационных технологий непрерывно развивается и меняется. Если вы любознательный и увлеченный человек, то программирование станет для вас не только работой, но и увлечением на всю жизнь.
17 вопросов джуну: что должен знать Junior-разработчик
Что должен знать Junior-разработчик и не завышены ли требования? Разобрали популярные вопросы с собеседований, разделив их на hard и soft skills.
Что должен знать Junior-разработчик, чтобы получить должность или удержаться на уже «завоёванной» позиции?
Джун — это уже пусть и младший, но специалист. Подразумевается, что он самостоятельно умеет писать код, может справиться с простыми задачами сам, а со средними по сложности задачами — под присмотром ментора.
Кто-то говорит, что требования завышены, и в 2020 году младший программист должен знать то, что знал Middle в нулевых. Кто-то парирует аргументами о росте конкуренции, сложности задач и, соответственно, требований.
Что касается технических требований к джунам, то в последние годы они действительно выросли. Профессия программиста стала доступнее из-за курсов, и рынок переполнился начинающими разработчиками. Поэтому компании начали выставлять определённые требования, чтобы найти из общей массы тех, кто лучше других.Например, теперь на позицию начинающего front-end разработчика недостаточно просто знать JavaScript, HTML5/CSS3: нужны базовые знания одного из популярных фреймворков (React, Vue, Angular). Кажется, что со временем требования будут расти ещё сильнее.
Мы разобрались, что должен знать Junior-программист в 2020 году, и собрали общие вопросы с собеседований, по которым работодатели определяют, дотягивает кандидат до нужной планки или нет.
Hard skills
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Soft skills
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Что должен знать Junior-разработчик? Отвечают эксперты
Олег Власенко
заместитель генерального директора SimbirSoft
Говоря о необходимых навыках, сразу важно прочертить границу между джуном и стажёром, поскольку эти роли достаточно часто путают.
Стажёр — человек, который только учится, часто он не имеет опыта разработки. Со стажёрами мы в компании чаще всего имеем дело на наших стажировках, которые мы в разных форматах организовываем с 2012 года. Как правило, значительная часть их аудитории — это студенты без опыта работы. Конечно, если стажёр хорошо себя показывает, мы можем пригласить его на собеседование, а по итогам собеседования даже взять его в компанию, если есть надежда, что он за пару месяцев выйдет на уровень джуна. Но далеко не все стажёры так быстро дорастают до этого.
Тем временем джун — это уже пусть и младший, но специалист. Подразумевается, что он самостоятельно умеет писать код, может справиться с простыми задачами сам, а со средними по сложности задачами — под присмотром ментора. Соответственно, такой специалист обязан обладать уверенными знаниями как минимум одного языка и фреймворка. Да, его знания, скорее всего, не будут глубокими, но он должен знать основы. Значительная часть сил джуна уходит на освоение нового. Ведь чтобы стать мидлом и выйти на новый уровень оплаты своего труда, джуну придётся освоить несколько фреймворков пусть и поверхностно, глубоко изучить как минимум один фреймворк, возможно, подготовиться и сдать экзамен по сертификации, получить опыт в разных проектах. Соответственно, важнейшими soft skills для джуна (да и для любого ИТ-специалиста вообще) будут навыки самообучения, навыки и опыт решения любых проблем, самодисциплина и мотивация к обучению.
Если рассматривать hard skills, то, наверное, нужно упомянуть такие профессиональные навыки, как умение искать информацию в поисковых системах, знание средств коллективной разработки (Git и другие), знание IDE, языка и фреймворка.
Завышены ли требования к джунам? Уверен, нет. Всё проясняется, если разделить понятия стажёр и джун и рассматривать джунов, как младших специалистов, а не просто тех, кто начал учиться.
София Техажева
руководитель программ «Python-разработчик» и «Алгоритмы для разработчиков» в Яндекс.Практикуме
Junior-разработчику, как в принципе и любому специалисту в сфере ИТ, важны такие качества, как ответственность, стремление к профессиональному росту, умение управлять рабочим временем и работать в команде. Кроме того, от начинающих разработчиков дополнительно ждут умения быстро осваивать новый материал и вникать в суть задач.
Требования к hard skills будут зависеть от направления. Например, мы уже подробно рассказывали, что работодатели ждут от Junior-Python-разработчика. Для таких специалистов это чаще всего знание языка программирования Python, алгоритмов и структур данных, опыт работы с базами данных и фреймворками.
Современные требования к Junior-разработчикам не кажутся мне завышенными. Во-первых, требования очень отличаются от компании к компании. Нужно также иметь в виду, что в описании вакансий обычно пишут портрет идеального соискателя, на деле же готовы брать кандидатов не со всеми перечисленными навыками. Во-вторых, большинство работодателей понимают, что любого джуниор-специалиста придётся учить, поэтому хотят от кандидатов в первую очередь бойкости и заинтересованности.
В технических навыках обычно требуется наличие какого-то (хотя бы учебного) опыта программирования, знакомство с основными инструментами, умение решать типовые задачи. Для получения даже этих навыков придётся постараться. Разработка имеет относительно высокий порог входа по сравнению с другими ИТ-профессиями, но планка по найму в последние годы, скорее, снижалась, чем наоборот.
Александр Махновский
руководитель отдела разработки Аванпост
По нашему опыту в последние годы требования к Junior-разработчикам у нетоповых компаний снизились. Связано это с кадровым голодом, вызванным, с одной стороны, ростом рынка, с другой, демографическим провалом девяностых–начала 2000-х.
В целом для джуна, планирующего работать в прикладной разработке, требования можно определить следующим образом:
- Знать синтаксис языка, на котором предстоит работать.
- Знать основу стандартной библиотеки языка и представлять её структуру в целом.
- Понимать принципы работы технологической платформы и среды исполнения (например jvm).
- Понимать принципы работы реляционных СУБД, иметь навыки работы с ними.
- Знать основы веб-разработки.
- Понимать, как в целом устроен мир: как работает сетевое взаимодействие, какая инфраструктура существует в интернет- и корпоративных сетях, понимать отличия парадигм программирования, скриптовых языков от компилируемых и т. д.
- Уметь решать простые прикладные задачи, т. е. применять знания, перечисленные выше, с пользой.
- Умение слушать, воспринимать постановку задач и пояснения, не упускать детали, но и не зацикливаться на них.
- Способность и желание обучаться в процессе работы.
- Умение задавать вопросы и в целом формулировать мысли.
- Любознательность и стремление к развитию.
- Ответственность.
Как правило, у всех ребят, приходящих к нам на собеседование, всё в порядке с основными хард-скиллами, учитывая, что они предварительно проверяются простейшим тестовым заданием.
Большинство же отклонений по результатам собеседования происходит по причине отсутствия практических навыков или критичных софт-скиллов, таких, как умение слушать.
Это не самые высокие требования: могу с уверенностью сказать, что 10-15 лет назад требования были значительно серьезней. Отрасль была менее лояльной к новичкам, готовность брать на работу, платить не самую низкую зарплату и учить была у единиц компаний. Сейчас же все, даже самые небольшие софтверные и не только компании, готовы вкладываться в обучение вчерашних студентов, несмотря на все сопутствующие риски. Всё, что нужно джуну сегодня, — общая адекватность и минимальные знания технологий.
Выводы
Мнения насчёт того, завышены требования к джунам или нет, очень разнятся. Но практически все эксперты сходятся в том, что Junior-разработчик должен знать о преимуществах и сферах применения выбранного языка или технологии, уметь работать с Git, знать основные алгоритмы, библиотеки и фреймворки в своей сфере, быть в курсе возможностей хотя бы одной IDE, знать английский не ниже уровня Intermediate и уметь работать в команде.