· Must have practical career experience with 2D/3D vision system hardware (e.g., cameras, lighting, optics).
· Must demonstrate an understanding of machine vision concepts (e.g., exposure, gain, aperture, depth-of-field).
· Proficiency in the following program languages, principles, and IDEs: C++, Python, C#, OOD/OOP, MS Visual Studio, Qt/PyQt, PyCharm.Practical experience with OpenCV and/or other open source or commercial image processing libraries.
· Must be able to articulate an understanding of image/vision processing concepts. (e.g., morphology, digital filters, edge detection, image segmentation).
· Experience with real-time software applications.
· NVIDIA and ML/DL hardware and software experience a plus.
· Strong mathematical skills and ability to develop algorithms, data structures, and design patterns in an effective way.
· Working knowledge of good programming techniques and methods.
· Experience with unit testing (white and black box) for existing and new code.
· Experience with using version control systems such as git or SVN and associated software development principles (e.g., Agile, Scrum).
· Must have effective communication and interaction skills in small and large group settings as well as effectively communicate concepts to a wide range of technical and non-technical audiences.
· Demonstrate initiative to drive tasks and deliverables to completion, take on new tasks or generate ideas to grow the company.
· Be motivated to be constantly learning within the space.
· Work effectively independently and as part of a team to solve problems.
· Integrate as part of cross-functional teams that include Engineers and Scientists.
High School Diploma/GED, Associate Degree Computer Science, Engineering, or related areas of study, Bachelor’s Degree, Master’s Degree
Experience and Certifications
· Degree in Computer Science or Engineering or related.
· 2 - 5 years of relevant experience.
Knowledge, Skills, and Attributes
· 2D and 3D vision systems experience
· High-speed image acquisition (> 300 fps)
· Lighting and optics techniques
· Image/signal processing
· Experience designing a turnkey vision system.
· Must be comfortable doing basic level mechanical and electrical tasks to integrate vision components into a system.
· Object detection and tracking.
· Experience programming in C++ and Python.
· Experience with industrial protocols (GigE, EIP, EtherCat, Modbus, etc.)
· Effective use of good programming techniques.
· Algorithms, data structure, and design pattern understanding and usage.
Additional Desired Skills
· Experience with smart cameras
· Machine/Deep Learning related to computer vision.
· Self-motivated and driven to learn, apply, and deploy new technologies and techniques.
· Knowledge of any object-oriented programming languages (e.g., C#).
· Experience with hardware interfacing software development, including communication, command, and monitoring of devices.
· Development of user interfaces (GUI).
· Developing on the Windows and Linux platform.
· Experience with TensorFlow, PyTorch, or similar machine learning libraries including NVIDIA products.
· Biology experience.
· Experience working with biological applications of software development.