Our Reston office is seeking talented programmers with strong computer science, math, and/or physics backgrounds for complex and challenging projects.  As a Software Developer you will be responsible for implementing polished software incorporating probabilistic models of physical systems.  Project teams are small, typically 2-5 people including Research Scientists and Software Developers.  Each person is involved in the entire software development process, from initial concept through algorithm and software design to implementation, analysis, demonstration, and deployment.  Our management structure gives you the freedom to create innovative designs and products.  The ideal candidate will have experience writing well-designed, maintainable, and extensible software.

Desired Qualifications:
Bachelors or Master’s degree in Computer Science, Mathematics, Physics, Applied Math, or related field
Java programming experience preferred
Knowledge of user interface design principles, software architecture, and design patterns
Experience developing multithreaded Java Swing and/or OpenGL applications
Experience with performance optimization and complexity analysis
Familiarity with C, C++, Matlab, Python, SQL a plus
Ability to communicate design concepts and performance metrics clearly in written and oral reports
US CITIZENSHIP REQUIRED (successful candidates will undergo background check for Secret Clearance)