Role: Software Engineer-Perception Framework-Motion Controller
Location: Sunnyvale, CA
Interview: Phone/Skype
Emp Type: Contract to Hire
Client is an eclectic group of visionaries, rocket scientists, and gurus from the fields of film, robotics, visualization, software, computing, and user experience. We are growing quickly, and this is the time to get on board and play a role in shaping the way people will be interacting with the world tomorrow.
Job Description
Highly technical programming position where you will make the future of motion controller technology a reality. Will work on all aspects of our proprietary motion controller technology from bringing data streams through our processing framework, managing the lifecycle of each controller, design/implementation of processing filters, efficiently transporting data streams from hardware to applications, building 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.
Responsibilities:
· Development of all aspects of the software pipeline that powers our motion controllers.
· Work across the 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.
Qualifications:
· 4+ years of experience with C++ or C programming
· Unusual level of familiarity with multi-threaded systems
· Experience building high performance low latency shared memory communication systems
· Experience with Android build system, Git, Gerrit, etc.
· Experience with professional software development practices (specifically, code review, incremental and unit testing, Agile/Scrum type processes, etc)
· Excellent communication skills
· (Bonus) Experience in performance analysis
· (Bonus) Experience with motion controller technologies
· (Bonus) Understanding of 3D transformations and quaternions
Education:
· BA/BS in Computer Science or related field
· MA/MS in Computer Science or related is a plus