The ideal candidate will have experience and expertise in both systems (performance/memory optimizations, embedded software development) and also Machine Learning tools and frameworks. The prospective candidate will work on and grow in both directions - systems and AI. This position will require the candidate to work closely with researchers and engineers to enable and accelerate new research efforts for on-device AI.
- Develop features and functionality across the AI stack – framework to applications
- Be exposed to cutting edge AI models in various domains – Speech, NLP, etc.
- Actively propose and prototype novel ideas/solutions considering real-world constraints
- Incorporate software engineering practices and be involved in software architecture planning
- Develop and maintain knowledge of cutting-edge tools, techniques and frameworks for AI
- Have technical responsibility for one or more significant sections of the assigned project
- Translate complex functional and technical requirements into detailed design.
- Masters or higher degree in Computer Science/Engineering, or related disciplines
- Professional software development experience with C++ and Python (Java/Kotlin will be a plus)
- Experience developing with Machine Learning frameworks – Tensorflow/Pytorch
- Experience developing end2end AI pipelines and deploying AI models (Mobile/embedded desirable)
- Strong computer science and engineering fundamentals (e.g., OS, Compiler)
- Experience with optimization methods & techniques, code profiling and debugging
- Familiarity with software engineering practices and tools such as Git, CI, Agile, etc.
- Excellent communication, teamwork, problem solving and a results-oriented attitude
- Extensive experience in Android OS and application development - native/Java/Kotlin
- Experience with commercial/production AI in one or more domains like Speech, NLP, Vision, etc.