Senior Software Engineer
Is this the right opportunity for you?
Explore more jobs, compare advertised salaries and see which skills employers want.
Explore this careerSearch for a different role
More Software Developer jobs →Skills
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…