Back to Jobs
Recently postedTechnology

Embedded Software Engineer

ENIN SYSTEMS INCCalifornia City, CA🇺🇸United States

Quick overview

SeniorityMid Senior
Work modeHybrid
LocationCalifornia City, CA, United States
GitEmbedded SystemsScrumCC++IoTJenkinsAgileLinux

Job description

Embedded Software Engineer –

Job Summary

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.

Key Responsibilities

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

Required Technical Skills

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

Similar jobs