Software Engineer - Runtime Systems

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 runtime engineer at Tower, you'll be responsible for building and maintaining the secure, high-performance environment in which user-defined Python applications run. This includes designing the runtime environment, managing resource isolation, providing user-facing observability about performance and correctness, and implementing the overall systems that monitor and control execution at scale. You'll work primarily in Rust to ensure low-level performance and security, collaborating closely with our distributed systems team to integrate the runtime with our control plane. If you're excited about building robust systems that safely and efficiently run untrusted code in production, this role is for you.

What you’ll do

  • Own end-to-end (design, develop, and implement) the runtime environment for data apps in Tower.
  • Develop systems in Rust to manage resource isolation, sandboxing, and workload lifecycle across a multi-tenant platform.
  • Build tools and interfaces to provide observability into workload performance, behavior, and correctness.
  • Collaborate with a small, close-knit team and the company’s founders to define and implement a new way to run data apps in the cloud.
  • Collaborate with the distributed systems team to integrate the runtime with our control plane and orchestration layers.
  • Contribute to the overall security posture of the system, including execution isolation and safe handling of untrusted code.
  • Help shape the architecture and engineering practices of the team as an early contributor to the company.

What we’re looking for

  • Proven experience in software engineering, with a focus on runtime environments and compute platforms.
  • Strong proficiency in multiple programming languages with a preference towards Rust, Golang, Python, 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 working on runtime environments.
  • Deep understanding of containerization technologies.
  • 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 jobs@tower.dev to connect with a founder and discuss the opportunity!

Job Details

Company
Tower.dev
Location
United Kingdom
Posted