HRU Inc Technical Resources
Senior Software Engineer
HRU Inc Technical Resources, Minneapolis, Minnesota, 55400
Position Description We are looking for experienced professionals with a passion for real-time, embedded software development to join as Senior Software Engineers. This role involves planning and executing tasks in software requirements analysis, architecture and design, coding, unit testing, documentation, hardware-software integration, troubleshooting, problem-solving, and verification testing. Key Responsibilities Develop, maintain, upgrade, and port embedded product software and/or support software to enhance project/system functionality. Mentor junior software engineers to enhance their development, testing, troubleshooting, and problem-solving skills. Collaborate with cross-functional teams, including Mechanical, Electrical, Controls, and Systems Engineering. Ensure alignment with established engineering principles and practices. Verify that products meet customer needs and satisfy all technical, system, performance, process, and quality requirements. Required Skills Proficiency in object-oriented design, C++ coding, and unit testing for embedded software. Experience with version control and issue tracking tools. Preferred Skills Proficiency in developing and troubleshooting communication protocols, device drivers, and I/O interfaces. Experience integrating or testing software with real-time operating systems (RTOS) like vxWorks and Linux/Unix derivatives. Skills in requirements analysis and traceability, both up to higher-level requirements and down to software design/code. Required Experience Minimum of 4 years in real-time embedded software development or software verification testing, with at least 2 years focused on software design, coding, and unit testing. Preferred Experience Experience in architectural-level software design using Magic Draw, Enterprise Architect, or similar model-based engineering tools. Familiarity with NI TestStand for setting up, maintaining, or using automated software verification testing environments. Knowledge of weapon systems, munitions, or combat vehicle functionality. Experience using GitLab or other CI/CD tools. Required Education Bachelor's degree in a STEM field. Preferred Education Bachelor's degree in Computer Engineering, Software Engineering, Electrical Engineering, or Computer Science. EOE (Veteran/Disability)