JavaRush/Java блог/Random/Чего Java-кодерам ждать от 2020 года: мнения и прогнозы э...

Чего Java-кодерам ждать от 2020 года: мнения и прогнозы экспертов

Статья из группы Random
участников
Только начался новый год, все потихоньку отходят от праздников и вспоминают о том, что надо работать. Начала января — самое лучшее время для того, чтобы заняться планированием своей профессиональной (да и личной тоже) жизни на грядущий год. Чего Java-кодерам ждать от 2020 года: мнения и прогнозы экспертов - 1Что касается Java и программирования вообще, здесь планирование и адаптация к изменениям играют огромную роль, потому что позволяют заблаговременно подготовиться к трансформациям технологий и новым трендам. Об этом мы сегодня и поговорим — о прогнозах, трендах и ожиданиях вокруг и около Java-кодинга и программирования в целом. А начнем с перечисления нескольких глобальных тенденций, которые, по мнению многих экспертов, по полной проявят себя в этом году.

Активная автоматизация кодинга

Это часть глобального ИТ-тренда на автоматизацию, которая затронет в том числе и программирование. Согласно прогнозу исследовательской компании Forrester, к 2020 году программные роботы должны прийти на смену людям в выполнении рутинных задач, которые зачастую плохо даются живым программистам. Чего Java-кодерам ждать от 2020 года: мнения и прогнозы экспертов - 2Многие эксперты в программировании соглашаются с прогнозом Forrester, предполагая, что в 2020 году все больше рутинных трудоемких задач будут автоматизироваться. “Активно развивающиеся компании и сервисы нуждаются в более быстром и оптимизированном рабочем процессе, который позволяет быстрее внедрять обновления и исправления в производство, а также обрабатывать проблемы как только они возникают. Вот почему ведущие компании и команды движутся к полной реализации практик CI/CD [CI/CD — концепция непрерывной интеграции и доставки],” — отметил Лукас Эдер (Lukas Eder), Java эксперт, а также основатель и исполнительный директор компании Data Geekery. По словам специалистов, несмотря на то, что тренд на автоматизацию в программировании идет уже не первый год, именно в 2020-ом ожидается заметное увеличение роли автоматизации в жизненном цикле создания и доставки ПО. “Одна из основных областей, в которых автоматизация уже применяется активнейшим образом — это анализ основной причины (Root Cause Analysis). Компании осознают, что цикл не заканчивается на деплое кода в продакшн, и в 2020 году мониторинг станет неотъемлемой частью CI/CD цикла, а автоматический деплой требует более совершенного мониторинга. Ведь вы должны знать, когда в релизе появляются новые ошибки, не полагаясь на пользовательские отчеты, и обладать всей информацией, необходимой для их исправления,” — добавил Эдер. Многие крупные компании, среди которых Intuit, Zynga, TripAdvisor, Comcast и другие, уже давно активно внедряют автоматизацию в свои рабочие процессы, и Java-программистам стоит учитывать этот тренд.

Искусственный интеллект (ИИ)

Еще одним трендом, который неразрывно связан с автоматизацией и по скорости распространения от нее не отстает, — искусственный интеллект (ИИ). Несмотря на то, что технологии ИИ считаются “горячей” темой уже не первый год, их популярность продолжает нарастать. Еще в 2018-м году исследовательская компания Gartner спрогнозировала, что к 2020-му году технологии на основе ИИ будут присутствовать практически в каждом новом программном продукте. Так что сейчас как раз время углубиться в эту перспективнейшую и весьма обширную тему, чтобы иметь в глазах работодателей преимущество перед другими специалистами в программировании и не только. В сфере разработки применяются различные элементы ИИ, среди которых машинное обучение, интеллектуальный анализ данных, нейронные сети и многое другое. Все эти технологии могут, и в ближайшем будущем несомненно будут использоваться для того, чтобы помогать людям создавать более удобные и эффективные программные продукты. По мере распространения и популяризации, технологии связанные с ИИ становятся все более доступными. Например, сейчас всем желающим доступен целый набор открытых библиотек с алгоритмами машинного обучения, которые можно реализовать достаточно быстро даже без глубоких знаний в этой сфере. Среди наиболее популярных Java-библиотек с машинным обучением — Deeplearning4J (DL4J), Neuroph и BIG Data Project. Чего Java-кодерам ждать от 2020 года: мнения и прогнозы экспертов - 3

