Title: Lead Embedded Software Engineer
Term: Long-Term Contractor or Perm
Location: San Diego-Hybrid
Start Date ASAP
***Required: US Citizen
The Technical Lead, Embedded Software Development, is a senior technical role responsible for the architecture, design, and delivery of embedded software solutions across multiple concurrent client projects.
Serves as the primary technical lead on embedded firmware and low-level software projects, mentor embedded engineers, and work closely with project managers, system engineers, hardware engineers, FPGA engineers and clients to translate requirements into reliable, maintainable, and well-documented embedded systems.
This role blends hands-on engineering with technical leadership and requires strong communication skills in a client-facing, consulting-style environment.
Key Responsibilities
• Serve as the technical lead for embedded software on client engagements, from proposal and architecture through implementation, verification, and production support.
• Define embedded software architecture, including RTOS selection and configuration, driver and middleware structure, communication protocols, and hardware/software partitioning, in collaboration with hardware and systems engineering teams.
• Establish and enforce coding standards, design review practices, and software development processes as applicable to the project.
• Lead and mentor a team of embedded software engineers, providing technical guidance, code and design reviews, and career development support.
• Primary technical point of contact with clients, translating client requirements into actionable technical plans and communicating project status, risks, and trade-offs clearly and proactively.
• Own technical estimation and planning for embedded software work packages, partnering with project managers to maintain schedule, scope, and budget commitments across multiple projects.
• Drive root-cause analysis and resolution of complex firmware, hardware/software integration, and field issues.
• Oversee unit, integration, and system-level test strategies for embedded software, including test automation and hardware-in-the-loop testing where applicable.
• Support bring-up and debugging of new hardware platforms, including bootloaders, board support packages, and low-level drivers.
• Contribute to proposal development, technical scoping, and pre-sales technical discussions for new and existing client engagements.
• Remain current with embedded software tools, microcontroller/microprocessor platforms, and industry best practices, and introduce relevant improvements into project workflows.
Requirements
• Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field (or equivalent practical experience).
• .8+ years of professional experience developing embedded software in C and/or C++, w/2+ years in a tech lead role.
• Strong hands-on experience with microcontroller- and/or microprocessor-based embedded systems,
including peripheral drivers (SPI, I2C, UART, CAN, USB, Ethernet) and low-level hardware interaction.
• Proven experience with embedded Linux, real-time operating systems (e.g., FreeRTOS, ThreadX, VxWorks, Zephyr) and bare-metal firmware development.
Benefits