Software Engineer – Machine Learning – Machine Learning Engineering
Company | Qualcomm |
---|---|
Location | Toronto, ON, Canada |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s, Master’s, PhD |
Experience Level | Mid Level |
Requirements
- Bachelor’s degree in Computer Science, Engineering, Information Systems, or related field and 2+ years of Hardware Engineering, Software Engineering, Systems Engineering, or related work experience.
- OR Master’s degree in Computer Science, Engineering, Information Systems, or related field and 1+ year of Hardware Engineering, Software Engineering, Systems Engineering, or related work experience.
- OR PhD in Computer Science, Engineering, Information Systems, or related field.
Responsibilities
- Software development of the Qualcomm AI Stack SDKs and tools to support execution of the latest Neural Networks on Windows on Snapdragon.
- Validate and/or improve the performance and accuracy of your software through detailed analysis and test of machine learning use cases.
- Assists with the development and application of machine learning techniques into products and/or AI solutions to enable customers to do the same.
- Assists in the development of optimized software to enable AI models deployed on hardware (e.g., machine learning kernels, compiler tools, or model efficiency tools, etc.) to allow specific hardware features; collaborates with team members for joint design and development.
- Works under supervision. Decision-making affects direct area of work and/or work group.
Preferred Qualifications
- Experience with Windows application development (e.g. working on tutorials/examples and validating integration into Windows stack)
- 1+ year software development experience using C/C++
- Strong software development skills (e.g. data structure and algorithm design, object oriented or other software design paradigm knowledge, software debugging and testing, etc.)
- Strong communication skills (verbal, presentation, written)
- 1+ years of Windows software development experience
- Experience with Windows OS, Visual Studio, Windows Performance Analyzer (WPA), WinDbg tools
- Experience debugging complex problems across multiple layers of hardware, OS, compiler, and drivers
- Experience in Compiler and JIT technologies
- Experience with ONNX RT
- Experience with different NN architectures DNNs, CNNs, RNNs/LSTMs, GANs, LLMs, etc.
- Experience with Machine Learning frameworks (e.g., Tensor Flow, Pytorch, Keras).
- Experience with Windows AI benchmarks, like MLPerf, Geekbanch AI, Procyon, etc.
- Experience with low level interactions between operating systems and hardware.
- Experience with Qualcomm FastRPC and Windows MCDM drivers
- Experience using/integrating Qualcomm AI Stack products (e.g. QNN, SNPE, QAIRT)
- Experience with agile software development practices and git based SCM
- Linux software development
- Software development experience with Python
- Ability to collaborate across a globally diverse team and multiple interests