junior программист что делает

Кто такой джуниор и стоит ли идти им работать?

Некоторые компании пишут в объявлениях, что ищут джуниор-программистов. В этой статье — кто такие джуны, что они делают и надо ли вам туда.

Послушать аудиоверсию этой статьи (6 минут):

Джуниор-программист или джун — стартовая позиция в программировании. Это человек, который имеет небольшой опыт работы с каким-то языком и выполняет рутинную работу с перспективой роста.

Если вы умеете писать простые программы, понимаете их принцип работы и можете разобраться в чужом коде с комментариями — значит, вы можете быть джуниором.

Градации программистов и фулстек

Есть четыре градации в программировании: стажёр, джуниор, мидл и сеньор (Junior, Middle, Senior).

Деление условное, всё зависит от требований компании. То, что одни компании требуют от джуниоров, другие хотят от мидлов.

Единых требований к рабочему процессу у джуниоров тоже нет. Кто-то ждёт, что человек на этой позиции будет делать только вспомогательную работу, но не допускают до основного кода. Максимум — им могут дать писать документацию. В других фирмах джунов сразу сажают на рабочие проекты и дают мидла в помощь.

За опытом

Если хотите быстро прокачаться в языке программирования, быть джуном — идеальный вариант. Есть компании, которые не готовы платить много новичкам, но готовы вкладываться в их развитие, чтобы вырастить себе сильного программиста. Они платят по 30–40 тысяч рублей, но помогают вам освоить язык: комментируют код, дают кураторов, обучают. При этом вы тоже будете делать что-то полезное для компании.

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

За деньгами

Второй вариант работы джуниором — сразу начать зарабатывать, но тут сложнее. Немногие компании готовы сразу платить нормальные деньги новичкам в надежде, что они сами всему научатся. Можно рассчитывать на зарплату всего на 10–15 тысяч больше, чем в первом варианте, но требования тут другие. От вас будут ждать, что вы сами способны выдать рабочий код. Поблажек на то, что вы только начинаете, не будет.

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

Медианные зарплаты джунов

Мы посмотрели на статистику зарплат в калькуляторе «Моего круга». Данные на начало 2019 года:

Для сравнения: медианная зарплата фулстек-мидла — 80 тысяч.

Что в итоге

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

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

Если не бросать развитие и программирование, можно вырасти в мидла с зарплатой и возможностями побольше, но о них — в другой раз.

Источник

Разница между «джуном», «мидлом» и «сеньором». И что делать, чтобы перейти на уровень выше

junior программист что делает. Смотреть фото junior программист что делает. Смотреть картинку junior программист что делает. Картинка про junior программист что делает. Фото junior программист что делает

Уровень разработчика не обязательно определяется многолетним опытом программирования: «джун» вполне может быть старше «сеньора», — всё сводится к профессиональным навыкам. Это не означает, что старший разработчик должен быть специалистом во всём, но можно с уверенностью сказать, что навыки у него гораздо более развиты, чем у разработчиков младшего и среднего уровня.

Но разработчиков различных уровней отличает нечто большее, чем умение собственно программировать. Так в чем именно кроются различия?

Знания

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

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

junior программист что делает. Смотреть фото junior программист что делает. Смотреть картинку junior программист что делает. Картинка про junior программист что делает. Фото junior программист что делает
Фото — Clem Onojeghuo, площадка Unsplash

Программирование

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

Код должен нести в себе смысл для тех, кто будет работать с ним в будущем. Команда, подхватившая за кем-то другим проект, должна иметь возможность открыть его исходный код и начать работать над новыми функциями или исправлением ошибок. И здесь кроется существенная разница между «джуном» и «сеньором».

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

Как вычислить «джуна»

Младшие разработчики неопытны: иногда это выпускники, которые только начинают работать на полную ставку. В их голове основная задача — заставить код работать. Если приложение работает — значит, оно хорошее.

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

