Senior Software Developer - Machine Learning
- Toronto, ON, Canada
$125,800 to $157,300 CAD / year · Full-time
Applications open in a new tab.
Job details
- Pay
- $125,800 to $157,300 CAD / year
- Job type
- Full-time
- Experience
- 5-7 years of relevant industry experience in machine learning, software development, or a related field;
- Posting language
- English
- Posted
Original job description
Senior Software Developer, Machine Learning
POSITION SUMMARY
As a Senior Software Developer, Machine Learning, your primary focus will be on packaging machine learning research into reusable software artifacts. You will collaborate with cross-functional teams, including researchers, software developers, and product managers, to design, develop, and deploy machine learning solutions that can be integrated into Vector’s software applications.
KEY RESPONSIBILITIES
Collaborate with Applied ML Scientists, ML researchers, and other Applied ML Specialists to understand and package machine learning research into reusable software components;
Design and develop software libraries, modules, and APIs that encapsulate machine learning models, algorithms, and data preprocessing techniques;
Develop software frameworks and tools to streamline the integration and deployment of machine learning solutions in Vector’s software applications;
Collaborate with product managers and stakeholders to identify ML opportunities and prioritize research areas for software integration;
Ensure the scalability, performance, and reliability of machine learning software artifacts through efficient code design, optimization, and testing;
Stay up-to-date with the latest advancements in machine learning research and methodologies, and identify opportunities for leveraging new techniques;
Conduct code reviews and provide constructive feedback to ensure high code quality and adherence to best practices;
Collaborate with software engineering teams to integrate machine learning software components into existing and new software applications;
Develop and maintain documentation and examples to support the adoption and usage of machine learning software artifacts by other developers;
Stay informed about data privacy and security regulations to ensure compliance in the development and deployment of machine learning solutions; and,
Other related duties as assigned from time to time.
KEY SUCCESS MEASURES
The code quality and extensibility of existing libraries as well as new libraries implemented by AI Engineering is high. Systems design approach applied to development of new software;
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, as measured by where code is reused and duplicate effort is reduced. The number of APIs scaled to multiple users increases;
Software development and system design best practices are more widely adopted across the AI engineering team, showcased by successful implementations, reliability, observability and operability;
A high degree of automation of code review and software continuous integration process is achieved. Automation of running of data pipelines, model training, and evaluation using workflow orchestration tools is achieved; and,
Knowledge on software and systems design is shared across teams, and institutional knowledge on building responsible ML systems developed.
PROFILE OF THE IDEAL CANDIDATE
Master's degree in computer science, data science, or a related field; a PhD is considered an asset;
5-7 years of relevant industry experience in machine learning, software development, or a related field;
Proven experience in packaging machine learning research into reusable software artifacts, with a focus on software development;
Strong programming skills in languages such as Python, Java, or C++, and experience with software development frameworks and tools;
Solid understanding of machine learning algorithms, statistical modeling, and data preprocessing techniques;
Familiarity with popular machine learning libraries and frameworks, such as TensorFlow, PyTorch, or JAX;
Experience in designing and developing software libraries, APIs, and frameworks for machine learning solutions;
Proficiency in software engineering best practices, including version control, testing, and code documentation;
Familiarity with cloud platforms (e.g., AWS, Azure, Google Cloud) and containerization technologies (e.g., Docker, Kubernetes);
Excellent problem-solving skills and the ability to translate research ideas into practical and reusable software components; and,
Strong communication and collaboration skills, with the ability to work effectively in a cross-functional team environment.
TOTAL REWARDS: The expected salary for this position will be $125,800 - $157,300 per year, plus benefits if applicable. The final salary offer will reflect the successful candidate's experience, skills, and qualifications, in alignment with the Vector Institute's Compensation Policy and may differ from above.
The Vector Institute’s Total Rewards approach extends beyond traditional compensation and benefits. Full-time employees are eligible for a comprehensive suite of supports that recognize and value employees, including vacation time, floater days, GRRSP, a Health Spending Account, a Summer Hours program, and flexible work arrangements.
POSITION STATUS: This posting is for an existing vacancy.
USE OF ARTIFICIAL INTELLIGENCE: Vector may use both internal and external third party AI-based tools to assist in the screening of applications for this posting. Any data collected will be used solely for recruitment purposes and handled in accordance with Vector’s External Privacy Policy and Use of AI-Based Tools in Recruitment and Selection Policy.
INCLUSION AND EQUAL OPPORTUNITY EMPLOYMENT: Vector believes AI powers possibility by advancing cutting-edge research and translating it into real-world impact through collaboration with research, industry, and government. Vector is committed to fostering a diverse and inclusive culture that reflects its values.
The Vector Institute welcomes applications from all qualified candidates, including those who are Indigenous, 2SLGBTQIA+, racialized persons/visible minorities, women, and people with disabilities.
If you require an accommodation at any stage of the recruitment or selection process, please contact hr@vectorinstitute.ai. The Vector Institute team will be happy to work with you to ensure your experience is as inclusive and accessible as possible.
JOIN OUR COMMUNITY: Check out the Vector Institute’s Careers Page to explore open opportunities at Vector and Follow Vector on X, LinkedIn, and Bluesky to stay connected with the latest developments in Ontario's AI ecosystem and the Vector Institute.
More about this job
Responsibilities
The role focuses on packaging machine learning research into reusable software artifacts and frameworks. You will collaborate with cross-functional teams to design, develop, and deploy scalable machine learning solutions.
Requirements
Candidates must have a Master's degree in computer science or a related field and 5-7 years of industry experience. Proficiency in Python, Java, or C++ and experience with machine learning frameworks like PyTorch or TensorFlow are required.
Skills
- Machine learning
- Software development
- Python
- Java
- C++
- TensorFlow
- PyTorch
- JAX
- API design
- System design
- Cloud platforms
- Docker
- Kubernetes
- Data preprocessing
- Statistical modeling
- Version control
Benefits
- Vacation time
- Floater days
- GRRSP
- Health spending account
- Summer hours program
- Flexible work arrangements
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Science & Research
- Data & Analytics
- Engineering
Keywords
- Machine Learning
- Software Engineering
- Python
- Java
- C++
- TensorFlow
- PyTorch
- JAX
- API
- System Design
- AWS
- Azure
- Google Cloud
- Docker
- Kubernetes
- Data Pipelines
- Model Training
- Workflow Orchestration
- Version Control
- Code Review
- Statistical Modeling
- Data Preprocessing
- Scalability
- Reliability
- Observability
- Operability
- Automation
- Continuous Integration
- Artificial Intelligence
- Software Artifacts