We’re hiring engineers who are passionate about solving real-world problems and empowering both developers and end-users to work optimally. If you’re motivated to develop reliable, performant, and scalable systems, and to design robust APIs and primitives, this role offers the opportunity to make a significant impact on our products and the people who use them.
Frontline
Foundry Software Engineers may be offered the opportunity to Frontline, an exclusive program unlike any other. This unique, short-term assignment involves being embedded with customers, allowing you to work directly with users and gain firsthand insight into how our products are used and the challenges our customers face. Unlike traditional engineering roles, Frontline immerses you in complex, ambiguous problems, empowering you to deliver impactful solutions across some of the world’s most important industries and institutions.
Some of our most successful products were built on the factory floor, addressing real-world problems for the world's most important institutions. These products were developed by some of our most successful product engineers, who began their careers in roles aligned with Frontline responsibilities, gaining a deep understanding of both our technology and our customers.
Frontliners operate across a broad spectrum of responsibilities, much like a startup CTO. They work in small teams to own the end-to-end execution of high-stakes projects. This spectrum ranges from discussing architecture and building custom web apps to conducting workshops with users and strategizing with customer executives. No two days are alike, as each day is diverse and impactful. By witnessing how customers engage with Foundry and experiencing these pain points firsthand, you’ll gain unique insights that feed directly back into our development process, helping to refine and enhance our products.
- Core Responsibilities
- Building a performant search and indexing ecosystem for complex granularly permissioned data
Contributing to open-source data processing libraries, integrating the latest innovations to achieve performance gains
Building the distributed systems that power large scale compute workloads, orchestrating and efficiently scheduling hundreds of thousands of containers every hour
Designing architecture and opinionated APIs to keep application developers on the happy path
Tracing and performance observability in high scale distributed microservice architectures
Building reliant, performant, and scalable systems for storage, auth, or asset serving to enable other product teams to build robust applications without deep domain expertise in the underlying systems
- Automating the deployment, management, and operations of complex distributed systems like Cassandra, Elasticsearch, Kafka, and more across different environments
- Technologies We Use
- Different backend languages, including Java, Rust, and Go
Open-source technologies like Cassandra, ElasticSearch, Spark, Kafka, Kubernetes, Flink
- Industry-standard build tooling, including Gradle and GitHub
- What We Value
- Demonstrated ability to collaborate and empathise with a variety of individuals. Able to iterate with users and non-technical stakeholders and understand how technical decisions impact them.
Ability to learn new technology and concepts, even without in-depth experience. Experience developing and managing highly-available distributed systems is beneficial, but not required.
Bias towards quality and thoughtful about edge cases (“anything that can go wrong will go wrong”); writes code that is defensive against all possibilities.
Builds solutions and APIs with users in mind while maintaining a high engineering bar. Seeks to centralise and abstract complexity away from our users in order to expose simple, powerful APIs for consumers.
- Active UK Security clearance, or eligibility and willingness to obtain a UK Security clearance is beneficial, but not necessary.
- What We Require
- Engineering background in Computer Science, Mathematics, Software Engineering, Physics or similar field.
Strong coding skills with demonstrated proficiency in programming languages, such as Java, C++, Python, Rust, or similar languages.
Familiarity with storage and data processing systems, cloud infrastructure, and other technical tools.
Strong written and verbal communication skills and ability to iterate quickly with teammates, incorporating feedback and holding a high bar for quality.