Staff SW Engineer (Sys)
- Ottawa, ON, Canada
Full-time
Applications open in a new tab.
Job details
- Job type
- Full-time
- Experience
- 5+ years of software development experience in C/C++ and Python languages
- Posting language
- English
- Posted
Original job description
Summary:
VIAVI (NASDAQ: VIAV) is a global provider of network test, monitoring and assurance solutions for telecommunications, cloud, enterprises, first responders, military, aerospace, and railway. VIAVI is also a leader in light management technologies for 3D sensing, anti-counterfeiting, consumer electronics, industrial, automotive, government and aerospace applications.We are the people behind the products that help keep the world connected at home, school, work, at play, and everywhere in between. VIAVI employees are passionate about supporting customer success and we welcome people who bring their best every day to the company – to question, to collaborate and to push for solutions that will delight our customers.
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.
VIAVI Solutions is an equal opportunity and affirmative action employer – minorities/females/veterans/persons with disabilities.
Job Posting Pay Range:
102,200to
189,800Exceptional 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.
More about this job
Responsibilities
The role involves designing, developing, and debugging embedded software for complex electro-optical-mechanical instrumentation products. You will collaborate with hardware teams on system architecture, bring-up, and the development of imaging algorithms within a Linux environment.
Requirements
Candidates must have a degree in a relevant engineering or science field and at least 5 years of software development experience. Strong proficiency in C/C++ and Python, along with industry experience in embedded imaging and machine vision applications, is required.
Skills
- C++
- Python
- Embedded systems
- Machine vision
- Image processing
- Linux
- OpenCV
- OpenGL
- CUDA
- Algorithm development
- System architecture
- Agile
- Git
- Jira
- ARM
- Embedded software development
Benefits
- Paid time off
- Health insurance
- Life insurance
- Disability insurance
- 401(k)
- Bonus program
Visa sponsorship
Not detected in the job text
Categories
- Software
- Engineering
- Technology
- Manufacturing
Keywords
- Embedded Software
- Imaging
- Machine Vision
- C++
- Python
- Linux
- Optical Systems
- Instrumentation
- Agile
- Scrum
- ARM
- I2C
- SPI
- CAN
- Ethernet
- OpenCV
- OpenGL
- CUDA
- NumPy
- Scikit
- Git
- Jira
- BSP
- System Integration
- Product Lifecycle
- Embedded Real-time Systems
- Computer Vision
- Image Filtering
- Hardware Compatibility
- Technical Documentation