Designs, develops, and maintains software applications
understanding of software engineering principles, design patterns, and software development life cycle
Experience
programming
Familiarity with model-based design, hardware-in-the-loop testing, and simulation