Embedded Software Engineer

Enin Systems
California City, CA, United States
3 days ago
Apply on www.dice.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Job source

Tech stack

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
+23 more
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

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

Requirements

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

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.dice.com
Prepare application

Good distractions

Loading talks and stories from around this role…