Что должен знать java junior

Что должен знать java junior

Гайд для «джуна». Что нужно знать начинающему разработчику Java, чтобы получить работу

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

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

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

Почему Java?

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

Наверное, не ошибусь, если порекомендую Java как универсальный язык программирования, удобный для изучения и популярный у работодателей. В доказательство приведу данные совсем свежего исследования, проведенного аналитиками платформы All Cups от VK, Фондом «Сколково» и IT_One в рамках чемпионата IT_One Cup. Java. По результатам опроса более чем 1,5 тысяч разработчиков — Java был назван наиболее востребованным языком программирования (так отметили 33% респондентов). В топ-3 также вошли Python (21%) и С++ (16%). 39% опрошенных уверены, что Java всегда будет востребован, а каждый четвертый разработчик отметил, что этот язык развивается активнее остальных.

Код

Долго говорить о коде мы не будем: либо вы любите Java и хотите узнать о нем больше, либо зачем вы здесь? Остановимся на том, как лучше изучать основы программирования и практиковаться. Чаще всего начинающие программисты используют для этих целей интернет-ресурсы: обучающие вроде JavaRush или профессиональные вроде Хабра, где часто публикуют материалы, полезные как раз для новичков.

Но и традиционное обучение по книгам не менее эффективно. Для понимания фундаментальных основ языка (Java Core) можно взять, например, пособия серии Head First — «Паттерны проектирования», «Изучаем Java» и другие. В них материал подается очень доходчиво, приводятся живые примеры и ставятся практические задачи для закрепления темы.

После азов стоит переходить уже к более частным вещам — например, прочитать книгу «Spring в действии» Крейга Уоллса, новое издание которой вышло в 2022 году. Правда, монография посвящена Spring 3, а актуальная версия фреймворка в Java — Spring 5. Поэтому дополнительно вам нужно будет ознакомиться с официальной документацией Spring, где подробно описана его функциональность, приведены гайды для Spring-проектов на русском и на английском языках, а также кейсы.

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

Базы данных

Умение использовать базы данных для программиста почти так же важно, как и грамотный кодинг. На первом этапе вы просто подключаете базу данных и действуете по шаблону. Однако стоит сразу иметь в виду, что баз данных и их реализаций очень много: колоночные, реляционные, нереляционные и т. д. В одних проектах лучше применять одни, в других — другие. Для выбора БД и СУБД можно руководствоваться их основными характеристиками, выраженными в акрониме ACID (Atomicity, Consistency, Isolation, Durability). Мы смотрим, какие критерии атомарности, соласованности, изолированности, стойкости нам нужны, — и в зависимости от этого подбираем наиболее подходящую базу.

Что касается наиболее популярных СУБД — на моей практике в большинстве проектов встречались либо PostgreSQL, либо mongoDB. Скорее всего, когда вы придете к своему первому работодателю, то тоже столкнетесь с одной из них. Подготовьтесь к этому заранее.

Бренчирование и контроль версий

Когда ты «сам себе разработчик», у тебя одна ветка кода, ты заливаешь ее в master, и не испытываешь никаких проблем. Но когда ты приходишь в команду, то сталкиваешься с десятками веток, тысячами коммитов. Они нужны для того, чтобы разработчики не мешали друг другу и могли правильно позиционировать свой код. Чтобы такая структура не выглядела для вас как хаос, с самого начала лучше узнать у лида или старшего наставника, какая у команды стратегия бренчирования (стратегия построения веток): GitFlow, GitHub Flow, GitLab Flow, Trunk-based Development или что-то еще. Облегчает работу с версиями кода специальный программный инструмент — система контроля версий (Version Control System, VCS). В данный момент в этом сегменте ПО вне конкуренции Git, и вы уже сейчас можете смело начинать его изучать.

В большой корпоративной разработке крайне важно, какую платформу (хостинг) контроля версий использует компания. Среди разработчиков наиболее популярен GitHub, где можно найти огромное количество источников данных. Но в рамках корпоративного проекта, скорее всего, вы будете пользоваться Bitbucket или GitLab. Bitbucket напминает GitHub по функциональности, но имеет и свои преимущества: например, приватные репозитории, которые можно создавать бесплатно в большом количестве. У GitLab так же есть уникальный функционал, связанный с CI/CD-пайплайнами.

