PLease apply directly via our website.
POSITION DESCRIPTION
POSITION SUMMARY
We are seeking a highly skilled and innovative Software Developer, Machine Learning to join our AI Engineering team. As a Software Developer, Machine Learning your primary focus will be on packaging ML models and research into efficient and scalable software artifacts. You will play a pivotal role in enabling ML researchers through robust software engineering practices, facilitating the exploration and implementation of cutting-edge machine learning techniques.
KEY RESPONSIBILITIES
- Collaborate closely with Applied ML scientists and Applied ML Specialists to understand their models, algorithms, and research objectives, and work towards packaging them into reusable software components;
- Develop software libraries, frameworks, and tools that enable ML researchers to effectively experiment, train, evaluate, and deploy their models;
- Design and develop APIs, interfaces, and documentation that facilitate the integration of ML models and research findings into software applications and MVPs;
- Implement robust and scalable data pipelines, data preprocessing techniques, and feature engineering methodologies to support ML research and development;
- Collaborate with software engineering staff and ML researchers to optimize and improve the performance, scalability, and reliability of ML software artifacts;
- Stay updated with the latest advancements in machine learning research and software engineering practices, leveraging new tools and techniques to enhance ML research capabilities;
- Contribute to the development of experimentation frameworks and infrastructure, enabling ML researchers to conduct large-scale experiments efficiently;
- Collaborate with stakeholders to understand their requirements and provide software engineering solutions that bridge the gap between ML research and practical implementation;
- Collaborate in mentoring and providing guidance to junior team members, fostering a culture of collaboration and continuous learning within the AI lab; and,
- Stay informed about emerging trends and best practices in AI and software engineering, sharing knowledge and insights with the team.
KEY SUCCESS MEASURES
- The code quality and extensibility of existing libraries, as well as new libraries implemented by AI Engineering is high;
- The software and APIs developed by AI Engineering are well-documented and there is strong user engagement, measured in terms of forks, PRs, issues and stars;
- The number of successful products/models delivered by AI Engineering increases, where code is reused, and duplicate effort is reduced. The number of APIs scaled to multiple users increases;
- Software development best practices are more widely adopted across the team, as demonstrated by the successful design of implementations, reliability, observability and operability; and,
- A high degree of automation of code review and software continuous integration process is achieved. Automation of running data pipelines, model training, and evaluation using workflow orchestration tools is achieved.
PROFILE OF THE IDEAL CANDIDATE
- Bachelor’s or Master's degree in Computer Science, Data Science, or a related field.
- 2-3 years of relevant experience in software development, with a strong focus on packaging ML models and research findings;
- Solid programming skills in languages such as Python or JavaScript / TypeScript;
- Good understanding of machine learning algorithms, and data preprocessing techniques with proficiency in ML frameworks like TensorFlow, PyTorch, Hugging Face etc.;
- Familiarity with front-end frameworks (e.g., React, Angular, Vue), back-end frameworks (e.g., Node.js, Django, Flask) and API development (e.g. RESTful APIs);
- Experience in developing and maintaining software libraries, APIs, and frameworks for ML model integration;
- Proficiency in software engineering best practices, version control systems, and collaborative development environments;
- Familiarity with cloud platforms (e.g., AWS, Azure, or Google Cloud) and containerization technologies (e.g., Docker, Kubernetes) is a plus;
- Strong problem-solving abilities, with the capability to bridge the gap between ML research and practical software engineering solutions; and,
- Excellent communication and collaboration skills, with the ability to work effectively in a research-driven and dynamic environment.
At the Vector Institute we are committed to driving excellence and leadership in Canada’s knowledge, creation, and use of AI to foster economic growth and improve the lives of Canadians. We strive for greater inclusion in the programs and culture that we build by welcoming and encouraging applications from all qualified candidates. This includes but is not limited to applicants who are Indigenous, 2SLGBTQIA+, racialized persons/visible minorities, women, and people with disabilities.
If you require an accommodation at any point throughout the recruitment and selection process, please contact hr@vectorinstitute.ai and we will happily work with you to meet your needs.