> Markdown version of [/jobs/ext/4563457-embedded-software-engineer](https://www.wearedevelopers.com/jobs/ext/4563457-embedded-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Embedded Software Engineer - **Company:** Spectra - **Location:** United States - **Experience:** Experienced - **Contract:** Permanent contract - **Skills:** C (Programming Language), Abstraction Layers, Assembly Language, Automation of Tests, Booting (BIOS), Binary Space Partitioning, C++ (Programming Language), Code Review, Communications Protocols, Computer Programming, Software Debugging, Linux, Device Drivers, Embedded Software, Firmware, Hardware Interface Design, Python (Programming Language), Software Engineering, System Programming, Universal Asynchronous Receiver/Transmitter, Scripting, Serial Peripheral Interface, PIC Microcontroller, Peripherals, Git, Information Technology, Production Code, Software Version Control, Hardware Debugging - **Published:** November 4, 2026 - **Apply:** https://www.careerbuilder.com/job-details/embedded-software-engineer--7cbfc037-ac12-4fc2-b89c-cafab5a841f1 ## About the Role Embedded Software, Software Engineering, BSP, Embedded Systems, C Programming Language, Computer Firmware, Computer Architecture, Embedded Software, Booting, C++ Programming Language, We are seeking a skilled Embedded Software/Firmware Engineer to design, develop, and optimize firmware and low-level software for our embedded systems. The ideal candidate will have experience working with hardware interfaces, writing efficient, reliable code in C/C++, and a strong understanding of computer architecture and hardware-level programming. This role will also involve developing and maintaining the Board Support Package (BSP) for new hardware platforms, including bootloaders, peripheral drivers, and low-level system initialization., * Bachelor's degree in Computer Science, Electrical Engineering, or related field * 4+ years of experience in low-level software/firmware development for embedded systems. * Proficiency in C/C++ programming with experience in low-level debugging and optimization. * Experience with BSP development for embedded hardware, including system initialization and device tree configuration. * Hands-on experience with hardware debugging tools such as oscilloscopes, multimeters, and logic analyzers. * Familiarity with version control systems like Git. * Experience with communication protocols such as I2C, SPI, UART, CAN, and USB. * Knowledge of assembly language, ARM or similar microcontroller architecture is a plus. * Strong problem-solving skills and the ability to work independently as well as in a collaborative team environment. * Familiarity with scripting languages (e.g., Python) for test automation. Powered by JazzHR ## Description * Design, develop, and maintain firmware for embedded systems, microcontrollers, and Linux applications. * Develop and maintain BSPs for custom hardware, including initialization routines, device tree configurations, and hardware abstraction layers. * Write and optimize low-level code in C/C++ for performance, reliability, and scalability on resource-constrained environments. * Interface with hardware through device drivers and manage communications with peripherals (I2C, SPI, UART, etc.). * Collaborate with hardware engineers to understand hardware specifications, timing constraints, and ensure firmware compatibility. * Debug and troubleshoot firmware and BSP issues at the hardware level, using oscilloscopes, logic analyzers, and other debugging tools. * Develop and execute tests to validate BSP and firmware functionality, reliability, and performance in real-time embedded systems. * Maintain technical documentation for BSP, firmware design, implementation, and debugging processes. * Perform code reviews and contribute to firmware architecture and process improvements.