Младшие разработчики сосредотачиваются на «компьютерной» части кода, упуская из виду «человеческую».

Как пишут код «сеньоры»

Глядя на код старшего разработчика, можно подумать: и это всё? А где остальное? Достаточно опытный разработчик пишет простой, понятный и, возможно, местами даже чересчур прямолинейный код — и это одно из самых важных качеств, если говорить о программировании. «Сеньор» следует принципу KISS, гласящему, что код должен быть простым и понятным: «Keep it simple, stupid»

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

Не программированием единым

Помимо навыков программирования, есть и другие факторы, которые могут подсказать, что за разработчик перед вами.

Младшие разработчики, как правило, выполняют самые простые и не самые важные задачи; они не занимаются разработкой архитектуры. Разработчики среднего уровня тоже не разрабатывают решения, а просто выполняют задачи, однако их меньше контролируют — если задание довольно типовое. А вот «сеньоры» могут разработать приложение совершенно самостоятельно.

Это не значит, что у старшего разработчика по ходу дела не возникает вопросов: у любого из нас каждый день появляется множество вопросов, и «сеньоры» тут не исключение.

Разница в том, что последние знают, как задавать правильные вопросы и что делать с полученными ответами. Менее опытные разработчики могут задавать правильные вопросы, если речь идет о привычных им задачах, но в более сложных случаях им приходится обращаться за помощью.

Старший разработчик никогда не теряется и знает, как правильно действовать, получив ответ на вопрос. Это не значит, что он не будет просить совета у других — иногда лучшим решением бывает именно обратиться за помощью к тем, кто имеет больше опыта в данной области.

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

А вот в случае «джунов» не следует ожидать, что они смогут задавать нужные вопросы: у них недостаточно практики, поэтому ими должны руководить более опытные коллеги. Младшего разработчика следует обеспечить необходимыми ресурсами или хорошенько подтолкнуть в правильном направлении.

Переход на следующий уровень

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

От «джуна» — к «мидлу»

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

Что касается программирования — следует научиться писать простой код: представьте, что после вас над проектом будет работать другой человек. Кроме того, придется научиться заниматься отладкой — это углубит понимание того, что происходит во время работы программы.

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

От «мидла» — к «сеньору»

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

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

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

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

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

Заключение

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

Опытные разработчики пишут более простой код и подходят к этому иначе. Но кроме того, чтобы уметь программировать, очень важно также знать, какие вопросы задавать и что делать с полученными ответами. Именно старший разработчик — тот человек, чей богатый опыт позволяет не растеряться и в любой ситуации найти решение.

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

Напоследок процитирую Мартина Фаулера:

«Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку»

Перевод статьи выполнен в Alconost.

Alconost занимается локализацией игр, приложений и сайтов на 70 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.

Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.

Источник

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

junior программист что делает. Смотреть фото junior программист что делает. Смотреть картинку junior программист что делает. Картинка про junior программист что делает. Фото junior программист что делает

После обучения многие выпускники начинают активно искать работу по специальности. Диплом IT-специалиста чаще всего наводит только на один путь – устраиваться разработчиком в своей области. Для многих вакансия с припиской Junior кажется чем-то непонятным. Джуниор – кто это вообще?

Junior-программист (его еще часто называют джуном) – базовая позиция в IT-компании. Это специалист с минимальным опытом, у которого есть перспективы в развитии.

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

Градации программистов

Если вы решились стать разработчиком, то будет полезно узнать о градации программистов. Всего их четыре: Junior, Middle, Senior и Intern (стажер).

Одно из главных отличий этих уровней – заработная плата, которая у стажера чаще всего сводится к нулю, а у синьора к максимуму. В разных IT-компаниях требования к программистам могут отличаться – так, например, в одной компании вы можете проходить как Junior, а в другой уже как Middle.

Intern

