Susanna

Susanna

Susanna is a Staff Software Engineer passionate about engineering excellence in the adoption of AI. She has been a software developer with experience spanning across multiple industries, from small agile teams in big corporates ( CNN, Toyota Connected, FairFX, McKinsey/QB) to early stage startups, with extensive experience in web development (React, Ember, Angular, PWAs), GraphQL, and all things GenAI. Susanna is currently a Staff engineer at Typeform, working at the realms of building products in cutting edge AI. She is a Google Developer Expert in web technologies, and has spoken at multiple conferences worldwide, including Code Mesh 2017, Full Stack Fest 2018,Full Stack Europe 2019 and React Miami 2022. She currently sits on the Google Developer Advisory Board
When Software Stops Being Deterministic: Rethinking Engineering Practices for AI-Native Systems
AI Coding Summit BerlinAI Coding Summit Berlin
Upcoming
When Software Stops Being Deterministic: Rethinking Engineering Practices for AI-Native Systems
For decades, we've built software around a simple assumption: the same input produces the same output. If behavior changes, we can usually trace it back to a code change. We write tests, review diffs, deploy to staging, and rely on CI because software is fundamentally deterministic.

LLM systems break that assumption.

As you build with language models, behavior increasingly emerges from the interaction between prompts, retrieval, context, model choice, and evaluation—not just the application code itself. Features can regress without a single line of business logic changing. A prompt tweak fixes one failure mode while introducing another. The engineering instincts that served us well for years don't disappear, but many of them stop being sufficient.

This talk is about what that transition has actually looked like while building agentic systems at Typeform.

Rather than presenting a polished architecture or a success story, I'll walk through real features we're building today - including the trade-offs, dead ends, and problems we still haven't solved. Each example highlights an engineering habit I had to rethink.

I'll cover four practices that have become essential: continuous evaluation instead of relying on traditional test suites, trace-level observability instead of application logs alone, reviewing prompts and other AI artifacts as first-class engineering assets, and orchestrating systems whose components are inherently non-deterministic.

The goal isn't to convince you that AI changes everything. It's to show which engineering principles still hold, which ones need to evolve, and the practical patterns we've found useful along the way.

If you're already building LLM applications - or are about to start-this talk aims to save you from having to unlearn some of those lessons the hard way.