Bachelor’s degree in Computer Science, Electrical Engineering, Mathematics or any other STEM field (or equivalent work experience).
Strong technical engineering experience with programming in a production environment and codebase, or equivalent work experience.
High-level understanding of machine learning paradigms.
Preferred Qualifications:
Extensive previous experience in C++
Extensive previous experience in Python
Experience with shipping a product end to end
Experience in low-level performance optimizations
Experience with deep learning frameworks (e.g. PyTorch, TensorFlow)
Experience with model conversion and optimization toolkits for different hardware platforms (e.g. ONNX, OpenVINO, QNN, …)
Experience with version control systems (e.g. Git), build systems (e.g. CMake) and CI/CD
Responsibilities
Design, build, test, debug, and ship high quality features. Work with appropriate stakeholders to determine requirements, identify the dependencies and develop the design documents. Break down larger work items and provide estimation.
Deliver core algorithmic components.
Work with engineers and researchers on building solutions for algorithm evaluation, comparison, and visualization.
Work on algorithm optimization and productization across different platforms, including NPU, GPU and CPU.
Work on the runtime end-to-end integration of individual processing components.
Follow ongoing research – papers, conferences, and academia in the field.
Apply engineering best practices throughout the software development lifecycle.
Demonstrate initiative to incubate new ideas.
Prepare prototypes and demos for showcasing potential of new technology or features.