Software Engineer II
Job Description
Outpost Technologies is seeking a Software Engineer II to join its Test and Evaluation team in Huntsville, AL. In this onsite role, you will help build and improve a digital scoring system for remote sensing platforms, supporting development, verification, and design work for highly reliable systems.
This position centers on practical software delivery within a small team environment, where frequent internal releases and strong verification practices help reduce integration risk and surface feedback quickly. You will also work close to simulation and soft real-time execution concerns, including interactions across application, OS, and hardware layers.
Responsibilities
- Develop, expand, and maintain an existing software tool suite to strengthen lethality analysis and Model and Simulation capabilities
- Support software team planning for development and testing activities, including managing development life-cycle risks and understanding the value of frequent internal releases
- Use critical thinking and broad modern computing knowledge to conduct peer reviews, provide constructive code feedback, and propose test approaches for verifying nominal behavior and locating failure modes through stress testing
- Demonstrate experience with formal, informal, and automated verification testing for highly reliable and available code, including creating automated tests beyond unit testing (integration and system-level), with techniques such as dependency inversion and mocking
- Analyze system-level requirements to propose software designs and derive detailed software requirements aligned to system goals
- Communicate clearly about software designs, implementation strategies, and test strategies, contributing to open technical and process discussions to reach consensus
- Design, code, and debug soft real-time systems using knowledge of:
- 6 DOF digital twin physics based simulations
- Hardware operations such as serial ports, PCI bus, and Ethernet
- Hardware-OS interactions including UART HW FIFOs, ISRs, buffer management, hardware configuration, and Linux filesystem cache or flush timing
- Application-OS interactions such as blocking vs. polling and multi-thread synchronization
- CPU performance optimization using event-driven designs instead of polling
Requirements
- Must be a US Citizen
- Must hold an Active DoD Security Clearance: Secret Level or Higher
- Bachelor’s or Master’s Degree in a relevant field (Electrical Engineering, Computer Science)
- 3 to 10 years of software development experience
- Proficiency with C/C++/Python and Linux and Windows
Technology Stack
- C, C++, Python
- Linux, Windows
- 6 DOF digital twin physics based simulations
- Serial ports, PCI bus, Ethernet
- UART HW FIFOs, ISRs
- Linux filesystem cache/flush timing
- Event-driven designs
Benefits
- Health Insurance
- Dental Insurance
- Vision Insurance
- Life Insurance
- 401(k) Matching
- Paid Time Off
- Comp Time Plan
- Paid Parental Leave
- Tuition Reimbursement
Location: Huntsville, AL (onsite) | Salary: USD 80,000 to 140,000 per year