Location: Berlin, DE or London, UK
About Tower
Tower helps data scientists and data engineers deliver on their roadmaps faster by providing a serverless data and AI platform built on Iceberg storage that is fully-integrated with your enterprise infrastructure. Our mission is to support the development of a multi-engine world where companies pick the best engine for the job and companies own their data. We are a team of industry veterans, backed by leading VCs, on a mission to push the boundaries of what’s possible in an effort to dramatically improve the lives of data engineers and data scientists around the world.
Role overview
As a distributed systems engineer at Tower, you’ll be at the core of our platform’s infrastructure, building and operating the API and control plane that powers secure, scalable execution of Python-based data applications. You’ll design and implement systems that manage compute, scheduling, tenancy, and orchestration, ensuring reliability and performance across a highly dynamic environment. This role is ideal for engineers who love working at the intersection of systems design, cloud-native infrastructure, and developer experience—and who are excited to help shape the foundations of a modern, serverless data platform.
What you’ll do
- Own end-to-end (design, develop, and implement) the core API and control plane that orchestrates the execution of Python-based data applications.
- Implement scalable systems for scheduling, tenancy, and lifecycle management of user workloads.
- Ensure high availability, performance, and security across distributed services running in dynamic cloud environments.
- Collaborate with a small, close-knit team and the company’s founders to define and implement a seamless user experiences.
- Develop robust interfaces and internal tooling to support both end users and platform operations.
- Influence architectural decisions and contribute to the technical foundation of a next-generation data platform.
- Mentor junior engineers and help shape the technical direction of the team and company.
What we’re looking for
- Proven experience in software engineering, with a focus on backend distributed systems deployed in the cloud.
- Strong proficiency in multiple programming languages with a preference towards Golang, Rust, and JavaScript.
- Experience working on cloud platforms (AWS, Azure, GCP) and containerization technologies (Docker, Kubernetes).
- Deep understanding of security best practices, especially for cloud systems and data security.
- Proven track record of building and deploying scalable software systems.
- Strong communication skills and a desire to partner with our customers in solving their problems.