Fox Corporation is looking to solve the business and technical problem of building scalable and reliable software architecture and infrastructure to support their machine learning applications, from model development and deployment to inference and monitoring.
Requirements
- 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.
- 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.
Responsibilities
- 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.
- Collaborate with Data Science and ML teams to understand their infrastructure needs and build pragmatic, flexible systems that deliver tangible business impact.
Other
- Working both independently and as part of a team, you will adopt an Agile methodology
- We are seeking talented and passionate Software Engineers who take the initiative in identifying and solving complex problems related to ML systems.
- Build, develop, mentor, and coach junior team members.
- Conduct and participate in code and design reviews to maintain high development standards.
- Experience in leading multi-engineer projects and mentoring junior engineers.