В некоторых компаниях практикуется брать на работу студентов старших курсов или просто людей без опыта работы. Часто стажеры работают бесплатно и набираются опыта – например, им дается несколько месяцев, чтобы под руководством опытного специалиста дорасти до джуна.

Есть ряд универсальных требований к интернам:

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

Junior

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

Качества Junior-разработчика – все те, что у интерна, но с добавлением нескольких пунктов:

Начало пути всегда начинается с малого, поэтому будет тяжело, но помните, что Гугл – ваш помощник. Практически все задачи можно загуглить или найти на них ответы в документации.

Middle

И вот мы подошли к середине, откуда начинаются пути ответственных и успешных программистов. Middle-разработчик – это тот специалист, который понимает требования бизнеса и переводит их в технические решения.

Из этого вытекают следующие качества:

Помимо всего вышесказанного, Middle может рассчитывать на хорошую заработную плату, однако в некоторых компаниях зарплаты джуна и мидла могут быть одинаковыми.

Senior

Гуру программистов, старший разработчик или просто синьор. Это человек, который повидал огромную кучу кода, натыкался на множество ошибок и смог их решить. Его основная задача – принимать правильные решения в ходе проекта. То есть те решения, которые приносят максимум пользы с минимальными вложениями. Если Middle-разработчик четко понимает, над чем работают члены команды, то Senior думает о том, какие задачи в глобальном плане сможет решить текущий проект.

Синьор – это тот специалист, который решает проблемы еще до их появления. Звание Senior невозможно получить быстро. Следует наработать огромный опыт и понять, как выглядит «идеальный» продукт и чем он отличается от недоделанного. Умение принимать важные и правильные решения – одно из важнейших его качеств. Если в итоге что-то будет сделано не так, то вся вина на синьоре.

Резюмируя, можно сказать, что Senior-разработчик – один из главных участников команды, который знает, как будет работать продукт и что нужно для его реализации.

Теперь вы знаете, из каких участников состоит команда в IT-компании. Давайте вернемся к Junior-разработчику – поговорим о том, где ему искать работу.

junior программист что делает. Смотреть фото junior программист что делает. Смотреть картинку junior программист что делает. Картинка про junior программист что делает. Фото junior программист что делает

Как найти работу

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

Также стоит сказать немного о резюме – не указывайте информацию об опыте, не связанном с профессией. Пишите кратко, но по делу, постарайтесь рассказать о себе так, чтобы работодателю было интересно пригласить вас на собеседование.

Есть еще один лайфхак – оставлять отклики на заявки Middle- и Senior-специалистов. Речь не идет о том, чтобы претендовать на высокие звания – просто узнайте в сопроводительном письме, не нужен ли компании Junior-разработчик. Вас могут позвать на собеседование.

Зарплата Junior-разработчика

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

Хотя на биржах часто встречаются вакансии, на которых джунам предлагают и вовсе 15-20 тысяч рублей, особенно в регионах, далеких от Москвы и Санкт-Петербурга.

Итог

Junior-разработчик – начинающий программист, который знает базовые вещи и понимает принципы работы своего инструмента. Даже если вы только недавно начали изучать программирование, то уже можете претендовать на звание джуна – в худшем случае это будет вакансия стажера, что неплохо для начала. Помните, что при постоянном совершенствовании своих навыков, вскоре вы получите звание Middle. Удачи!

Источник

17 вопросов джуну: что должен знать Junior-разработчик

Авторизуйтесь

17 вопросов джуну: что должен знать Junior-разработчик

Что должен знать Junior-разработчик, чтобы получить должность или удержаться на уже «завоёванной» позиции?

Джун — это уже пусть и младший, но специалист. Подразумевается, что он самостоятельно умеет писать код, может справиться с простыми задачами сам, а со средними по сложности задачами — под присмотром ментора.

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

