Job Description The Role: Having profound experience in software design and development, the individual is keen to implement new software features, algorithms and functionality on embedded and PC-based software platforms to enable Cognex devices to robustly run latest machine vision algorithms. You are driven by a passion for thinking out-of-the-box, analyzing complex problems and creating new and innovative solutions jointly with a team. Responsibilities · Design, implement and test system-level software and algorithms for x86, ARM PC-Windows and embedded-Linux devices, e.g., 2D/3D data acquisition, reconstruction and robotics algorithms. Write unit tests testing the code. · Run benchmarks against actual customer problems to verify software performance Knowledge, Skills and Abilities · Ability to produce high quality, understandable, and maintainable code · Skillset to innovate on and implement 2D, 3D, Robotics algorithms in an efficient and maintainable way · Know how to adopt CI/CD strategies into development practices · Effective verbal and written English and presentation skills · Travel on occasion, e.g. to the headquarter in Natick, MA, USA Additional Job Description