Embedded Software Engineer

Reposted 13 Days Ago
Be an Early Applicant
Boston, MA
In-Office
150K-250K Annually
Senior level
Information Technology • Internet of Things
The Role
The Embedded Software Engineer will architect, implement, and debug embedded systems involving bare-metal and Linux applications, focusing on multi-core RISC-V or ARM processors, while collaborating cross-functionally to support system design and performance optimization.
Summary Generated by Built In
Position Overview:
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.

Key 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 Qualifications

  • 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

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

Top Skills

C,C++,Python,Bare-Metal Firmware,Embedded Linux,Yocto,Petalinux,Buildroot,I2C,Spi,Uart,Dma
Am I A Good Fit?
beta
Get Personalized Job Insights.
Our AI-powered fit analysis compares your resume with a job listing so you know if your skills & experience align.

The Company
19 Employees

What We Do

Technology, Information and Internet

Similar Jobs

Easy Apply
In-Office
Bedford, MA, USA
96 Employees
80K-110K Annually

Bose Logo Bose

Quality Assurance Engineer

Automotive • eCommerce • Hardware • Music • Retail • Software • Wearables
Hybrid
Framingham, MA, USA
2900 Employees
75K-103K Annually
In-Office
Westford, MA, USA
100000 Employees
110K-155K Annually
Easy Apply
In-Office
Bedford, MA, USA
96 Employees
120K-170K Annually

Similar Companies Hiring

Axle Health Thumbnail
Logistics • Information Technology • Healthtech • Artificial Intelligence
Santa Monica, CA
17 Employees
Scrunch AI Thumbnail
Software • SEO • Marketing Tech • Information Technology • Artificial Intelligence
Salt Lake City, Utah
Standard Template Labs Thumbnail
Software • Information Technology • Artificial Intelligence
New York, NY
15 Employees

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account