Embedded Software Engineer
Embedded Software Engineer
This position is associated with the design and development of embedded software that controls machine operations, functionality, or display information to operators. Various development roles are available that require use of C++ and Python programming languages. Testing methods include simulation-based software testing, bench testing with physical controllers in the loop, and/or physical full machine testing.
Responsibilities
- Development of embedded software applications for vehicle controller software or display interfaces using C++.
- Integration of software in a multi-developer Agile team using Continuous Integration process.
- Functional and integration testing prior to hand-off to software test and evaluation group
- Development and release status tracking using the Agile development process.
- Troubleshooting and debugging using unit tests, vehicle simulators and bench testing of controllers with hardware in the loop.
- Creation of software design documentation.
Requirements
- Bachelor's or Master's of Science degree in Computer Science, Software Engineering, Electrical Engineering, Computer Engineering or related experience/degree.
- Experience with C or C++ programming languages
- Strong mathematical and analytical problem solving skills
- Strong verbal and written communication skills.
- Ability to thrive in a team environment
- Self-motivated, quick learner, with an any-problem-can-be-solved attitude
- Must have a valid driver’s license
Desired Attributes
- Experience with CAN J1939 communication protocol
- Previous experience in a structured software development process
- Ability to interpret hardware schematics for wiring and electronic controllers
- Experience with CAN sniffers or similar tools to use for troubleshooting communication issues
- Ability to interpret software requirements and state diagrams
- Knowledge of common software development tools such as VSCode, Github, Docker, etc.
- General machine knowledge of industrial equipment or machinery