Методология CI/CD

CI/CD, или непрерывная интеграция и развертывание — это методология DevOps, которую необходимо знать, если в компании практикуется быстрая разработка и вывод продукта конечному пользователю. Она позволяет автоматизировать процессы тестирования и доставки новых модулей в проект. Начинающему разработчику стоит иметь представление об основных этапах CI/CD: Plan, Code, Build, Test и так далее, а также разбираться в основных инструментах, которые его поддерживают, технологиях контейнеризации (прежде всего Docker) и оркестрации.

Soft Skills: кирпичики для карьерного роста

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

Более того: именно прокаченные soft skills, а не hard skills, на мой взгляд, больше всего отличают «сеньора» от «джуна». Программист высокого уровня может брать на себя большую ответственность, умеет распределять задачи среди участников команды, развивать их навыки, а также расставлять приоритеты для собственного развития. Креативность, умение адаптироваться к новым условиям (гибкость), дисциплинированность, самостоятельность — те умения, которые вам очень понадобятся. Универсального совета по их приобретению нет — некоторые скиллы приходят с опытом, некоторые можно наработать самому. Главное — больше общайтесь и относитесь к своей профессии серьезно.

В добрый путь

Итак, какие основные технологии нужно знать, чтобы претендовать на место в команде Java разработчиков? Помимо кода, необходимо понимание работы с базами данных, Spring и Git, умение красиво «обернуть» свой код (здесь Docker вам в помощь). Знание Kafka — опционально, потому что если вы изучите базы данных и будете понимать, как они работают, то переход на конкретный брокер типа Kafka не составит труда.

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

Что значит быть джуниор Java-разработчиком: От А до Я

News image

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

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

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

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

Давайте углубимся в эту тему.

Кто такой джуниор?

Кто такой джуниор Java-разработчик? В чем разница между джуниором и, скажем, программистом среднего уровня? Junior Java developer — это специалист начального уровня в мире разработчиков, и есть заметная грань между джуниором и мидлом.

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

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

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

Каковы основные обязанности джуниор разработчика?

В целом, младший разработчик должен уметь:

  • Писать и поддерживать код;
  • Исправлять мелкие баги и незначительные ошибки в коде;
  • Работать над внутренней (административной) стороной инструментов/функций;
  • Изучать кодовую базу и структуру проекта;
  • Работать с кодовой базой, не делая ничего слишком сложного;
  • Работа над определенными функциями, установленными старшими разработчиками программного обеспечения, их общей концепцией и разметкой;
  • Фокусироваться на бэкенде в незначительных аспектах;
  • Помощь на начальных этапах планирования проекта и анализ технических требований проекта;
  • Участвовать в выполнении и документировании тестов;
  • Работа в гибкой команде и участие в совещаниях;
  • Подготавливать отчеты, руководства и другую документацию;
  • Собирать информацию от пользователей о продуктах.

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

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

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

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

Необходимые навыки для джуниор разработчиков

  • Опыт работы от 0 до 1,5 лет с присущей страстью к обучению;
  • Понимание того, как программное обеспечение взаимодействует с аппаратным обеспечением и зависит от него;
  • Синтаксис Java, библиотеки, многопоточность;
  • Работа с инструментами для кодирования (Eclipse, IntelliJ IDEA или NetBeans), системами и сервисами контроля версий (GitHub, GitLab);
  • Знание фреймворков для построения веб-проектов (Spring, Spring Boot);
  • Объектно-реляционное отображение (Hibernate);
  • Инструменты автоматизации сборки (Gradle, Maven);
  • Работа с инструментами для модульного тестирования (JUnit, Mockito),.
  • Базовые знания других распространенных языков программирования, таких как JavaScript, и технологий, таких как HTML5/CSS3;
  • Базовый практический опыт в программировании и написании кода;
  • Знание баз данных и операционных систем;
  • Базовые знания в области компьютерных наук (как основа знаний для практически любой профессии, связанной с разработкой программного обеспечения);
  • Способность быстро осваивать новые программные платформы и технологии (довольно важный навык для любого Junior кодера);
  • Умение следовать инструкциям и работать в командной среде (еще один навык, который ни в коем случае нельзя недооценивать, хотя это часто происходит).
