- Career Center Home
- Search Jobs
- Software Engineer
Description
Job Summary
We are seeking a Senior Software Engineer to join an interdisciplinary team responsible for planning, designing, and developing advanced software solutions for test and training environments. This role requires an experienced engineer who can design and implement robust, high-quality software while collaborating within an integrated, multi-discipline team. The ideal candidate is a self-starter with strong technical expertise, leadership capability, and a passion for building sophisticated software systems.
The position focuses on developing software components, interfaces, models, and databases, as well as supporting system integration, verification, and investigation activities. The role involves close collaboration with hardware and network engineers to deliver efficient, synchronized solutions across distributed and real-time systems.
Key Responsibilities
Design, develop, and integrate software components, interfaces, models, and databases
Support system integration, verification, and investigation of complex software/hardware systems
Develop and integrate real-time and non-real-time software components in distributed or compact deployments
Work with data distribution and publish/subscribe technologies, including quality-of-service considerations
Collaborate with hardware and network engineers to implement efficient software–hardware integration solutions
Address synchronization and timing challenges across distributed services
Conduct and lead peer reviews of code and software design artifacts
Requirements
Required Skills
Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, Physics, Mathematics, or a related technical field
U.S. citizenship with the ability to obtain a security clearance
Professional experience programming in C and C++
Strong understanding of object-oriented analysis and design
Experience using integrated development environments such as Visual Studio, Eclipse, or similar tools
Experience with MATLAB, Simulink, and related engineering tools
Required Experience
2+ years of professional software development experience, preferably in core system development, modeling and simulation, or systems integration
Experience with multiple programming languages, including C, C++, and MATLAB
Experience working in Agile or prototype-based development environments
Demonstrated ability to lead and collaborate effectively with technical teams and project stakeholders
Desired Qualifications
Experience across the full software development lifecycle, from requirements and design through implementation, testing, deployment, and sustainment
Experience developing system simulations or hardware/software emulators
Familiarity with Data Distribution Service (DDS) technologies
Experience with publish/subscribe architectures and networking protocols (e.g., TCP/IP, UDP, HTTP, FTP, SSH, NTP)
Experience with 3D visualization software
Experience developing cross-platform software for Windows, Linux, and macOS
Experience working with relational and non-relational databases
Active Secret security clearance
