#94 - Николай Шипяков про хардкорный Enterprise, Camunda, Kotlin DSL и gRPC
В 94-м выпуске подкаста Javaswag поговорили с Николаем Шипяковым, Java-разработчиком, который провел всю свою карьеру в финтехе и суровом энтерпрайзе. В этом эпизоде мы проследили эволюцию энтерпрайз-решений: от тяжеловесных вендорских платформ вроде IBM WebSphere и IBM BPM, где бизнес-логика «рисовалась кубиками», до современных подходов со Spring, Kotlin и Camunda.
Николай поделился историей о том, как на хакатоне зародилась идея создать собственный Kotlin DSL для описания бизнес-правил, который успешно заменил неповоротливые решения и прослужил долгие годы. Мы также разобрали архитектурные кейсы, обсудили, как подружить синхронные REST-вызовы с асинхронными процессами в Camunda при помощи Kafka и Kotlin Flow. В завершение выпуска поговорили о выборе оркестраторов (Camunda 7, 8, Temporal), внутренней кухне организации ИТ-конференций и обсудили непопулярное мнение о том, почему gRPC зачастую переоценен в энтерпрайзе.
Шоуноты
00:00:22 Приветствие
00:01:43 с .NET на Java и первый крупный проект для Альфа-Банка
00:04:43 Каким был энтерпрайз в десятых годах
00:09:04 Переход в Тинькофф (Т-Банк) в 2015 году:
00:16:53 Смена технологического стека: отказ от решений IBM в пользу оркестратора Camunda в связке со Spring и Kotlin
00:23:33 Что такое Camunda простыми словами: почему этот инструмент удобно использовать как надежную стейт-машину для сложных распределенных транзакций
00:27:11 Идея с хакатона: создание кастомного Kotlin DSL для удобного описания бизнес-правил (вместо визуальных редакторов для бизнеса), который стал успешным внутренним продуктом
00:33:01 Преимущества подхода “Contract/Code First”: тестирование, контроль версий в Git и трейсинг процессов, написанных на Kotlin DSL
00:47:40 Внутренняя мобильность в Т-Банке: почему разработчику полезно менять проекты и как найти команду сильных сеньоров внутри одной компании
00:53:42 Разбор архитектурного кейса: как объединить асинхронный процесс Camunda и синхронный REST-контроллер с использованием топиков Kafka и Kotlin Flow
01:01:17 Очереди в энтерпрайзе: в каких случаях стоит использовать Kafka, а когда для обработки задач подойдет PostgreSQL
01:05:46 О важности observability (наблюдаемости): история инцидента со 100% загрузкой CPU в базе данных из-за отвалившейся репликации PostgreSQL
01:09:02 Переход в стартап и проблема выбора: почему старушка Camunda 7 до сих пор актуальнее, чем Temporal или платная Camunda 8 с закрытой архитектурой
01:20:18 Организация собственной технической Java-конференции от компании: сбор программы, уникальные доклады и почему платные билеты улучшают отношение аудитории
01:32:18 Непопулярные мнения от гостя: почему группа Ария без Кипелова звучит отлично, и почему технология gRPC часто применяется в энтерпрайзе не по делу
01:39:23 О важности софт-скиллов
📚 Упоминания в выпуске
volyx
nikolay-shipyakov
