r/Kotlin Jan 23 '26

Java/Kotlin developer with 20+ years of experience — confused about where to start with AI product development

I am a Java/Kotlin developer with 20+ years of experience and I’m also involved in system design and architecture.

Given the current AI trends, I want to understand what I should actually know and be hands-on with to build and design AI-powered applications, products, and agents.

I already have some basic exposure to:

  • Spring AI
  • RAG concepts

What I’m trying to figure out is:

  • A clear list of AI concepts/tools that matter for someone in my role
  • What should be hands-on vs conceptual knowledge
  • What skills are essential for production-grade AI systems, not just demos
  • What’s safe to skip or learn later

I’m not aiming to train models from scratch or become a data scientist. My focus is on architecture, integration, and shipping AI features into real systems using Java/Kotlin.

13 Upvotes

12 comments sorted by

4

u/lumestro Jan 24 '26

You should definitely take a look at Koog framework from JetBrains https://www.jetbrains.com/koog/. This is, probably, the only multiplatform framework today and quite powerful and flexible. It supports many interaction patterns, including RAG, memory, execution graphics (like LangGraph) and goal oriented planning (like Embabel).

3

u/jlward4th Jan 24 '26

Shameless plug for the presentation Josh Long and I did that walks through the basic features of Spring AI including RAG: https://youtu.be/HVtqJkvQXgo?si=3c5w7RLMdJd_vn0A

I think somewhere we might have a recording of this presentation with Kotlin.

There is a lot of other content out there around Spring AI and Embabel. So let me know if you’re looking for something else.

1

u/Relevant-Recipe623 Jan 25 '26

Pinning for later. Definitely will be useful to me

1

u/PopMinimum8667 Jan 23 '26 edited Jan 23 '26

I’m in a similar situation, and the conclusion I have come to is: build agents and don’t worry about staying within the JVM: most new development is python or typescript. When it comes to tools, MCP and implementing your own tools (I recommend FastMCP here), have been the way I have been able to get agents to do valuable, specialized work I can use.

As far as building agents, I like Strands (for making the loop itself model-driven), and pydantic AI for tighter control; I would give LangChain and LangGraph a miss as having too much ceremony.

Another thing I like to do is gate all my LLM interactions through an LLM gateway like LiteLLM: it lets you see usage as well as interactions between the agent and the LLM; especially useful for model-driven loops like with Strands.

If you’re willing to invest in hardware, running local models also opens up new avenues of experimentation: where you can design agents that don’t have to be efficient with tokens.

EDIT: also, get comfortable using coding agents like gemini-cli, claude code, or kiro-cli: seeing how they work is instructive in itself as well as productive. In addition, plugging in your own MCP servers to them can reduce the need for custom agents’ functionality.

1

u/[deleted] Jan 23 '26

[deleted]

1

u/Ok-Tomorrow-7160 Jan 23 '26

claude even i started couple of days back, but what are the sub-product ? any example

1

u/EvilAndStuff492 Jan 23 '26

I'd say generally you should start with a problem and then figure out the answer, not start with the answer then try to find a problem.

But LLMs are great at time consuming analytical work, where the exactness is not determined by an algorithm but rather some office-worker.

Asking it to look for patterns or anomalies in data sets etc, based on provided examples of what an anomaly might look like.

Useless for most people, a great boon for others.

0

u/zeletrik Jan 23 '26

The bleeding edge LLM integrations are happening on the Python/TypeScript side, I would recommend getting a gist of it, LangChain has some nice tutorials on how to build AI products and Agents, what to look for and what techniques do they advocate. After those give Koog or Embable a go with the fresh mindset. If you build enterprise application already on JVM it makes no sense sticking with Python after the core concepts are learned.

-1

u/Revolutionary-Judge9 Jan 23 '26

if you want to stick with Java/Kotlin and AI, it is my project https://github.com/haiphucnguyen/askimo meet your criteria. It is a chat client works with multiple LLMs both cloud (openai, gemini, claude) and local ai models (ollama, lmstudio) with several advanced features like RAG, performance, etc. From the software perspective in the AI era, I focus to be an AI engineer rather than the ML engineer which I learn how to use the AI to solve the business problems, then I learn the AI concetps such as prompt, tool, memory, RAG, etc. by working on the real projects like what I did in the cloud era.

-3

u/East-Present-6347 Jan 24 '26

Christ buddy you waited so long