Duties & Responsibilities: Our team develops optical test and measurement equipment for telecommunications lab and manufacturing use. We are looking for a core team member with a background in Embedded Software Development with experience in Imaging and Machine Vision Applications.
We develop the embedded controls, automation and user interfaces for complex electro-optical-mechanical systems used in our instrumentation products. The ideal candidate will have experience in complete product life cycle support - concept, research, development, new product introduction.
Role/Requirements:- Designs, develops, troubleshoots and debugs software programs for enhancements and new products.
- Develops software and tools in support of design, infrastructure and technology platforms, including operating systems, compilers, routers, networks, utilities, databases, cloud-based and Internet-related tools.
- Determines hardware compatibility and/or influences hardware design.
- Participate in the new product development team to specify model/simulate/test and verify imaging and optical systems and products
- Work with the HW team to develop system architecture and to support system bring-up and BSP
- Design, develop, integrate and maintain embedded platforms and software a Linux embedded environment
- Develop and support Embedded Imaging algorithms and applications
- Develop, test, debug and maintain software applications written in C++ and Python
- Collaborate with team members through the full product lifecycle: from requirements definition, prototyping, system integration, and production.
- Prepare technical documentation (e.g., user manuals, technical specifications)
- Participate as a software team member within an Agile development process
- Participate in continuous department improvement processes
Required Qualifications:- Degree in Computer Science, Mathematics, Computer/Systems Engineering or a related field
- 5+ years of software development experience in C/C++ and Python languages
- 3+ years developing with C/ C++ in embedded real-time systems
- 3+ years of industry experience in embedded Imaging Applications and Machine Vision (camera integration, computer vision, algorithm development for image enhancement, image filtering, detection and discrimination)
Required Capabilities:- Familiarity with Windows and Linux development environments
- Strong knowledge of Image Processing through advanced education and experience
- Familiarity with modern image processing tools: OpenGL, OpenCV, PIL, scikit, NumPy, CUDA, etc.
- Excellent verbal and written communications skills
- Good team player in working in a collaborative work environment
Preferred Qualifications:- Experience with Embedded Linux Systems Programming on an ARM platform
- Understanding of embedded communications standards such as I2C, SPI, CAN, Serial, Ethernet
- Familiarity with Software Version Control and Bug tracking tools (git/jira)
- Experience working in an Agile Scrum environment
Pre-Requisites / Skills / Experience Requirements: If you have what it takes to push boundaries and seize opportunities, apply to join our team today.
Job Posting Pay Range:102,200
to
189,800
Exceptional qualifications, experience and location may impact salary. VIAVI offers a competitive benefits package that includes paid time off, health, life and disability insurance, 401(k), and a bonus program.