Лучшие причины стать младшим разработчиком

Есть несколько преимуществ того, чтобы стать джуниором Java-разработчиком.

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

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

И, конечно же, их карьера весьма плодотворна. Хотя мы не считаем, что финансовая компенсация должна быть главной причиной, мы не можем отрицать, что хорошие деньги являются одним из основных мотиваторов для некоторых Java-разработчиков.

По данным популярных сайтов по трудоустройству, таких как Glassdoor или Indeed, младшие Java-разработчики зарабатывают до 75 000$ в год. И по мере того, как вы будете развиваться в своей профессии, будет расти и ваша зарплата.

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

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

Где получить набор навыков, чтобы стать хорошим джуниор Java-разработчиком?

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

Заключение

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

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

Хорошие вещи обычно требуют времени, и вы обязательно будете вознаграждены. Итак, начните учиться сегодня, чтобы получить должность младшего Java-разработчика как можно скорее!

Что нужно знать, чтобы стать Java Junior, и что со всем этим делать?

Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 2

Термин Java Core достаточно широк. Под этим именем понимают и элементарный синтаксис языка, и такую сложную тему, как многопоточность. Собственно, курс JavaRush главным образом посвящён именно Core. Java Syntax. Основы языка. Все эти типы данных, операторы, циклы и ветвления. Естественно, 92.4% получивших работу оценили своё знание синтаксиса как “хорошее или отличное”. Тем не менее, 7.6% респондентов умудрились стать Java Trainee со средним знанием синтаксиса. Однако это нужно оценивать скорее как везение (или хвастовство респондентов:)). Разумеется, синтаксис языка должны знать все, кто претендует на работу программиста. Объектно-ориентированное программирование (ООП). Всё в Java состоит из объектов, поэтому ООП можно считать одной из самых главных тем языка. Объектно-ориентированный подход может поначалу показаться непривычным, особенно если вы раньше изучали только процедурные языки, но переучиться на объекты не составляет труда. Самые большие сложности у новичков вызывают уровни абстракции и их самостоятельное распределение — начинающий программист должен уметь грамотно составить иерархию объектов, понять, за что будет отвечать интерфейс, а что можно вынести в абстрактный класс, составить лестницу наследования и так далее. Как обычно эту сложность решает практика. Большинство респондентов, а это 80.3% получивших первую работу, хорошо знали принципы ООП и использовали их постоянно. В первый год работы Java Junior и стажерами 78,8% опрошенных пользовались принципами ООП очень часто, 12,1% — время от времени. 7,6% слушателей использовали их редко — эти ребята были заняты в основном модульным тестированием и разными небольшими задачами. То есть, разумеется, они тоже пользовались классами или объектами (без этого в Java никак), но редко составляли иерархии классов. Collections Framework. Коллекция — это совокупность отдельных объектов, представленных как единое целое. В Java для представления коллекций есть очень толковый Collections Framework. Коллекции основаны на популярных структурах данных — списках, обычных и связных, множествах, хэш-таблицах. Так что при изучении коллекций было бы неплохо поближе познакомиться со структурами данных. Основная трудность в изучении коллекций — понять и запомнить принцип их работы. Если понимаешь, каким образом в них происходит обращение к элементу, извлечение из коллекции и добавление в неё, то начинаешь понимать, где применять ту или иную структуру. Это приходит с практикой. Но, к счастью, из огромного количества коллекций активно используются в реальной работе далеко не все. 80,3% респондентов отметили, что хорошо или даже отлично знали коллекции до того, как получили первое предложение о работе, и практически все 96,9% Junior’ы и стажеры используют коллекции на своей первой работе. alt=»Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? — 3″ width=»800″ />Обработка исключений. Исключение — это выходящая из ряда вон ситуация, которая может возникнуть при выполнении вашей программы. Все классы исключений являются подтипами класса java.lang.Exception. Механизм обработки исключений значительно упрощает процессы поиска ошибок в программах. Обычно студенты довольно рано начинают использовать исключения, скажем, на JavaRush На JavaRush эта тема поднимается ещё в первом квесте Java Syntax. Практически все получившие первую работу выпускники JavaRush умели обращаться с исключениями, и, естественно, использовали их во время работы. Потоки ввода/вывода (I/O Streams Java). Самые первые программы, написанные на Java, обычно содержат что-то вроде System.out.println(“Hello world”). Зачастую новички понимают, что метод println выводит строку в консоль, но понятия не имеют, зачем там System и out, и как они работают. Немного позже выясняется, что Java выполняет операции ввода и вывода с помощью потоков (streams), непрерывного потока данных. Потоки — не самая простая тема для понимания, и она не так уж часто используется в работе новичков: только 22,7% людей, получивших первую работу Java Junior/Trainee, сказали, что они часто используют потоки ввода-вывода, 31,8% — время от времени, 25,8% — редко. Так что чуть менее 20% вообще не использовали их в течение первого года работы в роли Java-разработчика. Во время учёбы 18.2% не испытывали особых трудностей с потоками и знали их отлично, 36.4% оценили свои знания как хорошие, а вот 10.6% проигнорировали эту тему. Многопоточность (Java Multithreading/Concurrency). Пожалуй, именно эта тема вызывает самое большое непонимание у начинающих разработчиков. Невзирая на то, что многопоточность в Java реализована очень хорошо, в ней сложно разобраться, и проблемы могут возникнуть даже при написании простейших программ (например, многопоточного “Hello, world”). Многие работодатели это понимают и не требуют глубокого понимания многопоточности от начинающих, рассчитывая, что оно придёт с опытом. Только 12%,опрошенных отметили, что они знали тему на хорошем уровне до получения первого оффера, в то время как почти 32% респондентов признали, что вообще ничего не смыслили в этой теме. Большинство же, 56,2%, заявили о том, что «имели некоторое представление» о многопоточности. Так что если трудности работы со thread’ами вам сейчас кажутся непреодолимыми, эти цифры могут вас обнадёжить. Тем не менее, если вы хотите получить конкурентное преимущество на собеседовании, именно эта тема может стать вашим коньком. На реальных проектах новичков также довольно редко допускают до работы с потоками. Так, 15.1% начинающих программистов вообще не сталкивались с Java Multithreading в своей работе, а 39.4% сталкивались, но редко. Часто в первый год работы пришлось работать с многопоточностью лишь 9.1% респондентов. Лямбда-выражения. Лямбда-выражения и намёки на функциональное программирование появились в Java 8, но новички не так уж часто используют этот удобный инструмент. Лямбда-выражение — это функция, которая может быть создана без принадлежности к какому-либо классу, и вы можете передать ее как объект или выполнить по запросу. Только 22,7% опрошенных выпускников хорошо знали Лямбда-выражения прежде, чем получить первое предложение о работе, а 48,5% оценили свое знание темы как «близкое к нулю». В то же время более 85% новых программистов заявили, что использовали лямбда-выражения в первый год работы. Справедливости ради укажем, что невысокий процент знающих эту тему может быть связан с тем, что в на JavaRush лямбда-выражения пока что представлены только в новом квесте Java Syntax Pro и статьях. Таким образом, мы можем смело утверждать, что знание Core Java для любого потенциального Java Junior и даже Trainee просто необходимо. Разумеется, некоторые темы, например, многопоточность допустимо знать несколько хуже, но синтаксис Java, ООП и коллекции должны прочно внедриться в ваше сознание.

