Tech Partners
Senior Software Engineer
About the job
Senior Software Engineer Full-Time | Tulsa, OK (Onsite) U.S. Citizenship Required Opportunity Overview We're partnering with an established engineering and simulation technology company developing advanced training and simulation systems used in aerospace, defense, and mission-critical environments. We are seeking a Senior Software Engineer with strong C/C++ development experience who enjoys solving complex technical challenges, designing software architectures, and working on sophisticated real-time simulation platforms. This role combines hands-on software development, system integration, and technical leadership within a highly collaborative engineering environment. The ideal candidate has experience developing software for simulation systems, training devices, embedded systems, aerospace applications, defense programs, or other real-time deterministic environments . Candidates with Linux experience and exposure to legacy simulation architectures written in C, C++, Ada, or Fortran will be especially attractive. What You'll Do Lead software development efforts for advanced simulation and training systems. Design, develop, test, and maintain software applications primarily using C and C++. Analyze system requirements and translate them into robust software architectures and technical designs. Develop software solutions that support real-time, deterministic, and high-performance simulation environments. Define and support hardware/software integration requirements. Conduct technical trade studies and evaluate alternative implementation approaches. Collaborate closely with systems, hardware, networking, and manufacturing teams. Troubleshoot and resolve complex software, integration, and performance issues. Participate in software verification, validation, and acceptance testing activities. Support deployment, installation, and customer acceptance events. Produce technical documentation including software designs, interface specifications, test procedures, and status reports. Contribute to proposal efforts and future technology initiatives. Technical Leadership Responsibilities While this role does not include direct personnel management, it carries significant technical leadership responsibilities, including: Mentoring junior and mid-level engineers. Conducting code reviews and technical peer reviews. Promoting software engineering best practices. Supporting onboarding and knowledge transfer efforts. Driving process improvements and technical excellence. Assisting project leadership with technical planning and risk assessment. Facilitating collaboration across multidisciplinary engineering teams. Required Qualifications Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, Physics, Mathematics, or a related technical discipline. 4+ years of software engineering experience. Strong development experience using C and/or C++. Experience developing software in Linux environments. Understanding of software architecture and object-oriented design principles. Experience with software integration, debugging, and testing. Experience using Git, Subversion, or similar version control systems. Knowledge of networking concepts and computer architectures. Strong troubleshooting and analytical skills. Excellent communication and technical documentation abilities. Highly Desired Experience Candidates with experience in the following environments should be prioritized: Simulation and training systems Flight simulators Aerospace software Defense systems Mission systems Embedded systems Real-time systems Distributed systems Hardware-in-the-loop (HIL) Software-in-the-loop (SIL) Deterministic computing environments Preferred Technical Experience Programming Languages C C++ Ada Fortran Python C# Operating Systems Linux RHEL Ubuntu CentOS Unix Technical Areas Real-time software development Deterministic software execution Simulator architecture Software/hardware integration Networked simulation systems Performance optimization Multi-threaded applications Distributed computing systems What Makes Someone Stand Out The best candidates often come from environments where software must perform predictably and consistently under real-world conditions. Examples include: Flight training simulators Military simulation programs Embedded aerospace systems Avionics software Defense platforms Mission planning systems Industrial control systems Real-time visualization systems Experience with older simulator architectures that incorporate C++, Ada, Fortran, and Linux is particularly valuable. Interested candidates can apply directly or email doug.halve@techpartnersllc.com for more information.