Рубрики
Без рубрики

Исследование: Навыки, необходимые для продвижения вашей карьеры в Java в 2019 году

Каким фреймворкам и технологиям следует научиться разработчику Java, чтобы повысить свою карьеру в 2019 году? Вот что показывают данные. С тегом java, поиск работы, карьера.

С 2001 года самая низкая позиция Java в рейтинге Tiobe занимает 2-е место.

В 2019 году Java является 5-м по популярности языком программирования в мире, согласно Опросу разработчиков StackOverflow .

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

Работа с таким широко распространенным языком может потребовать большого количества специфических навыков. Здесь, в CV Compiler , мы попытались выяснить, какие именно навыки необходимы разработчикам Java, чтобы преуспеть в своей карьере в 2019 году.

Навыки, которыми должны обладать разработчики Java в 2019 году

Продолжая нашу серию статей , мы обработали 300 вакансий для Java-разработчиков с таких сайтов, как AngelList, StackOverflow, LinkedIn и др. Вакансии были от компаний разного размера и разных сфер деятельности. Вот результат — рейтинг навыков, которые упоминались чаще всего.

В 2018 году Java EE была переименована в Jakarta EE, поскольку теперь она разрабатывается под эгидой Eclipse Foundation. Однако старый термин по-прежнему часто встречается в спецификациях вакансий, поэтому мы решили включить его в таблицу вместо нового названия.

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

Ключевые выводы

Наш главный вывод таков: спрос на Java-разработчиков велик. Я имею в виду, действительно большой. Если вы введете “Java” в строке поиска LinkedIn, вы получите 370 тысяч вакансий. Для сравнения, будет 249 тысяч объявлений о вакансиях для Python и 278 тысяч для JavaScript.

Вот некоторые другие ключевые выводы из нашего исследования о текущих и предстоящих тенденциях в разработке Java.

Веб-программирование

Согласно нашему исследованию, большинство компаний предпочитают создавать серверную часть своих веб-приложений с использованием Spring MVC , в то время как наиболее распространенными интерфейсными фреймворками являются Angular (95) или React.js (50). Конечно, это не означает, что разработчик Java должен в совершенстве владеть интерфейсными фреймворками JavaScript, но общее понимание того, как эти технологии работают и взаимодействуют с вашим кодом Java, безусловно, будет полезно.

Среди тех серверных фреймворков Java, которые не упомянуты в таблице, Стойки Apache (33) был самым популярным из них. Однако я бы рекомендовал изучать этот фреймворк только в том случае, если ваш (будущий) работодатель определенно использует его (например, для поддержки старых приложений). Последняя версия Struts была выпущена 5 лет назад, но то же самое нельзя сказать о Spring, которая постоянно пытается идти в ногу с новейшими обновлениями Java. Более того, Spring MVC – это лишь часть комплексного решения, которое может позаботиться о многих аспектах вашего приложения (таких как тестирование или доступ к данным).

Обработка данных

Большие данные – не самое популярное использование Java, но, судя по нашим исследованиям, в ближайшем будущем оно будет набирать обороты. По данным IBM , 90% всех данных были созданы за последние два года, поэтому нам определенно нужны мощные и стабильные решения для обработки всей этой информации. Я думаю, что Java – это тот самый вариант. Возможно, однажды он даже разделит рынок науки о данных с Python:)

На данный момент некоторые работодатели уже хотят, чтобы кандидаты были знакомы с такими решениями, связанными с данными, как Apache Kafka (49), Hadoop (27), Лазурный (23), и Искра (21). Кстати, сам термин Большие данные упоминался 33 раза в проанализированных нами вакансиях, что довольно красноречиво.

Языки JVM

Поскольку мы анализировали вакансии только для разработчиков Java, ни один из языков JVM не упоминался достаточно часто, чтобы попасть в нашу таблицу. Тем не менее, они все еще встречались в некоторых спецификациях заданий, и самым популярным из них был Scala (33). Если вы еще не знакомы со Scala, возможно, вам захочется узнать о ней больше в 2019 году (особенно если вы работаете с данными).

Микросервисы

Java считается многими опытными разработчиками лучшим языком для разработки микросервисов. Итак, мы не удивились, увидев условия Микросервисы и Spring Boot довольно близки к началу нашего графика. Разработчики тоже любят микросервисы: лучшая поддержка микросервисов является главным приоритетом сообщества для Jakarta EE в 2019 году.

Я предполагаю, что расширение ваших знаний об этой технике разработки программного обеспечения необходимо в 2019 году. Кстати, вы также можете захотеть узнать больше о служебных сетках . Хотя термин Состоит в том, чтобы (7) упоминался не так часто, как Kubernetes (18), подобные технологии оркестровки определенно станут более популярными с ростом популярности микросервисных приложений.

Веб-серверы и базы данных

