Software Engineer II- Embedded OS Lifecycle & BSP Customization
Summary
Develops, customizes, and manages the full lifecycle of embedded operating systems (Embedded Linux, Yocto, QNX, RTOS, Windows) and Board Support Packages in C/C++ on Advantech's embedded hardware platforms. Day to day involves board bring-up, device drivers, kernel/image building, debugging with JTAG and logic analyzers, testing, documentation, and supporting customers and sales with technical ini
We are looking for a Software Engineer – Embedded OS Lifecycle & BSP Customization to join our engineering team and support the development, customization, and lifecycle management of embedded operating systems across a variety of hardware platforms. This role will work closely with software, hardware, sales, and global engineering teams to deliver reliable embedded solutions that meet customer and platform requirements.
The ideal candidate has strong hands-on experience with C/C++, Embedded Linux, Yocto, BSP development, board bring-up, and hardware-software integration, along with the ability to troubleshoot complex technical issues and collaborate effectively across teams. This position also provides opportunities to contribute to customer-facing technical initiatives, solution development, and cross-functional engineering projects.
Responsibilities:
- Design and implement low-level embedded software, device drivers, and Board Support Packages (BSPs) in C/C++ across RTOS, Embedded Linux, Yocto, QNX, and Microsoft environments.
- Lead custom engineering projects for target platforms, including BSP customization, board bring-up, and hardware-software integration.
- Manage the full software lifecycle for embedded Linux, Yocto, QNX, and Microsoft operating systems on target hardware, including kernel configuration, patching, standardization, image building, and deployment.
- Develop and maintain OS customization frameworks and tools to tailor software builds to customer requirements.
- Translate functional customer requirements into software design specifications using development tools, static analysis, and hardware debugging tools such as JTAG and logic analyzers.
- Define and execute software engineering standards covering code design, code reviews, unit testing, integration testing, and configuration management.
- Author test plans, analyze validation metrics, and prepare technical documentation to support platform reliability and performance.
- Partner with Sales and Business Development to deliver pre-sales feasibility studies, solution architecture, technical bid responses, and hands-on customer training.
- Reproduce, debug, and resolve complex field escalations and customer code defects on supported platforms.
- Develop and maintain strategic technical relationships with OS vendors and technology partners.
- Lead cross-regional technical meetings across U.S. teams and coordinate monthly technical alignment with global software engineering teams across different time zones.
Required Qualifications:
- BS or MS degree in Computer Science, Electrical Engineering, or a related technical field, or equivalent combination of education and experience, with 5+ years of hands-on experience in embedded software engineering.
Preferred Qualifications:
- 5+ years of professional programming experience in C and C++ for low-level systems. Working knowledge of Python, C#, or scripting languages for testing and automation is a plus.
- Hands-on expertise in Board Support Package (BSP) creation, bootloader configuration (e.g., U-Boot), and hardware bring-up for memory-constrained embedded systems.
- Experience with ARM and x86 processor architectures.
- Strong experience with Embedded Linux (Kernel, Drivers, Yocto/Buildroot) and RTOS.
- Hands-on experience with embedded Linux, Yocto, or QNX ecosystems is highly desirable.
- Proficiency with low-level buses (I2C, SPI, UART, PCIe, USB) and hardware debugging tools (JTAG, logic analyzers, GDB).
- Experience with software design processes, static code analysis, unit/integration testing, and configuration management (Git/SVN).
- Strong technical problem-solving skills and ability to collaborate effectively with sales teams, OS vendors, technology partners, and global engineering teams across multiple time zones.
- Competitive salary dependent on experience (DOE)
- Winning culture with a friendly, team-oriented environment!
- Generous benefits package including medical, dental, vision, long-term disability, and life insurance.
- Employee Assistance Program (EAP)
- 401(k) with company match
- Education & personal development reimbursement program
- Generous vacation and paid holidays package
- Company events, and lunches
- Work from home program – once eligible
- Referral Bonus