Алгоритмы и структуры данных

По поводу изучения алгоритмов сортировки и поиска ведутся постоянные споры. С одной стороны, лучшие алгоритмы уже давно написаны и включены в библиотеки всех популярных языков программирования, в том числе и Java. И их можно легально использовать, не заморачиваясь написанием собственного кода. Однако специалисты, обучающие программистов, всё-таки рекомендуют каждому начинающему разработчику потренировать мозг написанием всех этих алгоритмов пузырька, слияния, бинарного поиска и им подобным. Во-первых, эти алгоритмы — своего рода лакмусовая бумажка умений программиста (именно не знаний, а умений) и понимания человеком, что такое программирование в принципе. Если мозг уже хорошо настроен на подобную работу, вы будете писать алгоритмы относительно легко. И тем не менее, следует помнить: алгоритмы вам нужны именно для тренировки мозга… и для того, чтобы пройти собеседование: проводящие их въедливые Senior-разработчики очень любят мучить соискателей просьбами написать тот или иной алгоритм. А вот в работе большинство (48.5%) использует стандартные библиотечные алгоритмы, эффективные и проверенные, в то время как 16% респондентов вообще не использовали сортировку в первый год работы программистом.Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 469,6% выпускников утверждают, что до получения первого предложения о работе они неплохо ориентировались в алгоритмах сортировки и поиска и могли написать их самостоятельно.Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 5Мы уже затрагивали тему структур данных, когда говорили о коллекциях Java. Да, в них лучше разобраться, чтобы знать, где и какую структуру применить. Составление собственных структур данных по образу и подобию библиотечных — отличное упражнение, которое поможет вам лучше в них разобраться. Вы можете, например, попробовать написать собственную версию ArrayList или предложить свой односвязный список (обычный LinkedList в Java — двусвязный).Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 6Во время работы начинающие программисты использовали главным образом стандартные структуры данных.Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 7

