Embedded Software Engineer

Lincoln ElectricEuclid, OH
1d

About The Position

We are looking for a skilled Embedded Linux Systems Engineer to join our team. In this role, you will contribute to embedded application development and platform engineering tasks, including board support package (BSP) updates, hardware bring-up assistance, and Yocto-based distribution customization. You will collaborate with cross-functional teams to deliver reliable and secure software solutions for Linux-based embedded systems.Key ResponsibilitiesEmbedded Application Development Develop and maintain software applications for embedded Linux systems. Write clean, efficient code in C, C++, and Python. Assist in implementing and optimizing device drivers, APIs, and middleware. Perform debugging and troubleshooting at the system level. Support test plan execution to validate software functionality and reliability. Platform Engineering & BSP Maintenance Update and maintain BSPs for supported hardware platforms. Work with hardware teams to integrate drivers and configure kernel and bootloader settings. Participate in hardware bring-up activities under guidance from senior engineers. Yocto-Based Distribution Management Customize Yocto Project-based Linux distributions for project needs. Create and maintain basic Yocto recipes and layers for software components. Apply security patches as directed to maintain system integrity. Security and Compliance Follow security best practices in software development. Assist in vulnerability assessments and compliance checks. Collaboration Work closely with hardware, firmware, and QA teams to meet requirements and resolve issues. Maintain clear documentation for BSPs and Yocto configurations.

Requirements

  • Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or related field.
  • 2–4 years of experience in embedded Linux development (kernel, drivers, and applications).
  • Familiarity with Yocto Project, OpenEmbedded, and cross-compilation tools.
  • Understanding of Linux kernel architecture and bootloaders.
  • Experience with version control (e.g., Git) and collaborative workflows.
  • Basic knowledge of networking protocols and embedded hardware.
  • Strong problem-solving and debugging skills.

Nice To Haves

  • Exposure to real-time operating systems (RTOS) and low-level programming.
  • Familiarity with Agile/Scrum methodologies.
  • Interest in security practices and compliance standards.
  • Contributions to open-source projects are a plus.

Responsibilities

  • Develop and maintain software applications for embedded Linux systems.
  • Write clean, efficient code in C, C++, and Python.
  • Assist in implementing and optimizing device drivers, APIs, and middleware.
  • Perform debugging and troubleshooting at the system level.
  • Support test plan execution to validate software functionality and reliability.
  • Update and maintain BSPs for supported hardware platforms.
  • Work with hardware teams to integrate drivers and configure kernel and bootloader settings.
  • Participate in hardware bring-up activities under guidance from senior engineers.
  • Customize Yocto Project-based Linux distributions for project needs.
  • Create and maintain basic Yocto recipes and layers for software components.
  • Apply security patches as directed to maintain system integrity.
  • Follow security best practices in software development.
  • Assist in vulnerability assessments and compliance checks.
  • Work closely with hardware, firmware, and QA teams to meet requirements and resolve issues.
  • Maintain clear documentation for BSPs and Yocto configurations.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service