hirly

Extropic

Embedded Software Engineer

Boston

See how you match this job — and similar ones. Free.

Upload your resume and hirly scores it against this role at Extropic first, then against similar open jobs, and shows where you fit and why.

PDF or DOCX, up to 12MB. No sign-up to see your matches.

Get past the screening software and onto a recruiter's desk

hirly rewrites your resume for this job — matching the keywords and skills in the posting, moving your most relevant experience to the top, and writing a cover letter to fit. About 30 seconds.

  • Keywords matched to this posting
  • Fit score before you apply
  • Cover letter included

Matched against 2.5M live jobs from 200,000+ employers in 200+ countries.

Tailor my resume for this job →

Apply from your AI assistant

Connect hirly to Claude and ask it to apply to this job. hirly tailors your resume, fills the employer’s form and asks before sending. ChatGPT: manual setup today.

Some employer sites stop an application at a CAPTCHA or sign-in and hand it back with a link. Applying needs a paid plan. Works with any assistant that supports MCP.

hirly's read of this role

Role family
Engineering
Seniority
Mid level
Stated salary
$150,000 – $250,000 per year
Country
US
Work mode
On-site / unstated
First seen by hirly
28 Sept 2026

Derived automatically from the posting. Upload your resume above to see how the role scores against it.

the posting

Extropic is seeking a highly skilled Embedded Software Engineer with deep experience in both bare-metal firmware development and embedded Linux application design. The ideal candidate should have a strong background working with heterogeneous multi-core RISC-V or ARM processors (e.g., Cortex-R5, Cortex-A53), excel in C/C++ and Python programming languages, and be comfortable developing across the entire embedded software stack—from low-level drivers to Linux user-space applications to host-side tooling.

This role is highly hands-on and involves close interaction with the systems, IC design, test, and physics cross-functional engineering teams. You will architect, implement, and debug complex embedded systems, integrating multiple processors, real-time firmware, and Linux-based applications.

Responsibilities

Architect, design, and implement embedded software across bare-metal, RTOS, and embedded Linux environments.

Develop firmware, Linux drivers, user-space applications, and host-PC tools supporting the full embedded software stack.

Work with heterogeneous multi-core SoCs (e.g., Cortex-R5 real-time cores and Cortex-A53 application cores), enabling inter-processor communication, synchronization, and resource sharing.

Implement multi-threaded, multi-core software architectures with attention to power, performance, determinism, and reliability.

Develop and maintain low-level drivers for peripherals including SPI, I2C, UART, GPIO, timers, and DMA engines.

Debug real-time embedded systems using JTAG/SWD debuggers, in-circuit emulators, and software diagnostic tools.

Perform hands-on system characterization using oscilloscopes, logic analyzers, and protocol analyzers (SPI/I2C/UART, LVDS, Ethernet, USB, etc.).

Write clean, robust, well-tested C/C++ code for bare-metal and Linux environments.

Develop Python tools for automation, test, and host-side applications.

Collaborate closely with hardware, FPGA, and systems engineers to bring up new boards, validate interfaces, and resolve integration issues.

Contribute to system architecture decisions, design reviews, and technical documentation.

Required Experience

Bachelor’s or Master’s degree in Electrical Engineering, Computer Engineering, Computer Science, or related field.

5+ years of hands-on experience in embedded firmware and Linux software development.

Strong proficiency in C, C++, and Python, with emphasis on embedded and deeply embedded programming.

Deep experience with bare-metal firmware development, interrupt-driven systems, and hardware bring-up.

Proven experience with embedded Linux (build systems, user-space applications, drivers, device trees).

Hands-on experience with heterogeneous multi-core RISC-V and ARM processors, such as Cortex-R5 and Cortex-A53

Strong understanding of multi-threaded and multi-core software design principles.

Experience developing and debugging drivers and applications using I2C, SPI, UART, DMA, and other common peripherals.

Strong lab skills: oscilloscopes, logic analyzers, protocol analyzers, power measurement, and signal debugging.

Proficiency with software debuggers (GDB, OpenOCD, Lauterbach, etc.).

Ability to analyze, troubleshoot, and optimize system performance across the entire hardware/software boundary.

Preferred Experience

Experience with Yocto/PetaLinux, Buildroot, or similar embedded Linux build systems.

Familiarity with IPC mechanisms (RPMsg, shared memory, message queues) in heterogeneous SoC environments.

Experience integrating firmware with FPGA-based systems or custom ASIC’s.

Familiarity with FPGA embedded software environments such as AMD/Xilinx Vitis

Knowledge of network protocols and experience building socket-based host-PC applications.

Experience with continuous integration, test automation, and version control (Git).

Soft Skills

Strong analytical and problem-solving ability.

Excellent communication skills for cross-team collaboration.

Self-starter attitude and ability to take ownership of complex features from architecture to deployment.

Comfortable working in a fast-paced, hands-on engineering environment.

This position will require access to information subject to control under U.S. export control laws and regulations, including the Export Administration Regulations (“EAR”). Please note that any offer for employment will be conditioned on authorization to receive controlled items.

Original posting on Extropic's site ↗

Browse similar roles

Want this one?

Upload your resume and hirly rewrites it for this job and writes the cover letter — in about thirty seconds, before you sign up.

Tailor my resume for this job