DISPATCH · CAREER · 6 MIN READ
From Full-Stack to Agentic AI: My Journey
Ten years of Angular, Spring Boot, and Node.js gave me a foundation. LangGraph, MCP, and a cruise ship gave me a mission. Here's how the transition happened, and what I'd tell myself if I were starting it again.
2015–2020: Learning the fundamentals
I started at ValueLabs in Hyderabad as a trainee, writing Java and jQuery. Within a year I was building MEAN stack products. By the time I left, I'd built SSO frameworks, REST APIs, shared Angular component libraries, and managed agile ceremonies for cross-functional teams.
The most important thing I learned in those years wasn't any particular technology. It was how software actually gets built in teams, requirements, estimation, scope creep, refactoring debt, stakeholder communication. The boring operational stuff that makes or breaks a project.
2021: Moving to Hamburg and Xcontrol
Joining Xcontrol in Hamburg was a step change. The company operates in maritime SaaS, software for cruise lines, port operators, and vessel management. The domain was unfamiliar; the engineering challenges were fascinating.
My first three years were classic full-stack: Angular frontends for real-time vessel data, Spring Boot APIs, Postgres databases, Docker-compose deployments. But I was also watching the AI space accelerate, GPT-3, then ChatGPT, then the explosion of tooling around LLMs in 2023.
2023–2024: The pivot
The pivot didn't come from a strategic decision. It came from a customer problem.
We had a client who was drowning in operational documentation, procedures, checklists, crew logs, maintenance records across a fleet of vessels. Finding the right document at the right time was genuinely painful. Search didn't work well. Manual lookup was slow. They wanted something better.
We built a RAG system. It worked. Then the questions changed: "Can it also do X? Can it remember what we told it last week? Can it automatically route this query to the right system?" The RAG system became an agent. The agent became a network of agents.
That's when I went deep on LangGraph, MCP, and agentic architecture patterns. I spent months studying how to build reliable autonomous systems, not just systems that could answer questions, but systems that could plan, execute, verify, and recover.
What full-stack experience gave me for AI
A lot of people transitioning into AI engineering come from data science or ML research. My path was different, and I think it gave me advantages in specific areas:
- API design. Building clean, versioned, observable interfaces between the agent layer and SaaS services comes naturally when you've spent years doing it.
- Reliability thinking. Full-stack engineers have deep instincts for error handling, retry logic, graceful degradation, and monitoring. AI systems need all of that, and more.
- Database intuition. Understanding when to use Redis vs Postgres vs a vector store vs an in-memory cache is a skill that transfers directly to agentic memory design.
- Security. JWT, OIDC, multi-tenant isolation, authorization consistency, none of this is new when you've built enterprise software. But it's often ignored in AI prototypes. It can't be ignored in production.
What I had to unlearn
- Determinism. Software engineers are trained to expect deterministic outputs. LLMs don't work that way. Embracing probabilistic systems required a mental shift.
- Specification completeness. You can't fully spec an agent upfront. Agentic systems need to be observed, evaluated, and iterated, more like training a team member than configuring a function.
- Over-engineering. The temptation in AI is to build incredibly complex multi-agent systems. Often a single well-prompted model with good tool access is more reliable and easier to debug.
Where I am now
I design and build multi-agent systems at Xcontrol that run in production aboard cruise ships. I talk directly to customers, capture requirements, translate domain problems into AI architecture decisions, and onboard shipboard IT teams to operate AI tooling at sea.
It's the most interesting work I've done in a decade of engineering. The domain is hard. The constraints are real. And the users are genuinely depending on what we build.
The transition from full-stack to AI engineering isn't about abandoning what you know. It's about applying it to a new layer of the stack, one that reasons, retrieves, and acts.
If you're a full-stack engineer thinking about making this move, I'm happy to talk. Drop me an email.