Software Engineer II
- Huntsville, AL, United States
Applications open in a new tab.
Job details
- Experience
- 3 - 10 years of software development experience
- Posting language
- English
- Posted
Original job description
Position Description:
Outpost Technologies is seeking a Software Engineer II to join our team. The ideal candidate will work as a member of our Test and Evaluation team in the generation of a digital scoring system to support remote sensing platforms. The role also covers the maintenance of the platform and UI to meet the evolving needs our customers require. The candidate should demonstrate a strong technical background and the ability to receive feedback from end users and stakeholders, assess optimization paths, and execute efficiently.
The posted compensation range represents the expected pay range for this position at the time of posting. Actual compensation may be higher or lower than the stated range based on factors such as relevant experience, education, certifications, specialized expertise, geographic considerations, market conditions, and alignment with internal compensation structures and government contracting requirements.
Position Responsibilities:
- Develop, expand, and maintain existing software tool suite to improve lethality analysis and Model & Simulation capabilities
- Assist the software team in planning development and test activities, managing development life-cycle risks, and understanding the benefits of frequent internal releases (e.g., faster feedback, reduced integration issues, and improved adaptability)
- Apply critical thinking and broad expertise in modern computing issues to conduct effective peer reviews, provide constructive code criticism, and propose test techniques for verifying nominal code behavior and identifying failure modes through stress testing
- Demonstrate experience in formal, informal, and automated verification testing for highly reliable/available code, including writing automated tests beyond unit tests (e.g., integration and system-level tests), leveraging dependency inversion and mocking techniques
- Analyze system-level requirements to propose software designs and derive detailed software requirements that align with system goals
- Communicate clearly and effectively about software designs, implementation strategies, and test strategies within a small development team, fostering open discussions on technical and process issues to build consensus
- Design, code, and debug soft real-time systems, utilizing in-depth knowledge of:
•
- Generation of 6 DOF digital twin physics based simulations
•
- Hardware operations (e.g., serial ports, PCI bus, Ethernet)
•
- Hardware-OS interactions (e.g., UART HW FIFOs, ISRs, buffer management, HW configuration, Linux filesystem cache/flush timing)
•
- Application-OS interactions (e.g., blocking vs. polling, multi-thread synchronization).
•
- Optimization of CPU performance using event-driven designs instead of polling
Basic Qualifications:
- Must be a US Citizen
- Must possess an Active DoD Security Clearance: Secret Level or Higher
- Bachelor’s or Master’s Degree in relevant field (Electrical Engineering, Computer Science)
- 3 - 10 years of software development experience
- C/C++/Python programming–Linux, Windows
Benefits
- Health Insurance
- Dental Insurance
- Vision Insurance
- Life Insurance
- 401(k) Matching
- Paid Time Off
- Comp Time Plan
- Paid Parental Leave
- Tuition Reimbursement
Outpost Technologies is an Equal Opportunity Employer and a proud U.S. Government contractor. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex (including pregnancy, gender identity, and sexual orientation), national origin, age, disability, genetic information, or protected veteran status.