Cognex is the global leader in the exciting and growing field of machine vision. With over $600 million of cash in the bank and no debt, we are a financially strong international company with a culture that maintains the fast paced, creative environment of a startup. Our employees, proudly called “Cognoids,” take their work but not themselves seriously. Our Work Hard, Play Hard, Move Fast culture recognizes our employees for their innovation, perseverance, and hard work in a fun, rewarding, and quirky environment.
This position is in the Vision Algorithms team of the Advanced Vision Technology Team, which is responsible for designing and developing the most sophisticated industrial vision algorithms in the world. The vision technology is combined with custom hardware, specialized lighting and optics to create embedded systems that can solve a variety of industrial applications in factory automation and logistics.
The Vision Algorithms team focuses on developing advanced vision and barcode reading algorithms tailored to custom hardware, and is responsible for optimizing the speed and robustness of these algorithms.
The Vision Algorithm team is seeking a talented developer who possesses creative computer vision problem solving and solid software engineering skills. In this role, the successful individual will design and develop computer vision based algorithms and applications for Cognex embedded and PC products. The embedded systems are complex electronics with integrated optics, lighting and networking.
- Design and implement innovative 2D or 3D vision algorithms that execute in fractions of a second to solve industrial customer needs and achieve performance rates exceeding 99%. Examples include but not limited to reading difficult-to-read barcodes/symbols, localizing and recognizing complex patterns and objects, all in the presence of noise, distortion and other interfering factors.
- May integrate and optimize these algorithms for custom embedded hardware systems developed by various products teams in Cognex
- Understand and communicate customer requirements to simplify the user experience and to tune application & algorithms to meet specific needs
- Design and implement easy-to-use tools and applications to simplify device configuration and runtime-performance
- Debug and troubleshoot on various hardware platforms, including PC and ARM
- May work in a variety of other software areas, including developing lightweight custom GUI’s, testing systems in custom environments, developing code to control lighting, etc
Knowledge, Skills, and Abilities:
- Passionate about developing a working solution for real world vision problems
- Strong math skills required
- Strong C++/C programming skills required
- Strong debugging and problem-solving skills required
- Strong computer vision, image analysis, or computational photography skills desired
- Experience with industrial applications of computer vision desired
- Embedded programming experience on ARM or DSP processors desired
- Experience with professional team software programming projects (development processes, source code control, formal bug tracking, etc.)
- A positive, ‘glass half-full’ personality who is always looking for areas of improvement
- Creative, motivated, and looking to work hard for an aggressive growth company
Minimum education and work experience required:
- MS or PhD from a top engineering school in EE, CS or equivalent
- 2-5 years relevant, high tech experienc