Embedded Software Engineer Job at Extropic, Remote

  • Extropic
  • Remote

Job Description

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.

Job Tags

Full time

Similar Jobs

Jobsbridge

Web Developer/Designer Job at Jobsbridge

 ...growing Silicon Valley based I.T staffing and professional services company specializing in Web, Cloud & Mobility staffing solutions. Be it core Java, full-stack Java, Web/UI designers, Big Data or Cloud or Mobility developers/architects, we have them all. Job... 

Prospect Infosys Inc

Accessibility Tester Job at Prospect Infosys Inc

 ...technical and non-technical audiences.Ability to prioritize tasks and work independently with minimal direction.Understanding of accessibility standards (e.g., WCAG), security testing fundamentals, and performance considerations.Ability to identify risks and propose... 

Northpeak

Web Designer Job at Northpeak

 ...About the Role Craft unique brand identity & website design that helps visitors convert into paying customers. Were looking to make sure the vision and differentiators are communicated in a simple and effective way while building a unique and differentiated brand.... 

OpenAI

Software Engineer, Inference AMD GPU Enablement Job at OpenAI

 ...shape OpenAIs multi-platform inference capabilities from the ground up with a particular focus on advancing inference performance on AMD accelerators. In this role, you will: Own bring-up, correctness and performance of the OpenAI inference stack on AMD hardware.... 

FORTIS GROUP dba silhouette security

Armed Executive Protection Specialist Job at FORTIS GROUP dba silhouette security

 ...Fortis Security Inc. is seeking highly professional, experienced Armed Executive Security Officers to support executive protection operations within a high-profile financial institution environment.This role focuses on safety, threat mitigation, and rapid emergency response...