Casavo is a next-generation digital real estate agency that leverages technology to simplify and expedite the process of buying and selling real estate.
Job DescriptionThe Role: Building a Solid Foundation
We are currently migrating our core systems from a legacy Scala monolith to a modern Kotlin Modular Monolith. You will join our backend team to help us safely extract business domains from the old system and rebuild them in Kotlin, applying Domain-Driven Design (DDD) with a practical, hands-on approach.
While your primary focus is the core engine for our agents, you will not be working in a silo. You will design integrations and event-driven flows to communicate with Casavo’s broader ecosystem of backend [micro]services (e.g., consumer platforms, data warehouses, and identity providers).
We are also preparing our platform for the future. As we scale, our APIs won't just be consumed by frontend applications, but increasingly by autonomous AI tools and automations. Because of this, we care deeply about building robust, predictable, and well-documented APIs. If you enjoy writing clean code, optimizing SQL queries, and shipping reliable software without over-engineering it, you’ll fit right in.
Our Tech Stack
- The New Core: Kotlin (Coroutines), Ktor / Http4k, Gradle Multi-module.
- The Legacy (to be migrated): Scala, MySQL.
- The Database: PostgreSQL (focused on efficient querying and keyset pagination).
- Infrastructure & Comms: RabbitMQ, In-Memory Event Buses, Docker, AWS, k8s, GitHub.
Key Responsibilities
Develop the Modular Monolith: Write clean, maintainable Kotlin code for our new backend services, ensuring clear boundaries between business domains.
Migrate and Modernize: Work alongside the team to understand existing business logic in the Scala monolith and rewrite it in the new Kotlin architecture with zero downtime.
Cross-System Integration: ensure smooth communication between the core system and other Casavo services.
Build Robust, AI-Ready APIs: Design predictable REST APIs. You'll implement standard error formats (RFC 7807), strict OpenAPI specs, and safe pagination (cursors) so our endpoints are rock-solid for both human UIs and future Machine-to-Machine/AI integrations.
Database & Performance: Design relational database schemas (PostgreSQL) and write efficient SQL queries that scale gracefully as our data grows.
Collaborate & Deliver: Work closely with frontend developers, product managers, and the rest of the engineering team to ship features iteratively and reliably.
JVM Experience: Solid background in backend development within the JVM ecosystem. Professional experience with Kotlin is highly appreciated, but we welcome strong Java or Scala engineers who are eager to switch to Kotlin.
API Craftsmanship: You know how to build proper REST APIs. You understand the importance of idempotency, correct HTTP verbs, and clear error handling.
Database Skills: You have hands-on experience with relational databases (PostgreSQL or MySQL). You understand how B-Tree indexes work and why LIMIT/OFFSET can hurt performance on large tables.
Practical Mindset: You appreciate clean architecture and DDD, but you know that the ultimate goal is shipping working software. You prefer "boring", reliable technology over the latest hype.
Legacy Tolerance: You are comfortable reading existing code (even in Scala) to figure out how things work before migrating them.
Quality Focus: You naturally write automated tests for your code to ensure stability and prevent regressions.
Communication: Good written and verbal communication skills in English.
- ADR-Driven & Blameless: We don't make architectural decisions in dark rooms; we write, debate, and publish Architectural Decision Records. When things break in production (and they will during a legacy migration), we conduct blameless post-mortems to fix the system, not the person.
- You Build It, You Run It: We empower our developers. If your code is well-tested and your PR is green in our CI/CD pipeline, it goes to production.
- Smart Hybrid & Deep Work: We protect your focus time. The 2 days in our Milan office are explicitly meant for whiteboarding, architecture discussions, and team bonding—not just warming a desk. The rest of the week relies on asynchronous communication and deep work.
- Continuous Learning: Transitioning to Kotlin and building AI-ready architectures requires continuous study. We actively support your growth by carving out dedicated time during working hours for individual learning, architecture deep-dives, and group knowledge-sharing sessions.
- Real Impact: You won't be a cog in a massive machine. Your code will be the engine of our B2B platform, directly impacting the daily lives of hundreds of real estate agents.
Top Skills
What We Do
Casavo is the European scaleup that offers smart solutions to sell and buy homes. Thanks to its technology and innovative model, the company is revolutionizing the real estate market, while simplifying the life of sellers and buyers. Casavo guides its customers through every step of the selling and buying process, providing total transparency and full control, so they can instantly find the right offer or home that matches their needs. The company moreover offers complementary services such as mortgage brokerage and collaborates regularly with main operators in the sector, including banks and real estate agencies. From 2017 to date, Casavo has served almost 7,000 customers, raising over 800 million euros in equity and debt from some of the most renowned international investors. Originally founded in Milan by Giorgio Tinacci, Casavo currently operates in Italy, Spain and France. For more information, visit www.casavo.com