Что касается технических требований к джунам, то в последние годы они действительно выросли. Профессия программиста стала доступнее из-за курсов, и рынок переполнился начинающими разработчиками. Поэтому компании начали выставлять определённые требования, чтобы найти из общей массы тех, кто лучше других.

Например, теперь на позицию начинающего front-end разработчика недостаточно просто знать JavaScript, HTML5/CSS3: нужны базовые знания одного из популярных фреймворков (React, Vue, Angular). Кажется, что со временем требования будут расти ещё сильнее.

Мы разобрались, что должен знать Junior-программист в 2020 году, и собрали общие вопросы с собеседований, по которым работодатели определяют, дотягивает кандидат до нужной планки или нет.

Hard skills

Почему вы выбрали этот язык программирования?

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

Где проходили обучение, участвовали ли в реальных проектах?

В Galileosky мы всегда обращаем внимание на следующие моменты:

Назовите принципы ООП

Старо как мир, но всё так же актуально. Держите шпаргалку по принципам ООП: там всё разложено по полочкам. Если вы хорошо разбираетесь в ООП, можете рассказать о своём опыте их применения на практике. Идеально, если вы также расскажете, почему те или иные принципы не стоит применять в некоторых ситуациях.

Какие алгоритмы сортировки вы знаете? Напишите код с использованием быстрой сортировки.

Ох уж эти алгоритмы сортировки — понять бы, где они пригодятся в реальной жизни. А зачем вообще Junior-разработчику это знать? Тут всё просто: понимание принципов и гибкость мышления. Опять же, с помощью небольшого примера вы покажете, что владеете синтаксисом языка и умеете объяснять, что происходит в вашем коде.

Какие технологии вы знаете?

Для работы на реальном проекте мало знать сам язык программирования. Младшему разработчику необходим большой багаж знаний. Если мы рассматриваем разработчика на Java, кроме самого языка, необходимо иметь хотя бы начальные знания о Spring, базах данных, SQL, системах контроля версий. Это не означает глубокое изучение всех аспектов, но представление о работе с этими технологиями быть должно, даже если нет реальной практики. Зачастую разница между Middle- и Junior-разработчиком — это реальный опыт.

Если говорить о знании конкретных технологий, от начинающего разработчика требуется опыт разработки на каком-то классическом языке программирования со строгой типизацией — подойдёт Java, C++, C#. При этом не так важно, на каком языке программирования придётся писать в будущем: синтаксис языка выучить легко, а вот понимание, что «можно» делать, а чего «нельзя» — нет.

Расскажите, с какими IDE вы работали

Достаточно назвать одну, но хорошо в ней разбираться: какие редакции есть, как подключить библиотеку к проекту, чем выбранная среда разработки лучше других, какие плагины вы использовали, etc. Это то, что должен знать Junior-разработчик.

Есть ли опыт работы с базами данных? Сколько нормальных форм вы знаете и чем они отличаются?

Знать, как обращаться к БД, нужно, а вот что касается нормальных форм — это, скорее, плюс, чем необходимость. Будет хорошо, если вы назовёте СУБД, с которыми работали, обозначите их ключевые особенности.

Также к навыкам стоит добавить SQL. Да, на SQL сейчас никто не пишет, но без SQL невозможно понимание логики работы СУБД.

У вас был свой проект? В чём заключалась задача и как вы её решали?

Чтобы стать Junior-разработчиком, нужно знать теорию и применять её на практике. Разумеется, вы как джун уже должны были что-то писать, будь то на курсах или для себя. Перед собеседованием стоит разобрать один из самых сложных проектов, вспомнить, какие проблемы возникали в процессе работы над ним, и как вы их решали.

Какие методологии создания продукта вы знаете? Назовите несколько принципов Agile

Да, вам стоит почитать об Agile. Даже если вы твёрдо уверены, что никогда не столкнётесь с командной разработкой, поверьте — столкнётесь. Это не то, что обязательно знать Junior-разработчику, но будет плюсом, если вы разбираетесь.