Наконец, если говорить о базах данных NoSQL, то вот что предпочитают работодатели: Кассандра (41) и MongoDB (33). Что касается веб-серверов, Лидерами были Tomcat (35) и Apache (35).

Тенденции Java: мнения экспертов

Вот что говорят эксперты о предстоящих тенденциях Java.

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

Джеймс Губернатор, Основатель РедМонк . Твиттер

Относительно низкая популярность Spring Boot по сравнению с “классической” весной меня удивила. С другой стороны, я был приятно удивлен вторым местом Java EE. JPA (Java Persistence API), один из API Java EE, который указан в качестве отдельного элемента, а также высокий спрос на навыки работы с SQL указывают на сохраняющийся интерес к реляционным базам данных. Высокий спрос на навыки Maven соответствует моему реальному опыту: Maven – один из ведущих инструментов сборки. Apache Kafka в настоящее время очень популярен на конференциях, но он неприменим в качестве общей архитектуры для всех проектов, что объясняет его относительно низкий спрос. Я также ожидал бы повышения интереса к Google Cloud и навыкам Azure — оба облака уже активно используются в проектах. Разработчик Java EE, имеющий большой опыт работы с JPA, SQL, JMS (Kafka также является реализацией JMS), JAX-RS (REST), Maven (по умолчанию в Java EE), Git (стандарт де-факто) находится в наилучшем возможном положении на рынке в мае 2019 года.

Адам Хорошо, Чемпион Java, консультант JavaOne Rockstar. Блог | Твиттер

Сегодня Spring Framework и микросервисная архитектура являются стандартами де-факто в мире Java. Но постоянно развивающаяся индустрия требует, чтобы инженеры-программисты развивали новые навыки в дополнение к освоению существующих. Servicemesh и service proxy меняют способ разработки микросервисов, поэтому работодатели ищут инженеров, которые имеют практический опыт работы с Istio, Linkerd2 или Envoy. В связи с тем, что все больше и больше компаний переходят на общедоступные и гибридные облачные вычисления, важно иметь опыт работы с Amazon AWS, Google Cloud Platform или Microsoft Azure. Реактивное программирование все еще находится на подъеме во Вселенной Java. Несмотря на то, что я не ожидаю, что он полностью заменит более традиционный императивный подход, инженеры, обладающие опытом в области реактивного программирования, пользуются большим спросом. Это стоит того, чтобы инвестировать в изучение того, что такое реактивное программирование и как оно меняет состояние экосистемы Java. Приобретите некоторый опыт работы с реактивными фреймворками (Project Reactor, RxJava, Spring Web Flux и т.д.) И узнайте, что отличает реактивное программирование от создания реактивных систем. Что касается хранения данных, то NoSQL и сохранение многоязычия сегодня являются необходимыми навыками для инженеров, но глобальные системы повышают потребность в новом классе решений для управления базами данных. Строго согласованный Google Spanner – это пример готовой к работе новой базы данных SQL, предоставляемой в качестве сервиса. Хотя трудно предсказать популярность самих новых решений для хранения SQL, будущее за высокораспределенным программным обеспечением, поэтому важно понимать принципы, лежащие в основе согласованных систем, особенно консенсусных протоколов.

Алексей Борисов, Старший инженер-программист Netflix, бывший Гуглер. Твиттер | ютуб

Этот рейтинг навыков кажется мне разумным для корпоративного Java-проекта. Однако я больше не вижу большого спроса на SOA. Что касается Spring и Spring Boot, то они часто используются одновременно, так что это различие, вероятно, больше не имеет значения. В будущем я действительно вижу тенденцию и растущий интерес ко всем видам облачных технологий. В случае, если эта тенденция сохранится, это может быть более интересным через несколько лет.

Sebastian Daschner, Чемпион Java Персональный веб-сайт

Разработчики Java (как и все разработчики) всегда получат выгоду от глубокого понимания основных инструментов и языков, таких как Git и SQL. Какую бы ОС вы ни использовали, любой язык сценариев – это еще одна вещь, которая может ускорить вашу работу. Разработчики, которые хотят продвинуться, также должны знать об инфраструктуре, в которой работает код (облако), и о том, как он туда попадает (CI). Наша работа заключается не в написании кода, а в изменении программного обеспечения. Понимание более широкой системы, включая бизнес-область, поможет разработчикам принимать лучшие решения на Java и любом другом языке.

Джессика Керр, Разработчик в Atomic Твиттер | Блог

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

Бонусный совет: Вы когда-нибудь задумывались, насколько сильным является ваше резюме разработчика Java? Нажмите здесь , чтобы скомпилировать его и посмотреть, как он складывается по сравнению с лучшими практиками в отрасли. Изучение вашего счета бесплатно!

Оригинал: “https://dev.to/stetsenko_me/research-skills-you-need-to-boost-your-java-career-in-2019-28j8”