What are the responsibilities and job description for the Embedded Software Engineer position at DMV IT Service?
DMV IT Service is seeking for a skilled professional to research, design, develop, build, and test low-layer software that interfaces with our Client’s diverse range of electronic control hardware (e.g., ECU/ECMs). This role focuses on developing essential software components, such as I/O drivers, OS integration and configuration, boot processes, and other foundational software layers required for seamless hardware interaction.
Key areas of responsibility encountered in this role may include any or all of the following: concept, design, test, document, and promote new software features and processes; perform requirements analysis and decomposition; evaluate new languages, development tools, or processes; perform product maintenance; manage the software lifecycle through version control and configuration management; keep up to date on new technologies or develop new technologies; communicate technical information to customers, team members, suppliers and other units; and support and advise other engineers, managers, marketing personnel, customers and suppliers.
Techinical Skills Required:
- Real world real-time embedded device driver experience is key requirement.
- Experience designing embedded electronics controls, display, or telematics software, including development of device drivers, SPI/I2C peripheral interfacing, hardware diagnostics, operating system integration/configurations, non-volatile memory interfacing, board initialization, and other chip-level interfacing.
- Proficiency in Git version mgmt required. (Clearcase experience preferred.)
- Experience troubleshooting/debugging using tools such as oscilloscopes
- Experience with control software design patterns and anti-patterns, Bash shell, ANSI C, Python, and other programming languages.
- Experience with software development processes such as Agile.
Disqualifiers/Red Flags:
- Test engineering, controls engineering are not primary focuses. Can be part of work experience but should not be sole experience. Core skills above should be reflected in bulk of work experience.
Education & Experience Required:
- Minimum BS in Computer Engineering / Electrical Engineering required. Comp Sci or comparable may be considered if experience is relevant.
- 5-8 yrs industry experience.
- Will accept Master's or higher relevant internship/project experience toward minimum.