Есть ли опыт работы с Git? Какой веб-сервис для хостинга проектов вы используете?

Неважно, GitHub это, GitLab или BitBucket. Интервьюера интересует главное — разбираетесь ли вы в системе контроля версий.

Также вас могут попросить решить несколько несложных задач

Минимальный испытательный набор состоит из трёх тестов.

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

Во-вторых, смотрят, как кандидат усваивает информацию, как работает его внимание и память. Обычно перед разработчиком ставится задача из 5–6 вводных пунктов, после чего идёт обсуждение её решения. Кандидат должен резюмировать задачу, описать своё решение, а затем сделать выводы.

В-третьих, по косвенным признакам, оценивается коммуникабельность кандидата — развитие его речевых навыков и способность работать в команде. Часто от соискателей на Junior-позицию требуется проактивность (её оценят, предложив несколько «поведенческих» задач) и скорость мышления.

Soft skills

Вы командный игрок?

Коммуникативные навыки — одни из важнейших, и даже если вы разработчик-одиночка, акцентируйте внимание на том, что вы с удовольствием приобщитесь к командной работе.

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

В удалённой работе гораздо большую роль начинают играть soft skills. Гибкие навыки — это не только умение общаться с коллегами, но и банальное уважение к коллегам, к примеру, в чатах — когда ты отмечаешь коллегу, дублируешь сообщение, которое могло потеряться, и закрепляешь важные ссылки на самом верху.

IT-сфера изменчива, постоянно появляются новые технологии. Готовы ли вы всё время учиться?

Все понимают, что у младшего разработчика нет большого опыта и, скорее всего, нет глубоких знаний фреймворков. Поэтому на собеседовании больше внимания уделяется его soft skills: насколько разработчик мотивирован, готов ли он обучаться.

Каков ваш уровень английского языка?

Для нас, в EPAM, важным фактором является также уровень английского языка — не ниже Intermediate, поскольку после обучения можно попасть на проект с распределённой командой, с разработчиками из других стран.

Кроме того, аутсорсинговые компании зачастую работают с иностранными заказчиками, организовывают с ними встречи и созвоны. И вообще, читать и писать документацию стоит на английском, да и на Stack Overflow лежит всё, что нужно знать Junior-разработчику. Поэтому перед собеседованием обязательно подтяните английский язык.

Умеете ли вы справляться со стрессом?

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

Если возникла проблема, как вы будете её решать?

Это больше вопрос на самостоятельность, нежели на способы решения.

Хочется поделиться советом: прежде чем идти к более опытным коллегам с вопросом, постарайтесь сами разобраться в проблеме. Во всех командах очень ценится, когда человек подходит не просто с вопросом «А как это сделать?», а уже обладает какой-то информацией, прикинул варианты решения и обращается за советом, как решить проблему правильнее.

Можете ли вы оценить время выполнения задачи?

Да, это то, что должен уметь Junior-разработчик уже с кое-каким опытом, но на стадии обучения вы должны были получить хотя бы базовый навык оценки сроков.

У нас сотрудники работают удалённо. Поэтому важно грамотно распределять время для решения задач, уметь сосредотачиваться, оценивать сроки и соблюдать их.

Что должен знать Junior-разработчик? Отвечают эксперты

junior программист что делает. Смотреть фото junior программист что делает. Смотреть картинку junior программист что делает. Картинка про junior программист что делает. Фото junior программист что делает

заместитель генерального директора SimbirSoft

Говоря о необходимых навыках, сразу важно прочертить границу между джуном и стажёром, поскольку эти роли достаточно часто путают.

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

17–19 декабря, Онлайн, Беcплатно

