This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
As a Senior Software Engineer, you will play a crucial role in the full software development lifecycle of the backend systems that power our machine learning applications. Working both independently and as part of a team, you will adopt an Agile methodology, focusing on building the scalable and reliable software architecture and infrastructure needed to support our model development and deployment efforts. We are seeking talented and passionate Software Engineers who take the initiative in identifying and solving complex problems related to ML systems.
Job Responsibility:
Design, build, and maintain scalable infrastructure to support the entire machine learning model lifecycle, from training and deployment to inference and monitoring
Act as the owner of a functional area within our ML platform, from product conception to delivery
Prepare high-level designs and document them, ensuring they meet the demands of large-scale ML workloads
Independently perform low-level design and coding in multiple tech components
Optimize existing microservices for performance, latency, and cost, particularly those serving ML models
Consider non-functional requirements (reliability, availability, scalability) when making decisions
Build, develop, mentor, and coach junior team members
Conduct and participate in code and design reviews to maintain high development standards
Collaborate with Data Science and ML teams to understand their infrastructure needs and build pragmatic, flexible systems that deliver tangible business impact
Requirements:
Bachelor's or Master's degree in Computer Science or equivalent with at least 5 years of experience
Substantial experience in building complex and scalable backend solutions, preferably for ML or data-intensive systems
Excellent programming skills in one or more languages, preferably Golang or Java
Strong object-oriented design skills, ability to apply design patterns, and an uncanny ability to design intuitive modules and class-level interfaces
Experience in distributed systems design and architecture, with experience in system performance and scaling for large-scale ML workloads
Experience with a variety of databases, including relational (e.g., MySQL), NoSQL (e.g., MongoDB), and Vector Databases
Experience in leading multi-engineer projects and mentoring junior engineers
Ability to perform deep problem-solving and build elegant, maintainable solutions for complex problems
Proficiency in writing high-quality, maintainable, and robust code, with expertise in languages such as Golang or Java
Adopting best practices in software engineering, including design, testing, version control, documentation, build, deployment, and operations
Experience with the machine learning model lifecycle, including ML Ops principles, model deployment, monitoring, and scaling
Experience in developing highly scalable software systems with characteristics such as high performance, high availability, low latency, and distributed architecture