Senior Software Embedded Engineer

Premier Staffing SolutionPalo Alto, CA

About The Position

We are seeking an experienced Embedded Software Engineer to develop and support software solutions for advanced hardware platforms. This role focuses on low-level software development, hardware bring-up, and system validation within a Linux-based embedded environment. The ideal candidate will have strong expertise in embedded systems, Linux kernel development, and hardware-software integration, with the ability to troubleshoot complex interface issues and deliver production-ready solutions.

Requirements

  • Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or related field
  • Strong experience in embedded software development within Linux-based systems
  • Proficiency in C/C++ programming for embedded systems
  • Extensive experience with Linux kernel development and debugging
  • Strong knowledge of embedded interface protocols (PCIe, I2C, SPI, UART, Ethernet)
  • Experience with Python and test automation frameworks (e.g., Pytest)
  • Advanced experience with Git, including rebasing, patch management, and multi-repository workflows
  • Deep understanding of Linux internals, including: Process scheduling Memory management Concurrency and synchronization
  • Experience with embedded build systems (e.g., Yocto, Android, Make/CMake)

Nice To Haves

  • Experience with high-performance system-on-chip (SoC) platforms
  • Familiarity with automotive or embedded hardware peripherals
  • Experience with multi-threaded and multi-core programming on ARM architectures
  • Knowledge of POSIX-based embedded systems (e.g., QNX, Android)
  • Hands-on experience with electrical debugging tools (oscilloscopes, logic analyzers)
  • Understanding of security, virtualization, or hypervisor technologies
  • Experience with embedded toolchains, including compilers and linker configurations

Responsibilities

  • Design, develop, and deploy low-level embedded software and board support package (BSP) components
  • Support hardware bring-up and system validation for embedded platforms
  • Develop and debug Linux kernel components, including device drivers and device tree configurations (DTS)
  • Troubleshoot and stabilize high-speed and low-speed interfaces such as: PCIe I2C SPI UART Ethernet Camera and audio interfaces
  • Build and maintain hardware-in-the-loop (HIL) testing and automation frameworks
  • Collaborate with cross-functional teams to resolve hardware-software integration challenges
  • Manage and maintain complex build systems and multi-repository codebases
  • Implement security strategies and support production-ready software builds
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service