Program Synthesis Engineering
Builds program synthesis pipeline for modular probabilistic models in finance and research applications. Requires experience with complex algorithms like graph theory and compilers, plus collaborative software engineering practices.
About the job
Responsibilities
- Define new features or fixes, based on awareness of overall objectives and challenges
- Commit to delivering defined features or fixes end-to-end
- Define implementation strategies
- Leverage the expertise of other team members effectively
- Write design documents for more complex problems
- Write clean and performant code
- Help other team members to deliver on their goals
Essential Experience
- Designing and implementing complex, non-standard algorithms (graph theory, path finding, custom inference, compilers)
- Experience in a collaborative, commercial software engineering environment, working on large codebases and using practices like CI/CD, testing, and code reviews
Useful Experience
- Implementation of program synthesis frameworks
- Strong foundation in computer science algorithms and data structures
- Julia, or usage of some more functional or typed languages, e.g. Rust, OCaml, Clojure, C++, or Haskell
- Profiling and low level performance optimisation
- Mathematics, Computer Science, or Statistics advanced degree
Skills
Program Synthesis, Graph Theory, Path Finding, Custom Inference, Compilers, CI/CD, Julia, Rust, Ocaml, Clojure, C++, Haskell, Algorithms, Data Structures
Similar jobs
Backend Engineering jobsBuild and scale Ruby on Rails backend services for rewards, incentives, and loyalty features in a high-throughput platform. The role owns complex feature delivery, contributes to architecture, mentors junior engineers, and requires 3+ years of professional software engineering experience.
Build and operate backend capabilities for a cloud identity platform, including authentication flows, APIs, and developer experiences. The role requires 3+ years of experience with high-scale production systems and RESTful API development, with Go, TypeScript, and DynamoDB as preferred skills.
Build and scale reliable research infrastructure and distributed systems for evolving AI research workflows. The role independently leads complex technical projects, makes foundational architectural decisions, and partners with researchers and engineering teams.
Build and operate Internet-scale HTTP and TLS infrastructure, migrate services to a Rust-based proxy, and improve protocol performance. The role requires systems programming experience, strong reliability and security practices, and interest in open-source standards.
Build and operate publisher-facing backend features for Instacart’s Carrot Ads platform, spanning APIs, serving, reporting, and partner tooling. The role requires 3+ years of backend experience, distributed-systems and API expertise, and operational ownership.