Unit-тестирование

Библиотеки утилит, GUI и полезные компоненты

  • Сервлеты — это программные компоненты Java, которые расширяют возможности сервера.
  • JDBC — это независимый от платформы стандарт взаимодействия между приложениями Java и базами данных. JDBC реализован в виде пакета java. sql входит в состав Java SE (Standard Edition).
  • log4j — самая известная библиотека для регистрации сообщений. Он позволяет писать вызовы библиотеки в java-коде, а затем гибко настраивать его, не изменяя уже написанный код.
  • Jackson/JSON. JSON (JavaScript Object Notation) — чрезвычайно популярный открытый стандартный формат файлов и формат обмена данными, а Jackson — это высокопроизводительный процессор JSON для Java.

Frameworks

Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 10

Раньше от Java Junior никто не ожидал знания Spring или Hibernate. Но времена меняются, и сегодня этого порой ожидают даже от Trainee. Изучать эти технологии самостоятельно непросто. Даже если всё кажется понятным, студенты частенько забывают что к чему очень быстро. Порой даже приложения, самостоятельно написанные на Spring — не панацея. Поможет только активная работа. Тем не менее, перед успешным собеседованием треть респондентов была знакома со Spring на хорошем уровне, а 45.5% разбирались в нём средне. Ситуация со Spring boot несколько хуже (36.4% вообще его не знала), а о хороших знаниях Hibernate заявило почти 44% опрошенных выпускников JavaRush.В то же время во время работы главным Java-фреймворком пользовалось почти 88% новоиспечённых программистов, Spring Boot — 83%, Hibernate — 81%. alt=»Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? — 11″ width=»800″ />

Build Automation tools и серверы приложений

Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 12

Большинство опрошенных выпускников JavaRush пробовали работать со сборщиками проектов. Чаще всего это был Maven (40.9% попробовали его на практике, ещё 30.3% использовали его время от времени, а 12.1% уже во время учёбы использовали его постоянно). В работе с Maven пришлось сталкиваться 72.7% (часто), 7.6% (иногда) и 3% (редко). Что касается Gradle, тут ситуация несколько хуже. Только 22.7% практиковались с этим сборщиком, причём большинство из них — только опробовали технологию. В работе Gradle применяли почти половина респондентов.Ant давно растерял свои позиции, и это отразилось на его популярности среди наших выпускников: возилось с ним только 3% опрошенных. А работать с ним пришлось 12% ответивших на вопросы. Среди серверов приложений лидирует Tomcat, с ним во время учёбы разобралось более 77% опрошенных, 11% опробовали GlassFish, 12% — JBoss. Похожим образом выглядит популярность серверов среди тех, кто уже работает. Только 31.8% получивших работу не сталкивались с Tomcat. Также выпускники JavaRush во время первого года работы программистом опробовали такие серверы, как WebSphere, Jetty, Netty, Wildfly, Weblogic. alt=»Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? — 13″ width=»800″ />

Ссылка на основную публикацию