
Senior Software Engineer, Code Generation
- Canada
- Permanent
- Full-time
- Design, implement, and optimize high-performance data structures and algorithms for core components of our generative AI orchestration platform
- Design and develop efficient data pipelines and storage solutions for AI model integration and output processing
- Collaborate with AI researchers and machine learning engineers to understand data needs
- Identify and address performance bottlenecks and architectural challenges in our systems, particularly within data flow and orchestration
- Contribute to platform features like data versioning, efficient data retrieval, and ensuring data integrity for AI-generated code and related metadata
- Mentor and guide junior and senior engineers on best practices in data structures, algorithms, and database design
- Participate in code reviews, design discussions, and contribute to the overall technical direction of the team
- Work to develop robust and efficient backend services that orchestrate AI functionalities
- 5+ years of engineering experience in backend systems, distributed systems, or core platform development
- Deep expertise in data structures and algorithms, with a proven track record of applying them to solve complex problems
- Proficiency in one or several of Java, Rust, C/C++, and/or Python, with a strong understanding of systems-level programming, memory management, and performance tuning
- Experience designing and building highly available, low-latency systems
- Ability to diagnose and troubleshoot complex technical issues in production environments
- Excellent problem-solving skills and the ability to work effectively in a fast-paced, collaborative environment
- Proven ability to collaborate across disciplines and experience levels, from researchers to junior engineers
- Deep understanding of SQL (preferably Oracle), including advanced querying, schema design, and database optimization for performance and scalability
- You have a strong desire to understand complex problem spaces and own solutions
- Familiarity with cloud-native distributed systems (e.g., Kubernetes, Kafka)
- Experience with NoSQL databases and understanding of their trade-offs is great, but not required. We'll teach you NoSQL
- Contributions to relevant open-source projects
- Familiarise yourself with the MongoDB database and aggregation language
- Familiarise yourself with the problem space and the domain
- Set up software development infrastructure (tech stack, build tools, etc) to enable development using the relevant tech stacks
- Started collaborating with your peers and contributed to code reviews
- Worked on and delivered a large-scale code generation feature in the product
- Contributed to and helped deliver a few product releases
- Reviewed and contributed to scope and technical design documents
- Delivered large-scale features across our entire tech stack
- Helped recruit and interview new members of the team
- Collaborated with other teams at MongoDB