← Back to jobs

Senior Software Engineer

Skills

centoscppcsharpdistributed computingdistributed systemsembedded systemsfortrangitlinuxnetworkingooppythonrhelrisk assessmentubuntuunixversion control

Description

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 [email protected] for more information.

Get similar jobs in United States by email

We'll email you when new jobs similar to this one appear.

Similar jobs

Explore more Software Developer jobs in United States.

Finding similar jobs…