Precision Resources

73 Precision Resources Embedded Software Engineer Jobs Hiring Near You

Embedded Software Engineer Extropic is seeking a highly skilled Embedded Software Engineer with ... synchronization, and resource sharing. * Implement multi-threaded, multi-core software ...

Embedded Software Engineer

Green Valley, AZ

$119K - $156.50K/yr

As an Embedded Energy Software Engineer, you will develop embedded software for electronics control systems supporting diesel engine programs and electrification programs. Areas of responsibility ...

Embedded Software Engineer

Raleigh, NC · On-site

$127.80K - $168.20K/yr

Embedded Software Engineer Electric Research and Manufacturing Cooperative, Inc. (ERMCO) is the ... resources, enhances grid reliability, and improves efficiency. Founded in 2012, GridBridge has ...

Embedded C programming (absence of C is a disqualifier) * Knowledge of embedded systems and ... resources • Review project requests describing software requirement needs to estimate time and ...

Embedded Software Engineer

Nashua, NH

$132.30K - $174.10K/yr

Embedded Software Engineer The responsibilities can include, but are not limited to: embedded software design & implementation, design for critical features and functions, enabling implementation of ...

Embedded Software Engineer

Santa Clara, CA · On-site

$154.40K - $203.20K/yr

Embedded Software Engineer, Santa Clara, CA We are seeking a motivated and detail-oriented Embedded Software Engineer to join a dynamic team. The ideal Embedded Software Engineer will possess a solid ...

Showing results 61-73

Precision Resources Jobs Information

What are the key skills and qualifications needed to thrive as an Embedded Software Engineer, and why are they important?

To thrive as an Embedded Software Engineer, you need a solid background in computer science or electrical engineering, strong programming skills in C/C++, and experience with embedded systems design. Familiarity with real-time operating systems (RTOS), microcontroller architectures, debugging tools, and version control systems like Git is typically required. Excellent problem-solving abilities, attention to detail, and effective communication skills set top engineers apart. These competencies are crucial for building reliable, efficient, and safe embedded solutions that meet industry standards.

How does an Embedded Software Engineer typically collaborate with hardware engineers during product development?

Embedded Software Engineers work closely with hardware engineers throughout the product development lifecycle. Collaboration often involves joint design reviews, debugging sessions, and integration testing to ensure software and hardware function seamlessly together. Effective communication is crucial, as changes in hardware can impact software functionality and vice versa. This cross-disciplinary teamwork helps resolve technical issues quickly and ensures the end product meets performance and reliability standards.

What are Embedded Software Engineers?

Embedded Software Engineers are professionals who design, develop, and maintain software that runs on embedded systems—specialized computing devices that are part of larger systems, such as cars, medical devices, industrial machines, and consumer electronics. Their work involves programming in languages like C or C++ to interact closely with hardware components, ensuring optimal performance, reliability, and safety. Embedded Software Engineers work closely with hardware engineers to integrate and test software with physical devices, often working within real-time and resource-constrained environments. Their expertise is crucial in developing the 'brains' of many devices we use every day.

What is the difference between Embedded Software Engineer vs Firmware Engineer?

AspectEmbedded Software EngineerFirmware Engineer
CredentialsBachelor's in Computer Engineering, Electrical Engineering, or related fields; often requires knowledge of C/C++Similar credentials; strong C/C++ skills, understanding of hardware
Work EnvironmentDevelops software for embedded systems in various industries like automotive, IoT, consumer electronicsFocuses on low-level hardware interaction, often working closely with hardware teams
Industry UsageCommon in automotive, medical devices, consumer electronics, industrial automationPrimarily in consumer electronics, IoT devices, and hardware startups

Embedded Software Engineers design and develop software for embedded systems, focusing on system-level programming. Firmware Engineers write low-level code that directly interacts with hardware components. While both roles require similar skills and work environments, Embedded Software Engineers often work on a broader range of software, whereas Firmware Engineers focus on hardware-specific code. Understanding these differences helps in choosing the right career path or job search focus.

What are the most popular jobs at Precision Resources?
What are the most popular categories at Precision Resources?
Infographic showing various Embedded Software Engineer job openings at Precision Resources in the United States as of May 2026, with employment types broken down into 100% Full Time. Highlights an 100% Physical job distribution.

Embedded Software Engineer

Extropic

Boston, MA

$150K - $250K/yr

Other

Posted 29 days ago


Job description

Embedded Software Engineer

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

$150,000 - $250,000 a year