Prototype Developer (Software Developer C++)
Software Developer C++
(Zurich, Switzerland | 100% On-site role)
Job Description:
Quality-AI is seeking a team of Tools Engineers/Software Developers to join our client's Core Technologies team. Our client's team applies a range of software, computer vision and robotics techniques to build systems and tools that enable accurate quality evaluation and regression testing of tracking systems and algorithms.
Our team will help develop software for computer vision (CV) and mixed reality (MR) features on virtual reality (VR) and augmented reality (AR) head-mounted devices (HMDs). This challenging role participates in activities such as prototyping, unit testing, regression testing, end-to-end testing, debugging, computational performance evaluation, quality assurance, etc., of systems, platform, and infrastructure.
Our team of Engineers will be responsible for contributing to daily work on building software products and features shipping on the HMDs.
Roles & Responsibilities:
- Engineers are not expected to design and lead the implementation of complete features; however, a substantial degree of independence and self-drive are required to minimize onboarding and supervision.
Example tasks
- Debugging and upgrading tools used and/or implemented by the team.
- Evaluating performance implications (CPU, GPU, memory, thermal impact) of features deployed to HMDs.
- Developing and/or improving tools for visualizing data collected from the HMDs.
- Contributing to improved code quality by participating in code reviews, design document reviews, etc, implementing extensive tests, etc.
- Participating in on-call rotations, mitigating and resolving incidents, writing postmortems.
Preferred Skills
- Solid engineering skills in the relevant programming languages and operating systems (C++, Python, Linux, Android).
- Knowledge in at least one of the following domains:
- Computer Vision (CV), Virtual/Augmented/Mixed Reality (XR), Computer Graphics (CG), Machine Learning (ML).
- Experience in a fast-paced technology environment with extensively cross functional (XFN) work and be able to thrive in ambiguity.
- Willingness to dive into data related issues, applying manual QA when needed.
- Candidates need to develop with the end user experience in mind, with an architectural mindset.
- Candidates should be familiar with distributed compute and rendering, as app work can occur on a device, in the cloud, a phone or a pc.
Other Desired Skills:
- Extensive hands-on knowledge of C++, ideally with good familiarity with the recent standards (C++17, C++20) and corresponding standard libraries.
- Good understanding of advanced template metaprogramming.
- Good knowledge of C++ testing with libraries such as Googletest.
- Familiarity with the Buck build tool.
- Efficiency in Python, command line Python scripting, and explorative work with Python notebooks, using modules such as NumPy, SciPy, matplotlib, etc.
- Knowledge of CV and relevant libraries such as OpenCV.
- Knowledge of CG and relevant standards such as OpenGL and their implementations, such as Qt.
- Practical knowledge of ML, neural networks, and deep learning, with focus on developing and using infrastructure for deploying models in production (ML Engineering, ML Ops).
- Knowledge of semantic/instance/panoptic segmentation-Knowledge of stereo depth
About Quality-AI:
Join Quality-AI and become part of a world-class organization. Quality-AI has a sixteen-years track record of providing managed services and we've partnered with some of the world's best companies to deliver services that exceed expectations. Quality-AI provides industry-leading managed services that drive Quality for Quality Assurance and Testing of hardware devices, software apps and experiences as well as Ground Truth Data Services for artificial intelligence (AI) and machine learning (ML).Quality-AI is headquartered in San Jose, CA with a presence throughout the US and internationally. The company has been recognized repeatedly for its industry-leading growth rate and service quality. At Quality-AI, we listen to your needs and help you select what's right for you - this includes the right career opportunities, a choice of comprehensive benefits packages as well as technical training. When you become a Quality-AI employee, you'll see the difference in the superior levels of support and service we deliver to you, our partners, through our Consultant Experience Program.