Build a career powered by innovations that matter! At Novanta, our innovations power technology products that are transforming healthcare and advanced manufacturing—improving productivity, enhancing people’s lives and redefining what’s possible. We create for our global customers engineered components and sub-systems that deliver extreme precision and performance for a range of mission-critical applications—from minimally invasive surgery to robotics to 3D metal printing.
Novanta is one global team with over 26 offices located in The Americas, Europe and Asia-Pacific. Looking for a great place to work? You have found it with a culture that embraces teamwork, collaboration and empowerment. Come explore Novanta.
Business Unit Overview
Novanta Detection & Analysis Business Unit designs, manufactures, and markets smart cameras, RFID readers and accessories, machine vision, optical scanners, high-precision customized subsystems, and optical subsystems.
Summary
As an Embedded OS Software Developer at D&A, you will play a crucial role in designing, integrating, configuring, and deploying Linux-based operating systems for embedded devices with overlap to product security. Your responsibilities will span across various stages of the development lifecycle, from initial integration to ongoing maintenance and security analysis and implementing security countermeasures such as hardening.
Primary Responsibilities
Integration and Configuration
Collaborate with cross-functional teams to integrate Linux operating systems into embedded devices.
Work with product teams to define embedded system architectures and partitioning.
Configure kernel parameters, include system libraries, and implement device drivers to ensure seamless functionality.
Customize Linux distributions (e.g., Yocto) to meet specific hardware requirements.
Deployment and Troubleshooting
Deploy Linux images onto target hardware platforms.
Troubleshoot issues related to bootloaders, drivers, and system initialization.
Address compatibility challenges with third-party libraries and components.
Collaboration with Software Developers
Work closely with software developers during system debugging and testing.
Assist in diagnosing and resolving software-related issues.
Optimize system performance and resource utilization.
Optimization and Cybersecurity Hardening
Optimize Linux configurations for memory footprint, power efficiency, and real-time performance.
Define and implement security best practices to protect security, including access controls, firewalls, and encryption.
Harden the system against potential cyber threats.
Vulnerability Monitoring and Mitigation
Collaborate with the cybersecurity team to identify vulnerabilities.
Monitor security advisories and patches for the Linux distribution.
Apply timely updates to mitigate security risks.
Open-Source Software License Analysis
Conduct thorough assessments of open-source software licenses.
Ensure compliance with licensing terms and obligations.
Maintain accurate records of software licenses used in the embedded system.
Required Experience, Skills, and Competencies
Understanding of embedded Linux based OS
Experience with building and configuration of OS, drivers, package integration
Technical knowledge of OS hardening
Knowledge of communication protocols
Scripting/programming skills
Ability to clearly communicate complex technical issues to non-experts
Academic degree in computer science or comparable qualification
Willingness to support occasional business travels (max. 10%)
Nice to Have Experience or Skills
Experience with embedded software development using C/C++.
Ability to troubleshoot and modify software components across the embedded software stack.
Familiarity with Git, code reviews, and modern software development practices.
Willingness to occasionally contribute to implementation, debugging, and optimization of software features related to Linux, security, and system integration.
Benefits
Extra week of vacation (25…