SUMMARY The team member will design, implement and test high-quality vehicle control software. The team member must be able to write embedded C++ software to run on embedded platforms that controls various vehicle systems through network messaging and directly connected inputs and outputs. The team member will be an integral part of multiple projects and responsible for peer reviewing their own and others software.
ESSENTIAL DUTIES AND RESPONSIBILITIES 1. Ability to write high quality, maintainable, object oriented C++ software 2. Responsible for quality conscious design including cost and reliability 3. Participate in peer reviews, estimation, and other engineering activities 4. Follow defined CMMI level 3 procedures in the writing of software 5. Use reasonable foresight to identify vehicle operation and maintenance risks, and control them within acceptable levels 6. Write requirements and design documentation 7. Ability to travel off-site to support engineering projects
* Bachelor's degree in Computer Science, Computer Engineering, or Electrical Engineering
* Internship or 6 months plus of related experience
PREFERRED QUALIFICATIONS * Current experience writing C++ software * Knowledge of object oriented design, C++ templates, C++ exceptions and the STL * Knowledge of UML * Experience writing embedded applications on microcontrollers * Experience with real-time operating systems * Experience working with CAN and the J1939 protocol * Ability to read and comprehend electrical schematics and operate test equipment like multimeters and oscilloscopes * Strong oral and written communication skills * Experience with automotive or heavy-duty equipment * Strong analytical and problem-solving skills. Experience with model based software such as system desk, MATLAB, Simulink, etc