Senior Software Engineer Embedded C++ / Munitions
Location: Maple Grove, MN
Clearance: Must be eligible to obtain a Secret clearance
Position Overview
We are seeking a Senior Software Engineer to support embedded software development for munitions programs. This position will support a subset of contracts and work directives managed by the Munitions Software Integrated Product Team (IPT).
The Senior Software Engineer will report to a functional Software Engineering Manager and work closely with the Munitions Software IPT Lead and Program Engineering Managers. The position will have responsibility for the overall software engineering effort associated with one or two assigned contracts or work directives.
This role is approximately 90% hands-on software design and development and 10% software technical leadership. The primary focus will be software development within the Platforms and Services organization, although responsibilities may occasionally include oversight of software development performed by external subcontractors.
Key Responsibilities
Embedded Software Design & Development
-
Perform hands-on embedded software design and development throughout the complete software development lifecycle.
- Support requirements analysis, software architecture, detailed design, implementation, unit testing, hardware/software integration, integration testing, simulated flyout testing, and range testing.
- Develop object-oriented embedded software using C++.
- Develop software for real-time environments, including RTOS and/or bare-metal applications.
- Evaluate software requirements to ensure alignment with higher-level system performance requirements, customer requirements, statements of work, and applicable contractual documentation.
- Coordinate development activities with the Software Architect and evaluate designs to ensure technical solutions meet established requirements and customer needs.
- Ensure Software Functional Management and the Munitions Software Architect are appropriately engaged in significant software architecture and design decisions.
- Support software verification planning, verification environment design, and the development, execution, debugging, and review of verification test scripts and procedures.
- Coordinate Cybersecurity activities within the software domain.
Software Technical Leadership
-
Provide technical leadership for software engineering activities associated with assigned contracts or work directives.
- Guide project teams through collaborative technical problem-solving involving software architecture, systems engineering, safety engineering, and other relevant disciplines.
- Provide clear and concise technical direction to project personnel.
- Resolve technical conflicts between subsystems and engineering disciplines with consideration for system performance, quality, reliability, cost, and schedule.
- Apply knowledge across multiple engineering disciplines and incorporate customer and stakeholder requirements into technical decisions.
- Plan and manage internal and external engineering resources required to meet project objectives.
- Coordinate with functional and project managers to identify and secure appropriate technical resources.
Project Planning & Execution
-
Develop software project schedules and build plans in support of overall product development schedules.
- Estimate and plan software engineering activities and monitor technical, cost, and schedule performance.
- Identify deviations from project plans and implement corrective actions as necessary.
- Oversee assigned Control Accounts and/or Work Packages, including task planning, progress monitoring, reporting, and corrective actions.
- Develop periodic Estimates at Completion (EACs) in support of Earned Value Management System (EVMS) reporting.
- Ensure on-time delivery of contractual deliverables with acceptable quality and a target of 90% or greater first-pass customer acceptance.
- Ensure project teams follow appropriate engineering processes and applicable Business Management System (BMS) procedures.
Technical Reviews & Customer Support
-
Work with the Software IPT Lead and Program Engineering Managers to plan formal software development milestone reviews with U.S. Government customers.
- Support and present software engineering content during:
- System/Software Requirements Reviews (SRR)
- Preliminary Design Reviews (PDR)
- Critical Design Reviews (CDR)
- Test Readiness Reviews (TRR)
- Prepare and present project metrics and technical status during milestone reviews, Technical Interchange Meetings (TIMs), IPT meetings, customer meetings, and internal management reviews.
- Maintain proactive communication with Software IPT leadership, Functional Management, Program Engineering Managers, and Program Managers.
- Promptly communicate emerging technical risks, issues, and opportunities and escalate concerns when appropriate.
Quality, Safety & Compliance
-
Ensure project teams support Software Quality Assurance (SQA) and Software Configuration Management (SCM) audits and activities.
- Coordinate with Safety Engineering to ensure software requirements and software safety activities are completed accurately and on schedule.
- Ensure safety-related and safety-critical requirements receive the appropriate level of engineering rigor throughout architecture, design, implementation, integration, and verification.
- Ensure appropriate stakeholder engagement throughout software development activities, including Systems Engineering, Safety Engineering, Software Architecture, and Cybersecurity.
- Elevate issues affecting product behavior to the appropriate IPTs for multidisciplinary review and resolution.
Team & Organizational Support
-
Provide constructive performance and development feedback regarding assigned project personnel.
- Support continuous improvement of software engineering processes and technical execution.
- Maintain strong technical credibility with customers, teammates, and industry partners.
Required Qualifications
-
Bachelors degree in a relevant technical discipline with 5+ years of relevant experience; Masters degree with 3+ years of experience; Ph.D. with 1+ year of experience; or equivalent combination of education and experience.
- Strong object-oriented software design and development skills.
- Highly proficient in C++ embedded software development.
- Experience with RTOS and/or bare-metal real-time application development.
- Contemporary hands-on software design and development experience.
- Practical knowledge of software engineering and development processes.
- Familiarity with Ethernet communications.
- Understanding of Earned Value Management Systems (EVMS) and Control Account Manager (CAM) and/or Work Package Manager responsibilities.
- Strong verbal and written communication skills.
- Strong cross-functional collaboration and problem-solving skills.
- Ability to effectively conduct technical meetings, discussions, reviews, and presentations.
- Must be eligible to obtain a U.S. Government Secret security clearance.
Preferred Qualifications
-
Current active Secret clearance.
- Practical knowledge of software management processes.
- Practical knowledge of engineering development processes.
- Familiarity with Capability Maturity Model Integration (CMMI) and formal product development lifecycle processes.
- Cybersecurity knowledge, particularly Risk Management Framework (RMF) requirements and processes associated with obtaining and maintaining an Authority to Operate (ATO).
- Cybersecurity certification.
- Weapon system and/or combat vehicle experience or subject matter expertise.
- Previous experience supporting U.S. Government or defense-related software development programs.
Key Technical Skills
-
Embedded C++
- Object-Oriented Design
- Real-Time Operating Systems (RTOS)
- Bare-Metal Development
- Embedded Systems
- Software Architecture & Design
- Hardware/Software Integration
- Software Verification & Validation
- Ethernet Communications
- Software Safety
- Software Configuration Management
- Cybersecurity / RMF / ATO
- EVMS
- Control Account / Work Package Management
- Defense Software Development
#HRUProfessional