Тем временем джун — это уже пусть и младший, но специалист. Подразумевается, что он самостоятельно умеет писать код, может справиться с простыми задачами сам, а со средними по сложности задачами — под присмотром ментора. Соответственно, такой специалист обязан обладать уверенными знаниями как минимум одного языка и фреймворка. Да, его знания, скорее всего, не будут глубокими, но он должен знать основы. Значительная часть сил джуна уходит на освоение нового. Ведь чтобы стать мидлом и выйти на новый уровень оплаты своего труда, джуну придётся освоить несколько фреймворков пусть и поверхностно, глубоко изучить как минимум один фреймворк, возможно, подготовиться и сдать экзамен по сертификации, получить опыт в разных проектах. Соответственно, важнейшими soft skills для джуна (да и для любого ИТ-специалиста вообще) будут навыки самообучения, навыки и опыт решения любых проблем, самодисциплина и мотивация к обучению.

Если рассматривать hard skills, то, наверное, нужно упомянуть такие профессиональные навыки, как умение искать информацию в поисковых системах, знание средств коллективной разработки (Git и другие), знание IDE, языка и фреймворка.

Завышены ли требования к джунам? Уверен, нет. Всё проясняется, если разделить понятия стажёр и джун и рассматривать джунов, как младших специалистов, а не просто тех, кто начал учиться.

junior программист что делает. Смотреть фото junior программист что делает. Смотреть картинку junior программист что делает. Картинка про junior программист что делает. Фото junior программист что делает

руководитель программ «Python-разработчик» и «Алгоритмы для разработчиков» в Яндекс.Практикуме

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

Требования к hard skills будут зависеть от направления. Например, мы уже подробно рассказывали, что работодатели ждут от Junior-Python-разработчика. Для таких специалистов это чаще всего знание языка программирования Python, алгоритмов и структур данных, опыт работы с базами данных и фреймворками.

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

В технических навыках обычно требуется наличие какого-то (хотя бы учебного) опыта программирования, знакомство с основными инструментами, умение решать типовые задачи. Для получения даже этих навыков придётся постараться. Разработка имеет относительно высокий порог входа по сравнению с другими ИТ-профессиями, но планка по найму в последние годы, скорее, снижалась, чем наоборот.

junior программист что делает. Смотреть фото junior программист что делает. Смотреть картинку junior программист что делает. Картинка про junior программист что делает. Фото junior программист что делает

руководитель отдела разработки Аванпост

По нашему опыту в последние годы требования к Junior-разработчикам у нетоповых компаний снизились. Связано это с кадровым голодом, вызванным, с одной стороны, ростом рынка, с другой, демографическим провалом девяностых–начала 2000-х.

В целом для джуна, планирующего работать в прикладной разработке, требования можно определить следующим образом:

Основные хард-скиллы:

Дополнительные хард-скиллы:

Практические навыки:

Софт-скиллы:

Как правило, у всех ребят, приходящих к нам на собеседование, всё в порядке с основными хард-скиллами, учитывая, что они предварительно проверяются простейшим тестовым заданием.

Большинство же отклонений по результатам собеседования происходит по причине отсутствия практических навыков или критичных софт-скиллов, таких, как умение слушать.

Это не самые высокие требования: могу с уверенностью сказать, что 10-15 лет назад требования были значительно серьезней. Отрасль была менее лояльной к новичкам, готовность брать на работу, платить не самую низкую зарплату и учить была у единиц компаний. Сейчас же все, даже самые небольшие софтверные и не только компании, готовы вкладываться в обучение вчерашних студентов, несмотря на все сопутствующие риски. Всё, что нужно джуну сегодня, — общая адекватность и минимальные знания технологий.

Выводы

Мнения насчёт того, завышены требования к джунам или нет, очень разнятся. Но практически все эксперты сходятся в том, что Junior-разработчик должен знать о преимуществах и сферах применения выбранного языка или технологии, уметь работать с Git, знать основные алгоритмы, библиотеки и фреймворки в своей сфере, быть в курсе возможностей хотя бы одной IDE, знать английский не ниже уровня Intermediate и уметь работать в команде.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *