Microsoft AR/VR Job | Principal Software Engineer – AI
Job（岗位）: Principal Software Engineer – AI
Citys（岗位城市）: Reading, United Kingdom | London, United Kingdom
Please note that this team has a hub in the Microsoft UK HQ (Reading, Berkshire) however, hybrid/remote working within the UK is possible.
From being able to log you in with face recognition, correct your gaze during a video chat to maintain eye contact, to the exciting possibilities in augmented reality, are you itching to play a part in bringing applications of machine learning to millions of users?
The Microsoft Applied Sciences Group incubates disruptive technologies for Microsoft’s next-gen hardware products and is working on several exciting projects that will shape how computers and other devices perceive the user and the user’s environment. Operating as a startup within the company, this team works closely with several research and product teams to bring compelling new experiences to the market. A lot of these experiences will be powered by machine learning – and as part of this team, you will have the unique opportunity to work on almost every aspect of a shipping vision system: camera optics, sensors, data pipeline and of course, developing and implementing the algorithms that make magic happen!
The team is growing, and we have an exciting opportunity for talented software engineers to drive and lead implementation of state-of-the-art AI algorithms for specific and general-purpose silicon on next generation devices and operating systems. This is a hands-on team lead task. You will have collaboration opportunities throughout the organization and will be building new stuff that really works and has millions of users.
Microsoft offers a competitive base salary plus bonus, excellent benefits package and stock.
- Must be strong programmers with software engineering experience and excellent debugging skills.
- Must be passionate about incubating new ideas, solving problems, and building working systems.
- Must be self-motivated, proven collaborators, good communicators, attentive to details, and keen to learn.
Practical experience working in a highly performant team in an academic or industrial research environment
- Should hold a PhD or similar degree in math, physics, computer science or machine learning/AI related field
- or have MSc in CS or related fields and suitable alternative expertise and experience.
Must have experience in the following:
- Minimum 2 years of experience in leading a team and technical project management.
- Minimum 5 years of C++ (especially C++11 and newer) and 5 years of Python experience
- Minimum 5 years of of experience with git and CMake, testing frameworks (ctest, gtest)
- Experience in creating APIs, SDKs and software packages for third parties.
- Experience in taking customer demands to a product, from inception to implementation
- Minimum 5 years of experience with CI/CD pipelines with Azure Devops, Github/Gitlab, Jenkins/buildbot or similar, packaging and deployment.
- Minimum 5 years of experience developing technical/scientific software products relying on numerical and algorithmic performance (boost, BLAS)
- Extensive experience with multi-threading (OpenMP, MPI), SIMD optimization and/or GPU (CUDA) programming
Should have hands-on experience working on at least one of:
- Machine learning, especially deep learning
- Hands-on experience on driving for improved performance while ensuring system quality.
- Knowledge of toolchains like ONNX runtime, Snapdragon Neural Processing Engine, OpenVino, Tflite, numpy, scipy, keras/tensorflow, pytorch
- WinRT, UWP, WinML and C# experience is a plus
Microsoft is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to age, ancestry, color, family or medical care leave, gender identity or expression, genetic information, marital status, medical condition, national origin, physical or mental disability, political affiliation, protected veteran status, race, religion, sex (including pregnancy), sexual orientation, or any other characteristic protected by applicable laws, regulations and ordinances. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request via the Accommodation request form.
Benefits/perks listed below may vary depending on the nature of your employment with Microsoft and the country where you work.
- Lead and direct algorithmic software engineering team, plan and assign priorities.
- Grow other engineering team members.
- Architect and lead the detailed design of a real-time system involving multiple components. This includes design of new systems and re-architecture of existing systems.
- Plan feature integration timeline and roadmap to take prototypes to production.
- Provide dogfooding toolkits and SDKs to first and third parties collaborators.
- Improve system quality through the design and implementation of new testing methodologies
- Plan and prototype CI/CD system extension.
- Plan and implement model performance tracking for different edge device types.
- Collaborate with research, engineering, and product development teams.
- Innovate through filing patents and academic papers.