Senior Software Embedded Engineer

Premier Staffing Solution

Palo Alto, CA

JOB DETAILS
SKILLS
ARM (Advanced RISC Machine), Android, BSP, Build Management, C Programming Language, C++ Programming Language, CMake, Computer Engineering, Computer Maintenance, Computer Science, Concurrency, Cross-Functional, Debugging Skills, Debugging Tools, Device Drivers, Electrical Engineering, Electricity, Embedded Hardware, Embedded Linux, Embedded Software, Embedded Systems, Ethernet, Git, Hardware Administration, Hardware-Software Integration, Hypervisors, I2C, Identify Issues, Linux Kernel, Linux Operating System, Logic Analyzer, Memory Management, Multithreaded Programming, Oscilloscope, PCI Express (PCI-E), POSIX Operating Systems, Peripheral Hardware, Production Support, Pytest, Python Programming/Scripting Language, QNX Operating System, Software Administration, Software Development, Software Engineering, Software Patches, System Validation, System-on-a-Chip (SoC), Systems Maintenance, Test Automation, Universal Asynchronous Receiver-Transmitter (UART), Virtualization
LOCATION
Palo Alto, CA
POSTED
1 day ago

Overview

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.

Key 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




Qualifications

  • 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

Required Skills

  • 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)

Preferred Qualifications

  • 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

About the Company

P

Premier Staffing Solution