Staff Embedded Software Engineer

BBBH117000_1785231195
  • £175000 - £270000 per annum
  • Long Beach, California
  • Future Mobility

Staff Embedded Software Engineer - Linux and Hardware Systems

Location: Greater Los Angeles Area, California (Hybrid)

Position overview

Our client is an engineering-led technology company developing advanced systems for demanding high-reliability environments.

They are seeking an experienced embedded software engineer to develop Linux-based software that interacts directly with custom electronics and communications hardware. The role spans application software, low-level hardware integration, networking, control and system-health functionality.

You will work closely with embedded software, electrical and programmable-hardware engineers throughout development, integration and testing.

Responsibilities

  • Develop application-level software for embedded Linux platforms.
  • Design and implement Linux device drivers for sensors, actuators and other hardware components.
  • Create hardware abstraction layers and clean software interfaces for custom electronics.
  • Develop software for hardware control, monitoring and closed-loop operation.
  • Implement network services, packet-processing functionality and protocol interfaces.
  • Integrate communications hardware with wider software and data systems.
  • Develop fault detection, recovery, status reporting and operating-mode functionality.
  • Diagnose complex integration problems across Linux software, electronics, networking and programmable hardware.
  • Support hardware integration, laboratory testing and system-level verification.
  • Improve software performance, reliability, maintainability and testability.
  • Contribute to software architecture, engineering reviews and technical decisions.

Required qualifications

  • Bachelor's or Master's degree in Computer Science or Electrical Engineering.
  • Five or more years of relevant embedded-software development experience.
  • Strong systems-programming skills in C.
  • Experience developing software that communicates directly with hardware through device drivers, register-level interfaces or hardware-bus protocols.
  • Practical Linux device-driver development experience.
  • Experience designing embedded or real-time software.
  • Strong network-programming knowledge, including sockets, packet handling and Layer 2/3 protocols.
  • Experience implementing software that monitors or controls physical hardware.
  • Sufficient understanding of digital communications to integrate software with communications equipment.
  • Strong debugging skills across software and hardware boundaries.
  • Ability to collaborate effectively with software, electrical and programmable-hardware engineers.

Desirable experience

  • Aerospace, communications or other high-reliability embedded systems
  • Communications-subsystem or radio-interface software
  • Standardized packet formats and communications protocols
  • Serial and board-level hardware interfaces such as SPI, I²C and UART
  • Ethernet-based embedded control systems
  • Closed-loop control and sensor or actuator management
  • Hardware abstraction layers supporting multiple hardware configurations
  • FPGA-based or other programmable-hardware systems
  • Laboratory debugging using serial consoles, logic analyzers and related equipment
  • Diagnosing hardware timing, interface or signal-integrity problems

Keywords: Embedded Software Engineer, Embedded Linux, C, Linux Systems Programming, Device Drivers, Hardware Integration, Embedded Networking, Ethernet, FPGA, Real-Time Software, Control Systems and Aerospace Technology

Jordanna Ramsey Next-Gen Technology Embedded Software Specialist
Get in touch

Apply for this role