Tower.dev
Software Engineer - Distributed Systems
Tower.devGermany15 hours ago
Full-timeEngineering, Information Technology

Location: Berlin, DE or London, UK

About Tower

Data teams waste countless hours wrestling with infrastructure instead of solving their businesses’ most critical problem: How to get more value from their data. Tower changes that.

We're a Python-native serverless data stack built on Apache Iceberg with powerful ETL and Lakehouse management tools. We integrate seamlessly with enterprise systems and make companies more nimble by letting them choose the best engine for each job while maintaining full data ownership.

Backed by leading VCs, we're a team of industry veterans from Snowflake and Databricks on a mission to make data engineers superheroes 🦸.

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.
Nice to have
  • Significant experience operating and extending Kubernetes.
  • Familiarity with CI/CD pipelines and DevOps practices and, in particular, defining them based on best practices.
  • Significant previous experience with startups.
Why should you join us?
  • Opportunity to push yourself while you also push the boundaries of what’s possible to bring a next generation product—that you’ve help define—to market.
  • Be a key member of a team that defines the culture of a new company from the ground up.
  • Salary that is competitive to market (despite being a startup) and significant equity in the overall venture.
How to apply
  • Send your resume and a brief introduction to [email protected] to connect with a founder and discuss the opportunity!

Key Skills

Ranked by relevance