Principal Software Engineer
Sterling Heights, MI
Pay Range: $61.00-$71.00/hour
Job Description:
We are seeking a Principal Software Engineer to lead and execute complex real-time, embedded software development efforts.
This role offers an exciting opportunity to influence product design from concept through delivery while mentoring junior engineers and collaborating across multidisciplinary teams.
Military experience equivalency may substitute for some requirements.
Key Responsibilities:
- Architect, design, develop, and maintain embedded product software and support tools.
- Lead software requirements analysis, implementation (C, C++, Python), unit testing, and integration activities.
- Perform cybersecurity hardening and verification/test procedures.
- Mentor less-experienced engineers and foster skill development across the team.
- Collaborate with mechanical, electrical, controls, systems, testing, and cybersecurity engineering teams.
- Ensure solutions align with established engineering principles, meet technical and quality standards, and adhere to budget and schedule targets.
Required Qualifications:
- Bachelor’s degree in Computer Engineering, Software Engineering, Computer Science, Electrical Engineering, or a related STEM field.
- 6+ years of professional experience in real-time embedded software development.
- Strong programming skills in C, C++, Python, and UNIX/BASH scripting.
- Experience with Linux and/or VxWorks, including OS configuration.
- Familiarity with MATLAB/Simulink code wrapping and multithreaded applications (thread prioritization and resource synchronization).
- Proficiency with communication protocols: Ethernet, TCP/IP, UDP, CAN, MIL-STD-1553.
- Experience with requirements-based development, verification, and traceability using tools such as DOORS.
- Excellent written and verbal communication skills with customer interface experience.
Preferred Qualifications:
- Linux kernel and device driver development.
- Cybersecurity design, implementation, and testing.
- FPGA programming and/or willingness to learn Ada.
- Networking experience, including tools like WireShark and technologies like TSN and VLANs.
- Familiarity with CI/CD pipelines and tools such as Jenkins, Git, Bitbucket, Jira.
- Experience with full SDLC and testing automation using tools like NI VeriStand and TestStand.
- Familiarity with MagicDraw, LabVIEW, Qt, and Squish.
- Understanding of military/commercial software development standards.
- Knowledge of weapon systems, munitions, or combat vehicle capabilities.
- Familiarity with CMMI development processes.
Equal Opportunity Statement:
USPRO is an equal opportunity employer and will consider all applicants for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, veteran, disability and/or other protected categories. We are also committed to providing reasonable accommodation(s) to qualified individuals with disabilities or needs, as required by law.