Ускорение инноваций

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

Переход от реагирования к проактивности

Общая направленность на ускорение и инновации создает еще один тренд: переход от реактивного подхода к проактивному. На практике это означает, что вы находите и решаете проблемы еще до того, как пользователь обнаружит ее существование. “Это можно делать с помощью различных инструментов для мониторинга, отладки, APM [Agile project management — гибкая методология разработки] и управления логами, в зависимости от ваших требований и элементов, которые вы хотите отслеживать и обрабатывать. Существует множество инструментов, которые помогут вам контролировать и анализировать ваш код, приложение и серверы. Их даже слишком много, вот почему важно понимать, что вы ищете, и что именно вы хотите отслеживать и анализировать,” — уверен Стив Роджерс (Steve Rogers), директор по разработке программного обеспечения в компании Viator, которая входит в TripAdvisor Group. Чего Java-кодерам ждать от 2020 года: мнения и прогнозы экспертов - 5“В прошлом поиск и устранение неполадок могли занимать у нас целые дни, создавая значительные затруднения. Но в итоге мы смогли решить эту проблему с помощью новых инструментов, и сейчас можем уделять больше времени проработке новых функций и прочим улучшениям наших продуктов. Какой бы из доступных на данный момент инструментов вы ни выбрали, помните о том, что инструмент должен работать на вас, помогая находить ответы на вопросы, которые позволят решать проблемы, а не отправят вас в дикую погоню за ошибкой через логи,” — советует Роджерс.

Тренд на надежность

Усиление фокуса на надежности и бесперебойности работы ПО — это еще один глобальный тренд на 2020-й год. С автоматизацией и ускорением выпуска новых релизов и функций проблема надежности и отлаженности любого продукта становится особенно остро. Это заставляет компании адаптироваться, больше времени в цикле разработки уделяя надежности программного продукта. “В 2020 году нам нужно быть более agile. С движением в сторону автоматизации рабочего процесса, надежность стала играть более важную роль. Мы в компании Intuit используем так называемый подход непрерывной надежности (Continuous Reliability). Он позволяет нам контролировать доступность и качество работы наших программных продуктов. В частности, мы достигли этого благодаря использованию OverOps [OverOps — решение для обнаружения ошибок в работе приложений на Java, Scala, Clojure и Groovy] в различных средах, среди которых QA, пре-продакшн и стейджинг. С помощью OverOps команда получает возможность обнаруживать ошибки до того как они повлияют на пользователя, что увеличивает надежность приложения и обеспечивает наилучший UX,” — рассказал Сумит Нагал (Sumit Nagal), главный инженер по качеству в компании Intuit.

Пусть говорят. Прямая речь экспертов о Java в 2020-ом

Ну а продолжим уже прямыми цитатами от Java экспертов о том, чего они ожидают и какие прогнозы могут дать на 2020-й год.

“Реактивное программирование будет формировать стратегии доступа к данным Java, открывая двери для нового класса приложений.”

“Java экосистема активно развивается в течение более 20 лет, и 2020-й год не станет исключением. Лично я ожидаю появления Hibernate 6. А также теперь, когда R2DBC (Reactive Relational Database Connectivity) достиг версии 1.0, я с нетерпением жду, как реактивное программирование будет формировать стратегии доступа к данным Java, открывая двери для нового класса приложений с интенсивным использованием данных,” — отметил Влад Михалча (Vlad Mihalcea), эксперт по Java и автор книги High-Performance Java Persistence.

“Все более важно видеть и понимать общие тенденции в разработке, и то, как они влияют на Java приложения.”

