Embedded Linux Developer
Description
- Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.
- 7+ years of software development experience, including strong experience developing Linux-based systems.
- Hands-on experience with the Yocto Project/OpenEmbedded for creating, customizing, and maintaining Linux distributions.
- Experience creating and maintaining custom Linux BSPs and integrating hardware-specific software components.
- Strong proficiency in Linux, Python, Bash scripting, Docker, Git and modern software development tools.
- Experience designing, implementing and maintaining Jenkins CI/CD pipelines and build automation workflows.
- Knowledge of software security concepts, cybersecurity best practices and secure software development lifecycle methodologies.
- Experience implementing or supporting Secure Boot technologies, cryptographic key management, certificate handling and TPM-based security features.
- Experience creating and verifying software requirements, design documentation, verification plans and test strategies.
- Strong analytical, debugging, and problem-solving skills with the ability to resolve complex system-level issues.
Roles and Responsibilities
- Lead the design, development, maintenance and validation of custom Linux operating systems used in robotics platforms.
- Create, maintain and enhance custom Linux Board Support Packages (BSPs) for embedded and industrial computing platforms.
- Design, develop and maintain Yocto-based Linux distributions and build environments.
- Own and improve software build, release, and deployment infrastructure using CI/CD tools such as Jenkins.
- Develop and maintain secure boot architectures, key management processes, and Trusted Platform Module (TPM)-based security solutions.
- Collaborate with hardware, firmware, cybersecurity and application software teams to define platform requirements and system architectures.
- Define and implement strategies for operating system reliability, maintainability, security, and performance optimization.
- Develop automated test frameworks and validation pipelines to support continuous integration and quality assurance.
- Contribute to software requirements, architecture documentation, design reviews, verification and traceability activities.
- Investigate, troubleshoot, and resolve complex system-level issues in production and development environments.
- Mentor junior engineers and provide technical leadership in Linux platform development and deployment.
- Contribute to customer support activities related to software defects, root-cause analysis and new feature development.



