Job Openings Senior Software Engineer

About the job Senior Software Engineer

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.