“Конечно, в 2020-ом мы получим Java 14 и Java 15. Однако, отходя от Java, языка программирования, все более важно видеть и понимать общие тенденции в разработке, в частности те, что относятся к деплойменту, запуску и отладке (например, в облаке), а также к безопасности. Поскольку облака и микросервисы становятся основным выбором для реализации, разработчикам важно понимать, как это влияет на Java приложения в долгосрочной перспективе,” — считает Триша Ги (Trisha Gee), эксперт по Java из компании JetBrains.

“Переход к другим способам работы с базами данных.”

“От 2020-го года я ожидаю перехода к другим способам работы с базами данных. В 2016-ом я начал читать лекции по SQL и другим языкам структурированных запросов. Движение в этом направлении идет, и мы видим все больше и больше инструментов и фреймворков, для которых базы данных не являются, так сказать, “гражданами второго сорта,” — сказал Майкл Симонс (Michael Simons), разработчик из компании Neo4j.

“Повседневный Java-код, а также код, который вы найдете в библиотеках, будет выглядеть несколько иначе, чем в предыдущие годы.”

“С новыми языковыми опциями, такими как “Pattern Matching for instanceof”, “Switch Expressions” и “Text-Blocks”, повседневный Java-код, а также код, который вы найдете в библиотеках, будет выглядеть несколько иначе, чем в предыдущие годы. Это безусловно будет проблемой для многих традиционных Java-разработчиков. Java также добавит в привлекательности благодаря улучшенной поддержке преждевременной компиляции и генерации собственных изображений для безсерверных сред,” — считает Томас Даримонт (Thomas Darimont), Java разработчик в компании codecentric AG.

“В 2020-ом многое будет происходить с Graal и поддержкой фреймворков.”

“Что касается непосредственно языка Java, в 2020-ом мы ожидаем появления еще двух версий, 14 и 15. Обе версии снова будут содержать множество новых функций, которые помогут нам в нашей разработке. Поскольку ни одна из этих версий не является LTS, мы не ожидаем, что до 2021 года появится JDK 17. Кроме того, многое будет происходить с Graal и поддержкой фреймворков. Именно в этой сфере я ожидаю особенно быстрого движения вперед, чтобы без колебаний переключиться на Graal,” — поделился своими ожиданиями Майкл Витц (Michael Vitz), старший консультант в компании innoQ Deutschland GmbH.
Комментарии (7)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергей Продавец в магазине в ВсеИнструменты Expert
15 января 2020, 14:28
Главный посыл всё тот же: развивайся в том, чем занимаешься и всегда будешь при деле. Халявщиков и слабаков никто не любит. Нужно быть специалистом! Всё! Пора за работу!
fktrctq
Уровень 22
14 января 2020, 07:50
что то не понял, вы хотели этой статьёй повысить мотивацию или ее убить!? наверное и правда кодеры становятся не нужны если тут такое читаем! я на 4 уровне, и вы мне сейчас ну прям чутка дали по ушам
Hanna Moruga Chief editor @ JavaRush
14 января 2020, 08:25
Данная статья — не о мотивации: это аналитика трендов. Как и в любой другой профессии, в программировании есть свои "веяния": о них нужно знать, чтобы развиваться в ногу со временем. Если мы говорим, например, об автоматизации рутинных задач, это не значит, что роботы отнимают хлеб у прогеров :) Это значит, что можно подняться на уровень выше. Если мы говорим о том, что нужно быть гибким и следить за инновациями, то... Это именно это и означает. Изучение азов необходимо, но это не конец. Мы хотим держать студентов и выпускников в курсе того, куда ветер дует в кодинге.
LonWoLonWo
Уровень 20
13 января 2020, 21:41
"Среди наиболее популярных Java-библиотек с машинным обучением — Deeplearning4J (DL4J), Neuroph и BID Data Project." Попробую предположить, что BIG Data Project
Hanna Moruga Chief editor @ JavaRush
13 января 2020, 22:14
Спасибо, приз за внимательность!
Zhaxylyk
Уровень 35
13 января 2020, 12:09
Все это изменения хорошо или плохо в целом для программирования?
Максим Караваев Java Developer в Deutsche Telekom IT
13 января 2020, 13:38
Это всё скорее для бизнеса хорошо, а не для программирования.