Software Engineer II
Our software and systems engineering teams are engaged in supporting various DoD simulation and training systems programs. Projects include development of reconfigurable training systems incorporating gaming technology, and the enhancement of A-10 aircraft and Underwater Egress trainers. We provide an environment where engineers are engaged in the development and support phase to software/systems implementation. We seek professionals with a drive to work in diverse teams or independently as required, and the ability to apply technical competencies with creative ingenuity in solving technical software or systems problems while exceeding customers' expectations.
No supervisory responsibilities. Works with some technical supervision and may lead/mentor small development groups.
Designing, developing, and testing subsystem for simulation and training systems using Waterfall and/or Spiral processes
Essential Duties and Responsibilities:
- Works with minimum guidance to design and develop software subsystems
- Prepares data and presentation material to support design reviews
- Presents technical information relating to assigned subsystems during reviews
- Advises and mentors junior engineers, as needed, in pertinent development areas (e.g., multi-threading, synchronization, memory management, data encoding and storage, I/O, network protocols, computational modeling, and algorithm design and analysis)
- Tests developed subsystems in accordance with specified test procedures and resolves associated discrepancies/deficiencies
- Conducts software teams' peer reviews to validate adherence to coding and implementation standards
- Assists in the development of test plans and procedures to validate the functional correctness and desired performance of the final product
- Assists technical writers with documenting the design of assigned software subsystems
- Continually apprises supervisor of progress on assigned task(s)
Non-Essential Duties and Responsibilities:
- Supports research and development
- Performs all other duties - related to essential duties - as assigned
Education / Experience:
Requires Bachelor's degree or equivalent education and experience in an engineering discipline with a minimum of five (5) years of simulation training systems development experience or equivalent engineering software development.
Candidate must be capable of obtaining and maintaining US Department of Defense secret security clearance. U.S. Citizenship is required.
- Fundamentals of operating systems
- Basic algorithms and design patterns
- Modern programming language (e.g., C# and C++)
- Use of an integrated development environment (e.g., Visual Studio or Eclipse)
- Software configuration management tool (e.g., Subversion or Team Foundation Server)
Preferred, but Not Required Skills:
- Gaming engine (e.g., Unity and Unreal)
- Bug tracking tool (e.g., Bugzilla or Team Foundation Server)
- Microsoft PowerPoint
Customer Service Expectations:
Candidate should be able to communicate clearly in oral and written form, and manage presentations to customers with objectivity.
Microsoft Visual Studio
Systems Development Life Cycle