Defense Embedded Software Engineer
HRU
- Warren, MI
- $50.00-60.00 per hour
- Contract
- Full-time
- Lead software engineering team to architect, design, develop, test, and deploy software and software systems, including embedded controllers, user interfaces, diagnostics, communications gateways, and data processing tools.
- Capture and document customer, user, and engineering software requirements.
- Create and review software work products such as requirements documentation, sequence or timing diagrams, user experience wireframes, process documentation, flowcharts, user stories, test plans, test reports, project planning and schedule documentation, and user guides.
- Continually lead the development and improvement of Roush software development processes, including code reviews, unit testing, system testing, test plan development, automated testing, project task tracking, team collaboration, continuous integration, bug and issue tracking.
- Bachelor's degree in Computer Science, Computer Engineering or a related technical field, or equivalent work experience.
- Minimum 6 years of software development experience.
- Experience with In-Vehicle Software architecture and design.
- Experience with software languages, technologies, methodologies, API's, database, and Pub/Sub.
- U.S. Citizen.
- Strong working knowledge of software technology architecture and configuration.
- Strong working knowledge of software languages, technologies, methodologies, API's, database, and Pub/Sub.
- Working knowledge of multi-system integration, Internet of Things (IOT), web app development, and distributed systems integration.
- Working knowledge of best practices in documentation of software and software development.
- Experience with Simulink and MATLAB for developing, analyzing, and validating control algorithms and systems.
- Ability to develop in C, C++, Python
- Working knowledge of communications protocols and standards including Controller Area, Network (CAN bus), TCP/IP, UDP, DDS and other serial protocols.
- Ability to perform software troubleshooting - quickly finding and fixing software issues and bugs.
- Ability to create intuitive, and attractive user interfaces.
- Superb verbal and written communication skills with the ability to convey technical data to various audiences and work in a team environment.
- Able to work independently and handle several assignments simultaneously.
- Detail-oriented with the ability to quickly assimilate and apply new concepts, business models, and technologies.
- Capable of planning, estimating, scheduling, and coordinating technical aspects of projects.
- Ability to manage a small team of software developers.
- Automotive vehicle knowledge, including hands on mechanical or electrical work
- Proven ability to interface with software, network, and hardware development & integration teams.
- Currently holding or the ability to obtain a Secret DOD security clearance.