Embedded Software Engineer (Platform & Firmware)
Overview:
We are seeking an Embedded Software Engineer (Platform & Firmware) to design, develop, and test software that interfaces directly with hardware, such as microcontrollers and processors in embedded systems. This role focuses on foundational software development, including drivers, bootloaders, and firmware, using C, C++, and assembly to manage system resources and optimize device performance.
You will need a deep understanding of computer architecture, hardware-software integration, and low-level debugging. As a core member of our software engineering team, you will collaborate closely with embedded software and hardware engineers to deliver high-performance, reliable systems.
Key Responsibilities:
• Develop Low-Level Software: Write and maintain firmware, bootloaders, and device drivers for embedded hardware platforms.
• Optimize Performance: Ensure code efficiency and performance on resource-constrained systems (limited memory, CPU, power).
• Hardware-Software Integration: Collaborate with hardware teams to validate and troubleshoot system-level issues.
• Debug and Test: Use tools like oscilloscopes, logic analyzers, and in-circuit debuggers to identify and resolve issues at the hardware/software boundary.
• System Resource Management: Implement low-level system features such as power management, memory allocation, and communication protocols (SPI, I2C, UART, etc.).
Required Skills and Qualifications:
• Proficiency in C, C++, and assembly language for embedded development.
• Strong understanding of microcontrollers, processors, and memory management.
• Experience with device trees, real-time operating systems (RTOS), and device driver development.
• Skilled in using low-level debugging tools: oscilloscopes, logic analyzers, JTAG, ICE, etc.
• Excellent analytical and problem-solving skills to address complex hardware/software integration issues.
• Bachelor’s or Master’s degree in Computer Engineering, Electrical Engineering, or Computer Science.
Preferred skills:
The ideal candidate will also have:
• Experience with EtherCAT technology
• CAN ecosystem Software: DeviceNet or CANopen stacks
• Embedded Linux Platform Software: Device tree, init/system services, userspace
deamons, kernal • Diagnostic tooling: Python utilities for log parsing and packet/trace inspection
• PLC familiarity: (software and hardware)
Top Skills
Similar Jobs
What you need to know about the Los Angeles Tech Scene
Key Facts About Los Angeles Tech
- Number of Tech Workers: 375,800; 5.5% of overall workforce (2024 CompTIA survey)
- Major Tech Employers: Snap, Netflix, SpaceX, Disney, Google
- Key Industries: Artificial intelligence, adtech, media, software, game development
- Funding Landscape: $11.6 billion in venture capital funding in 2024 (Pitchbook)
- Notable Investors: Strong Ventures, Fifth Wall, Upfront Ventures, Mucker Capital, Kittyhawk Ventures
- Research Centers and Universities: California Institute of Technology, UCLA, University of Southern California, UC Irvine, Pepperdine, California Institute for Immunology and Immunotherapy, Center for Quantum Science and Engineering


