Embedded Software Engineer
Enin Systems
California City, CA, United States
3 days ago
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Apply on www.dice.com
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
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
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Loading talks and stories from around this role…