> Markdown version of [/jobs/ext/4167291-embedded-software-engineer](https://www.wearedevelopers.com/jobs/ext/4167291-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:** Enin Systems - **Location:** California City, CA, United States - **Contract:** Permanent contract - **Skills:** Testing (Software), C (Programming Language), Agile Methodology, Systems Engineering, AUTomotive Open System Architecture (AUTOSAR), C++ (Programming Language), Code Review, Communications Protocols, Computer Programming, Computer Engineering, Software Debugging, Device Drivers, Microprocessors, Memory Management, Embedded C, Linux on Embedded Systems, Embedded Software, Ethernet, Firmware, GNU Debuggers, Hardware Interface Design, Joint Test Action (IEEE Standards), Software Maintenance, Real-Time Operating Systems, Software Engineering, Systems Integration, Universal Asynchronous Receiver/Transmitter, Serial Peripheral Interface, PIC Microcontroller, Real Time Systems, Git, Information Technology, Software Version Control, Jenkins, Programming Languages - **Published:** October 31, 2026 - **Apply:** https://www.dice.com/job-detail/0f5a389c-cd5e-4d9b-9c8c-515697215419 ## About the Role * Strong programming experience in C, C++, and Embedded C. * Experience with microcontrollers and microprocessors. * Knowledge of ARM, STM32, PIC, or AVR architectures. * Experience with Embedded Linux and RTOS. * Knowledge of UART, SPI, I2C, CAN, and Ethernet protocols. * Experience with debugging tools such as JTAG, GDB, and oscilloscopes. * Knowledge of hardware-software integration. * Experience with Git, Jenkins, and software version control. * Understanding of real-time systems and memory management. Educational Qualifications - Bachelor's or Master's degree in: * Computer Science * Electronics and Communication Engineering (ECE) * Electrical Engineering * Embedded Systems Engineering * Computer Engineering Preferred Experience * 12-15+ years of experience in embedded software development. * Experience developing firmware for automotive, medical devices, consumer electronics, or industrial automation. * Knowledge of AUTOSAR, IoT, or wireless communication technologies. * Experience with Agile and Scrum methodologies. ## Description An Embedded Software Engineer is responsible for designing, developing, testing, and maintaining software for embedded systems and electronic devices. The role involves developing firmware, working with microcontrollers, integrating hardware and software components, and ensuring system performance, reliability, and efficiency., * Design, develop, and maintain embedded software and firmware. * Develop software using C, C++, and Embedded C programming languages. * Work with microcontrollers, microprocessors, and embedded hardware platforms. * Develop and debug firmware for real-time operating systems (RTOS). * Implement device drivers, communication protocols, and hardware interfaces. * Work with communication protocols such as UART, SPI, I2C, CAN, and Ethernet. * Perform software testing, debugging, troubleshooting, and validation. * Collaborate with hardware, electrical, and systems engineering teams. * Optimize embedded applications for memory, speed, and power consumption. * Develop and maintain technical documentation and software specifications. * Participate in code reviews and software development lifecycle activities. * Ensure compliance with industry standards and safety requirements.