Software development position where you will make the future of motion controller technology a reality. Will work on various aspects of our motion controller technology: bringing data streams through our processing framework, managing the lifecycle of each controller, processing filters, low latency data transfers, recording and playback tools, and analyzing data / tweaking algorithms to improve performance. If you are a fast-learner with a positive attitude and a strong passion for working with new technology, come join us in redefining the way people experience the world through unique Mixed-Reality technologies.
Architect, design, implement and debug all aspects of the software pipeline that powers our motion controllers.
Debug Timing, Race Conditions, Memory issues on a daily basis in a timely manner.
Work across related teams from hardware and factory to applications and user experience to understand requirements and develop solid interfaces.
Promote the highest quality software development practices whenever possible.
Feed motion controller specific learnings back into the design and improvement of our perception processing framework.
Develop algorithms and models for tracking our unique controller as accurately as possible.
Solve all engineering problems that are encountered along the way.
5+ years of experience in software development
Fluent in C and C++ languages
Experience in object oriented design/architecture
Familiarity with multi-threaded systems
Experience with Android build system, Git, Gerrit, etc.
Excellent communication skills
Experience building high-performance low latency shared memory communication systems
Experience with professional software development practices (specifically, code review, incremental and unit testing, Agile/Scrum type processes, etc)
Experience in performance analysis
(Bonus) Experience with motion controller technologies