Bei unserem Kunden lebte die Suchlogik ursprünglich an einem ungewöhnlichen Ort: im Frontend, geschrieben in TypeScript. Mit neuen Anforderungen — unter anderem dem Wunsch nach Learning to Rank — stieß diese Architektur an ihre Grenzen. Wir haben den Code daher in ein eigenes Backend umgezogen und dabei komplett neu geschrieben. Die Wahl fiel auf Python, vor allem wegen des vorhandenen Team-Know-hows und des starken Ökosystems im Machine-Learning-Umfeld.

Damit stellte sich aber eine Frage, die viele Teams beim Wechsel zu Python umtreibt: Wie geht man mit einer dynamisch typisierten Sprache um, ohne die Sicherheit und Klarheit zu verlieren, die man vorher hatte? Und wie lässt sich Domain-Driven Design sauber umsetzen, wenn der Compiler nicht mitdenkt? Im Vortrag zeigen wir, welche Werkzeuge und Patterns uns geholfen haben — von Type Hints und statischer Analyse bis hin zu konkreten Ansätzen für Value Objects, Entities und klar geschnittene Domänenmodelle in Python.

Der Vortrag richtet sich an Backend-Entwickler:innen und Architekt:innen, die Python jenseits von Skripten ernsthaft einsetzen wollen.