ππ·π Heading to JavaCroβ26 with TWO talks!
π€ποΈ Modern Software Architecture in the AI Era
βπ§ Enterprise Java Meets AI
RAG π
Vector DB π§
Agents π€
MCP π
Modern Java β
Production AI π
How should we build software in the AI era?
See you in Rovinj! ππ·π
An amazing engineer can still have little impact in the wrong culture.
π΄ Power: follow authority
π‘ Rules: follow process
π’ Generative: analyze context & trade-offs
Sometimes the bottleneck isn't engineering talent. It's the organization.
#SoftwareEngineering#Leadership
Software governance often fails in two directions:
πͺοΈ Wild West β autonomy without shared context
ποΈ Bureaucratic β control through prescription
π§ Context-Driven β autonomy + guardrails + accountability
Inspired by Westrumβs culture model.
π§π·π Heading to TDC SΓ£o Paulo 2026!
Iβll talk about Modern Software Architecture in the AI Era π€ποΈ
RAG π
Vector DB π§
AI Agents π€
MCP π
Production AI π
Live demo π¨βπ»π₯
And finally, reconnecting with many old friends β€οΈπ€
See you there! π§π·
#TDC2026#AI#SoftwareArchitecture
π @QuarkusIO + Eclipse JNoSQL = easy integration with multiple #NoSQL databases using Jakarta Data or Jakarta NoSQL π
β 16 supported databases
β 5 NoSQL models
β One extension, multiple NoSQL choices
π docs.quarkiverse.io/quarkus-β¦#Quarkus#Java
π Jakarta EE is expanding its #NoSQL capabilities!
Coming in the next Eclipse JNoSQL version:
β±οΈ Time Series support
π Metrics, IoT & telemetry
β TimeSeriesTemplate API
π§ Vector support coming next
More data models. One Java ecosystem.
#JakartaEE#Java@JakartaEE
You donβt need to become a manager to become a leader. π¨βπ»
The more senior you become as a Software Engineer, the more your impact depends on:
π€ trust
π‘ influence
π£οΈ communication
π§ technical direction
You can stay an IC.
But you canβt ignore leadership forever.
You don't need to become a manager to become a leader. π
As a Staff Engineer or Architect, you need to:
π€ build trust
π¬ communicate clearly
ποΈ influence architecture
π― align people
Technical excellence needs influence to create impact.
#StaffEngineer#Leadership
I chose Software Engineering partly because I thought:
π» βI won't have to deal with people.β
Huge mistake. π
Software is built:
π€ with people
π₯ for people
π through people
The further you grow, the more communication matters.
#SoftwareEngineering#Leadership
AI won't replace software engineers because engineering β coding. π€
We also:
ποΈ navigate trade-offs
π¬ align teams
π― understand business needs
π€ manage stakeholders
βοΈ make decisions
Code is only one part of the job.
#AI#SoftwareEngineering#StaffEngineer
Growing beyond Senior Engineer means going beyond code:
β Master your platform
ποΈ Understand data & integrations
π₯ Learn to lead people
Happy to keep helping technical leaders grow β and to receive my 3rd DZone Featured Expert recognition, now in Java. π
@DZoneInc#Java
Want to contribute to open source? π
Don't start with new features.
Start with:
π Documentation
π§ͺ Tests
You'll help the project, understand the codebase, and learn the community before proposing bigger changes.
#OpenSource#SoftwareEngineering#Java
Want to become a better engineer in the AI era?
Don't just learn AI.
Contribute to open source.
π» Improve hard skills.
π¬ Improve soft skills.
π Learn from engineers worldwide.
AI writes code.
People build great software.
#OpenSource#SoftwareEngineering#AI
Java gave me much more than a career.
β It taught me English.
π It expanded my world.
π€ It introduced me to lifelong friends.
π It gave me the opportunity to contribute to open source.
Communities change lives.
#Java#OpenSource#DeveloperLife
Java's biggest innovation wasn't just the language.
β Public source code from the Oak days.
ποΈ Open standards.
π€ Multiple JVM implementations.
That's how Java built an ecosystem that has lasted for 30+ years.
#Java#JCP#OpenSource#SoftwareEngineering
Why is it called JavaScript? π€
Not because it's Java.
Because Java was hugely popular in the 90s, and Netscape renamed LiveScript as part of its partnership with Sun Microsystems.
A historicalβand strategicβdecision.
#Java#JavaScript#TechHistory
Glad to continue as an Oracle ACE Director for 2026β2027! β οΈ
This year, I will share even more about Oracle technologies, especially polyglot persistence, cloud-native data architectures, #NoSQL, and #OracleNoSQL Database.
Thank you to the @oracleace#Cloud#Java
Jakarta Data 1.1 is bringing some exciting features. β
π Dynamic queries
π Fluent API
π Jakarta Query integration
More flexibility.
Less boilerplate.
More expressive repositories.
#JakartaData#JakartaEE#Java
Jakarta Data was inspired by Spring Dataβbut it goes further. β
Highlights:
β Repository interfaces
β Cursor pagination
β Operation annotations
β Flexible repositories
Great ideas evolve.
#JakartaData#SpringData#Java#JakartaEE
Jakarta Data brings repository programming to Jakarta EE 11. β
Highlights:
β Repository interfaces
β Generated implementations
β Offset & cursor pagination
β Ubiquitous language support
Less boilerplate.
More business logic.
#JakartaData#JakartaEE#Java
Working with NoSQL in Java? β
You have great options:
π± Spring Data β repository abstraction
ποΈ Jakarta NoSQL β standard API + templates + Jakarta Data integration
Both reduce boilerplate so you can focus on the business, not persistence.
#Java#NoSQL#SpringData
NoSQL isn't just 4 database types anymore. ποΈ
Today, think in 6 categories:
π Key-Value
π Column Family
π Document
πΈοΈ Graph
β±οΈ Time Series
π§ Vector
Different problems deserve different persistence models.
#NoSQL#Database#AI#Java
DTOs are far from obsolete. π‘οΈ
They help you:
β protect your domain
β expose only what matters
β evolve APIs independently
β version contracts safely
Your API isn't your domain.
#Java#DDD#DTO#SoftwareArchitecture
For years we used POST for complex searches.
Not because it was rightβ¦
Because we had no better option.
Now we do: HTTP SEARCH. π
A dedicated method for complex query operations.
A pattern without context can become an anti-pattern. π¨
Great architects don't ask:
β "How can I use my favorite pattern?"
They ask:
β "What problem am I solving?"
Context > Pattern
#SoftwareArchitecture#DDD#SystemDesign#SoftwareEngineering
To address this, new integration patterns are emerging, forming an Autonomy Spectrum that ranges from deterministic AI-assisted workflows to fully autonomous intelligent systems.
Read more π lttr.ai/AsUgT#AiIntegration#EnterpriseApplications#AI
Instead of focusing on reasoning strategies or collaboration models, MCP addresses the architectural challenge of standardizing how AI systems interact with external tools and services.
Read more π lttr.ai/AsUgS#AiIntegration#EnterpriseApplications#AI
Commands represent actions and enforce business rules, while queries retrieve information from purpose-built data models.
Read the full article: Introduction to CQRS using MongoDB
βΈ lttr.ai/AsUgR#Mongodb#java#cqrs
In enterprise environments, projects often begin with a simple structure: one model, one service, and one document, using a single class and data transfer object for both read and write operations.
Read more π lttr.ai/AsUgP#Mongodb#java#cqrs
A Staff Engineer isn't just a stronger Senior Engineer. π
The role adds:
β cross-team influence
β mentoring
β technical leadership
β communication with leadership
π‘ You still write code.
But your impact extends far beyond it.
#StaffEngineer#SoftwareEngineering#Leaders
In the next section, we will enhance this example by replacing raw strings with dedicated input and output classes, enabling LangChain4j to map between Java objects and AI interactions in a more type-safe and expressive manner.
βΈ lttr.ai/AsSWz#AI#JakartaEe
Spring vs Jakarta EE? β
You're comparing different things.
π± Spring = ecosystem of frameworks
ποΈ Jakarta EE = open standards and specifications
One focuses on frameworks.
The other defines APIs, specs, and compatibility.
They're more complementary than competitive.
#Java
Instead of treating persistence, querying, dependency injection, and runtime behavior as separate concerns, the platform adopts a unified model for modern distributed systems
Read more π lttr.ai/AruTa#JakartaEE#Data#Java
Java platform β Java ecosystem β
ποΈ Platform:
Java SE
Jakarta EE
Java ME
π± Ecosystem:
Spring
Quarkus
Micronaut
Platforms provide standards.
Ecosystems provide frameworks and tools.
They complement each otherβthey don't compete.
#Java#JakartaEE#Spring#Quarkus
From automatic transcription to summarizing decisions and extracting action items, tools from ecosystems like Google Workspace and others help transform meetings into persistent knowledge artifacts.
Read more π lttr.ai/ArtVJ#productivity#ClearGoals
Business applications typically use structured data, domain objects, commands, and responses to ensure stronger contracts and better maintainability.
Read more π lttr.ai/AsC5H#AI#JakartaEe#Java
By integrating Jakarta EE with LangChain4j, developers can access advanced AI models through a straightforward Java API, adding intelligent features without leaving the familiar Jakarta EE environment.
Read more π lttr.ai/AsC5G#AI#JakartaEe#Java
π§ NoSQL is not one thing.
Unlike SQL, there is no single standard.
Different NoSQL databases solve different problems:
ποΈ Key-Value
π Column-Family
π Document
πΈοΈ Graph
β±οΈ Time Series
π€ Vector
Choose the model that fits the data, not the hype.
#NoSQL#Java#AI#Database
Although real-world applications typically use more complex domain objects, starting with plain text helps us focus on the core LangChain4j programming model and understand how to create and use AI services.
Read more π lttr.ai/AsC5F#AI#JakartaEe#Java
AI is accelerating NoSQL adoption. π€
Why?
Because technologies like:
π§ Vector Databases
π RAG
π Semantic Search
fit naturally into the NoSQL world.
As polyglot persistence grows, tools like Jakarta NoSQL help reduce complexity for Java developers.
#NoSQL#AI#Java#Jakarta
The word meeting comes from the Old English mΔtan, meaning βto encounterβ or βto come together.β Today, organizations often use meetings as a default response to uncertainty, rather than intentionally designing communication systems.
Read more π lttr.ai/ArtVH
Is Java ready for AI? βπ€
Absolutely.
Today we have:
β Spring AI
β Quarkus AI integrations
β Jakarta EE solutions like LangChain CDI
Java brings decades of engineering practices to modern AI development.
#Java#AI#SpringAI#JakartaEE#Quarku
Instead of requiring developers to switch mental models between persistence technologies, the platform unifies how applications express intent for querying, filtering, lifecycle management, and data interaction.
Read more π lttr.ai/ArtVG#JakartaEE#Data#Java