Principal Software Engineer – Deep Learning
This position is a hybrid role - 3 days in the Natick, MA office and 2 remote
About US:
Cognex is a global leader in the exciting and growing field of machine vision. Our employees, proudly called "Cognoids," are passionate about solving the most difficult vision problems with our embedded cameras and software products featuring state-of-the-art 2D and 3D vision technology. Our Work Hard, Play Hard, Move Fast culture recognizes achievement and dedication with unique rewards and celebrations.
We are looking for creative, bright, motivated Cognoids who share our passion for excellence and want to make an impact at a dynamic, global company. We celebrate our employees for their innovation, perseverance and hard work in a fun, rewarding, and quirky environment. If you enjoy the sense of accomplishment that comes from working together to create products that solve tough problems for organizations around the world, contact us to see how you can become part of our team.
The Team:
This position is for an experienced software engineer in the Core Vision Technology team at Cognex, focused on designing and developing the best-in-class computer vision algorithms and AI models that power Cognex’s industrial bar code readers and 2D vision tools.
with a mission to innovate on behalf of customers and make this technology accessible to a broad range of users and platforms.
Our products combine custom hardware, specialized lighting and optics, and world-class vision algorithms/models to create embedded systems that can find and read high-density symbols on package labels or marked directly on a variety of industrial parts, including aircraft engines, electronics substrates, and pharmaceutical test equipment. Our devices need to read hundreds of codes per second, so speed-optimized hardware and software work together to create best in class technology. Companies around the world rely on Cognex vision tools and technology to guide assembly, automate inspection, and speed up production and distribution.
Job Summary:
The Core Vision Technology team is seeking an experienced developer with deep knowledge of the software development life cycle, creative problem solving skills and solid design thinking, with a focus on productization of AI technology on embedded platforms. You will play the critical role of a chief architect, who will lead the development and productization of computer vision AI models and algorithms on multiple Cognex products; with the goal of making the technology modular and available to a broad range of users and platforms. In this role, you will interface with machine vision experts in R&D, product, hardware, and other software engineering teams at Cognex. A successful individual will lead design discussions, make sound architectural choices for the future on different embedded platforms, advocate for engineering excellence, mentor junior engineers and extend technical influence across teams. Prior experience with productization of AI technology is essential for this position.
Essential Functions:
Develop and productize innovative vision algorithms, including AI models developed by the R&D team for detecting and reading challenging 1D and 2D barcodes, and vision tools for gauging, inspection, guiding, and identifying industrial parts.
Lead software and API design discussions and make scalable technology choices meeting current and future business needs.
Integrate and optimize existing and new algorithms and models from research to production for custom embedded hardware systems
Design and implement easy-to-use tools and applications to simplify device configuration and runtime-performance.
Debug and troubleshoot complex issues in an integrated hardware and software platform
Partner with other engineers and/or provide technical guidance to develop lightweight custom UIs, test systems in custom environments, develop code to control lighting, etc.
Ensure best-in-practice software development process; mentor and guide other engineers
Knowledge, Skills, and Abilities:
Essential:
Prior experience in a Machine Learning Engineering role and/or productizing AI models for business or consumer applications
Understanding of AI concepts such as model architectures, machine learning frameworks, model life cycle and evaluation metrics
Strong C programming skills
Strong debugging and problem-solving skills.
Prior experience with full SDLC including development processes, source code control, formal bug tracking, etc.
A positive, 'glass half-full' personality who is always looking for areas of improvement.
Ability to deal with ambiguity and strong communication skills.
Desired:
Background in computer vision, signal or image processing and strong mathematical skills.
Experience with industrial applications of computer vision.
Embedded machine learning and general programming experience on ARM processors and/or other coprocessors and accelerators.
Minimum education and work experience required:
MS or PhD from a top engineering school in EE, CS or equivalent.
5+ years relevant, high tech work experience
Equal Employment Opportunity
Cognex is an equal opportunity employer. Cognex evaluates qualified applicants without regard to race, color, religion, gender, national origin, age, sexual orientation, gender identity or expression, protected veteran status, disability/handicap status or any other legally protected characteristic.