
Java at Spotify: Microservices, MCP & AI Overload – Mohamed Aboullaite | The Marco Show
The Marco ShowShow Notes
Mohamed Aboullaite, backend engineer at Spotify, Java Champion, Google Cloud Developer Expert, and Docker Captain, joins Marco to talk about building AI-powered integrations at scale, what software engineering looks like when you're running five AI agents in parallel, and why the foundations still matter in an AI-first world. They discuss the engineering behind Spotify's ChatGPT integration (built on MCP), the non-determinism challenges of tool-calling, agentic coding workflows, review fatigue, and a frank conversation about the junior developer pipeline and what it takes to become senior today. 💡 In this episode: How Spotify's ChatGPT integration works (MCP apps, the Spotify widget inside ChatGPT)
Siri/Alexa/Google Home backends and Spotify's ubiquity strategy
Non-determinism in MCP tool-calling and how Spotify works around it
Running 5 AI agents in parallel: the plan mode, review loops, cognitive fatigue
Java at Spotify: monorepo, microservices, Backstage
AI's impact on junior hiring and how to become senior anyway
Finding mentors and the power of the Java community
The token economy: measuring productivity by tokens burned
⏱️Timestamps: (00:00) Teaser (00:50) Meet Mohamed: Spotify backend engineer and Java Champion (01:53) What Mohamed works on at Spotify (03:12) Spotify inside ChatGPT and MCP apps (06:23) Building for new AI platforms (08:53) Spotify tools, playback, and device switching (09:48) Tool calling challenges with AI models (11:24) Using AI in day-to-day development (13:29) Running multiple coding agents in parallel (14:39) Why planning matters more than prompting (16:56) Review fatigue and cognitive load (19:43) Spotify’s backend, microservices, and Backstage (21:34) Java’s evolution and the AI era (24:14) Scala, Kotlin, Haskell, and JVM languages (25:46) Advice for junior developers in the AI age (29:27) How to become senior when AI solves everything (34:09) Finding mentors and growing through community (37:41) Giveaway question (39:28) Rapid-fire questions: Morocco, Sweden, Spotify, AI
New episodes every other Wednesday. Subscribe for more developer-focused conversations.
🎥 Watch the full episode on YouTube: https://youtu.be/6WvoouJ9Mrk
More from The Marco Show
Michael Simons, a longtime Java developer and Neo4j engineer, joins Marco to talk about the engineering principles that have stayed relevant across decades of changing technologies. The conversation covers database-first thinking, Spring and the Java ecosystem, graph databases, developer tooling, and why pragmatic decisions often matter more than chasing the “best” framework. They also discuss how AI is changing software development, where AI tools genuinely help, and why human judgment and responsibility still matter. 💡 In this episode: Why Michael still starts with the data model when building applications
Venkat Subramaniam joins Marco to talk about what AI is really changing for developers. They discuss why AI often impresses novices more than experts, why “AI first” is the wrong mindset, and why critical thinking, fundamentals, and judgment matter more than ever. 💡 In this episode: Why AI is better at finding problems than writing code
Sébastien Deleuze, a longtime Spring Framework committer and member of the Spring AI team, joins Marco to talk about how 13 years on the Spring team shaped his pragmatic approach to software development. The conversation covers how Spring AI fits into the Spring ecosystem, why enterprise AI still needs deterministic workflows and human accountability, and why long-term software quality matters even as GenAI changes how code gets written. 💡 In this episode: How Sébastien joined the Spring team through open source contributions
Josh Long, Spring Developer Advocate at Broadcom, joins Marco to cover 25 years of Spring history and what the JVM's real shot at the AI era actually looks like. Josh has published a weekly blog since 2011 and a weekly podcast since 2018 without missing an episode. This conversation gets into why vibe coding concerns him as an engineer, what accountability for AI-generated code actually means, and why Python's dominance in AI is more a marketing gap than a technical one. 💡 In this episode: Spring's origin story: why the documentation came before the code
Martin Lippert, longtime maintainer of Spring Tools and one of the people who has witnessed developer tooling evolve from Eclipse to VS Code, joins Marco to discuss how AI is transforming Java development, and what that means for the future of software engineering. ⏱️ Timestamps: (00:00) Teaser(00:38) Meet Martin Lippert, Spring Tools & the evolution of Java IDEs(03:28) What happened to Eclipse? Lessons from the rise and fall of a Java giant(12:20) Why Spring Tools moved to VS Code and embraced the Language Server Protocol(20:03) How AI is changing Java development and everyday coding workflows(21:59) Martin's AI workflow: Cursor, IDEs, code review & testing(26:16) Building developer tools for AI agents instead of humans(31:10) Why AI is changing release cycles and developer tooling(36:03) AI review fatigue, cognitive depth & trusting generated code(39:06) Will AI replace senior developers? What happens to junior engineers?(42:16) The future of Java, Spring & software architecture in an AI-first world(48:42) AI's hidden energy problem and the sustainability challenge(54:39) Practical tips for greener software engineering and AI usage(1:00:06) Giveaway & rapid-fire questions