Впечатления от польского DEVOXX 2017 или Немного инсайтов для украинских джавистов

Летом в польском Кракове прошла одна из крупнейших в Европе технических конференций DEVOXX 2017. Ее отличительная особенность в том, что она делается, как подчеркивают организаторы, разработчиками для разработчиков. Одним из ее спонсоров выступил EPAM Java Competence Center. Я и мой коллега, Евгений Моспан, побывали там и хотели бы поделиться впечатлениями о лучших докладах и трендах, прозвучавших на конференции.

Доклады об «упражнениях для разработчика», безопасности и микросервисах и новинках Spring 5

DEVOXX была насыщена докладами по современным направлениям разработки. Запомнилось, прежде всего, три из них. В первую очередь — выступление основателя Agile Developer Inc. Венката Субраманиама (Venkat Subramaniam) с темой «Speed without Discipline: a Recipe for Disaster». Он рассказал о том, какие практики должен использовать современный разработчик независимо от стека, чтобы быть успешным в профессии. Выступление свелось к тому, что необходимо избегать ситуаций, когда software development становится профессией, где разработчику платят деньги за написание плохого кода, а потом за то, чтобы он починил за собой все дефекты.

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

Еще одним интересным выступлением стал кейноут «Security and Microservices» автора книги Building Microservices (O’Reilly, 2015) Сэма Ньюмана (Sam Newman). Он предложил фреймворк для проведение Security-тестирования, который состоит из четырех фаз: определения, митигации, исправления и измерения эффекта, который идут по кругу.

Как утверждает Сэм, не нужно городить огород там, где вас скорее всего не ограбят. Нужно всегда понимать стоимость решения, которое обеспечивает безопасность, по отношению к стоимости того, что могут украсть.

Одним из примеров в контексте микросервисов, стал вопрос того, какой пользователь к какой информации может иметь доступ. В микросервисной архитектуре существует принцип Authentication\Authorization termination point. Благодаря нему запрос от аутентифицированного пользователя, прошедший процедуры проверки, потенциально может содержать параметры, которые будут приводить к извлечению данных других пользователей.

К слову, Сэм будет одним из спикеров украинского JavaDay 2017, который пройдет в ноябре.

Самый интересный разговор вышел на тему «Spring Framework 5: Themes & Trends», с которой выступал программ-менеджер всего Spring-комьюнити Юрген Холлер (Juergen Hoeller). Основными трендами Spring 5 станут интеграции с Kotlin, интеграция реактивной модели создания приложений, и много приятных мелочей вроде объединения нескольких аннотаций, которые были в базовом фреймворке, для облегчения процесса создания кода.

После доклада мы проговорили с Юргеном почти час о том, что именно они делают в новом фреймворке Spring Web Flux, чем он отличается от того, что уже есть на рынке от Lightbend, Play Framework или Vertx.

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

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

Мы также узнали почему Kotlin выбрали основным вспомогательным языком в Spring. Оказалось, что в команде Юргена есть евангелисты Kotlin, которые плотно работают с JetBrains. Последние смогли убедить его, что способны выпускать новые версии языка с теми фичами, которые нужны Spring Framework в установленное время. При этом, в open-source комьюнити люди редко коммитятся на конкретные даты. JetBrains это делает.

На вопрос из зала о том, чем сам Юрген рекомендует пользоваться: IntelliJ IDEA или Spring Tool Suite, он улыбнулся и признался, что большинство даже его разработчиков используют IntelliJ IDEA. По его словам, в JetBrains гораздо больше людей, которые поддерживают фичи Spring, чем в их собственном Spring Tool Suite.

Мысли и тренды, которые мы вынесли из конференции:

— Доклады по микросервисам, Docker, Kubernetes и подобным горячим технологиям теряют интересность. Надо признать, что микросервисная и cloud native архитектура уже не просто тренд, который надо исследовать, а мейнстрим. Большинство компаний их активно внедряют в продакшн.
— Реактивная платформа стремительно развивается и в нее нужно инвестировать время. Spring 5 уже дает способы для создания реактивных приложений, а реактивные компоненты есть везде от front-end до баз данных, что позволяет делать полностью реактивные приложения.
— Kotlin можно пробовать в продакшене даже на крупных проектах. Есть ощущение, что JetBrains активно развивает его и ищет новые области применения. Он точно станет довольно приятным дополнением к инструментарию разработчика.
 Благодаря развитию реактивных платформ, функциональное программирование тоже становятся обязательным. Кто не успел разобраться как правильно писать код в функциональном стиле, должен это сделать, поскольку все реактивные приложения требуют хорошего понимания функционального программирования.
— Безопасность. Ее правильный дизайн и тестирование снова публично становятся одним из ключевых элементов приложений, которые сейчас разрабатываются и для энтерпрайзов, и для маленьких компаний. Как мы видим и по событиям в Украине, безопасность софта выходит на первый план.

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

С точки зрения организации, украинские конференции, как минимум, не уступают, а во многом и превосходят ее. Поэтому, всем заинтересованным в трендах и том, чем сейчас занимаются топовые opensource-компании, имеет смысл посещать местные конференции, такие как JEE Conf, JavaDay и другие.

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

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

Подписаться на комментарии