Job Description :
This role involves researching, designing, developing, building, and testing low-layer software that interfaces with a variety of electronic controls hardware (ECU / ECMs). This includes OS integration, I / O drivers, and boot processes.
Job Responsibilities :
- Develop and implement new software features and processes, from concept to deployment.
- Analyze and decompose software requirements.
- Evaluate new languages, development tools, and processes.
- Perform product maintenance and manage the software lifecycle using version control and configuration management.
- Stay updated on new technologies and potentially develop new technologies.
- Communicate technical information to stakeholders, including customers, team members, and suppliers.
- Support and advise other engineers, managers, marketing personnel, customers, and suppliers.
Responsibilities :
While work can primarily be done off-site, on-site hardware engagement is mandatory. Daily tasks may include reviewing client requirements, researching ECU hardware and interfacing requirements, designing solutions, collaborating with peers and tech leads, coding in C, managing versioning, conducting unit testing, and performing regression testing.
Technical 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, I / O drivers, SPI / I2C peripheral interfacing, hardware diagnostics, real-time operating system integration / configurations, non-volatile memory interfacing, board initialization, and other chip-level interfacing which interfaces with Client's wide variety of electronic controls hardware (i.e. ECU / ECMs).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.Soft Skills Required :
Strong verbal and written communication skills.Excellent problem-solving, customer service, and interpersonal skills.Knowledge of reading schematics and data sheets for components.Ability to troubleshoot issues and implement necessary system changes.Education & Experience Required :
Minimum of a BS in Computer Engineering or Electrical Engineering is required. Computer Science or a comparable degree may be considered with relevant experience.5-8 years of industry experience.Master's degree or higher with relevant internship / project experience may be accepted toward the minimum experience requirement.Disqualifiers / Red Flags :
Test engineering and controls engineering should not be the primary focus of experience. While these can be part of work history, core embedded software skills should be the primary area of expertise.
Required Skills : ASIC / FPGA / PLD,Spi
Basic Qualification :
Additional Skills :
Background Check : No
Drug Screen : No