Job Title: Lead Software EngineerJob DescriptionThe Lead Software Engineer is responsible for the architecture, design, and technical leadership of one or more complex software components (CSCIs) within a larger solution. This role oversees a team of software engineers, guiding their work on new development and modifications to existing applications, while maintaining accountability for schedules, budgets, and adherence to standards, policies, and procedures. The Lead Software Engineer combines hands-on engineering with leadership responsibilities to deliver high-quality modeling and simulation solutions, including advanced flight simulation and immersive AR/VR/XR environments.
Responsibilities- Own the overall design, implementation, and modification of one or more CSCIs within a software solution.
- Oversee the technical work of teams of approximately 2–10 software engineers, providing day-to-day guidance and support.
- Assign tasks to team members, monitor progress, and intervene when needed to ensure adherence to project schedules and milestones.
- Lead and facilitate design reviews and code reviews, moderate technical disagreements, and ensure review comments are properly addressed and dispositioned.
- Ensure engineering standards, policies, and procedures are consistently followed across the team’s work products.
- Provide regular status updates and revised estimates-to-complete to the Project Manager as the project progresses.
- Train and integrate new team members into the team’s processes and tools, and support the ongoing development of existing team members.
- Provide counseling and recommend corrective actions to the Project Manager when performance or delivery issues arise.
- Support proposal and business development efforts by providing solution designs, technical input, and effort estimates.
- Make targeted modifications to existing software applications and develop new components and systems based on evolving requirements.
- Define software work products using clear requirements and industry-standard methods and documentation practices.
- Perform unit testing of developed code and adhere strictly to applicable coding standards and best practices.
- Leverage internal reusable components and approved Free Open Source Software (FOSS) to minimize cost and maximize productivity.
- Maintain accurate schedules related to assigned tasks, including status tracking and completion dates.
- Implement and apply sound configuration management processes and adhere to established software configuration management and development policies and procedures.
- Understand and adhere to cost and schedule targets established during the program design phase.
- Establish, conduct, and document software testing based on customer requirements, ensuring traceability from requirements to test results.
- Contribute to the overall design and development of software products and applications, particularly in modeling and simulation domains.
- Travel domestically and/or internationally when required to support project activities, integration, or customer engagements.
- Support extended work hours or modified work schedules, as needed, to meet special tasks, deadlines, or critical project milestones.
Essential Skills- 10 or more years of successful software development experience in the modeling and simulation industry.
- Expert knowledge of applicable programming languages, including strong proficiency in C++.
- Expert knowledge of software architectures and design methodologies for complex, real-time systems.
- Expert knowledge of procedural and object-oriented coding methodologies.
- Ability to work effectively in Linux and/or Windows environments.
- Strong knowledge and practical experience with AGILE/SCRUM development methodologies.
- Experience with configuration management tools and processes.
- Experience with building to detailed requirements and/or synthesizing requirements from stakeholder inputs.
- Bachelor’s degree from an accredited college or university in Computer Science, Software Engineering, or a closely related field.
Additional Skills & Qualifications- Experience with a variety of simulation-related devices, including but not limited to full motion flight simulators, avionics systems, electronic control loaders, instructor operator stations (IOS), and servers.
- Experience in the development, integration, or operation of AR, VR, XR, and mixed reality simulation environments.
- Hands-on experience with a variety of simulation systems, including Semi Automated Forces (SAF), Distributed Interactive Simulation (DIS), image generators (IGs), f