Scientific Software Developer (DC, NoVA)
Role details
Job location
Tech stack
Job description
We hire smart Scientists and Software Engineers who love to create and maintain high quality, extensible scientific codes, and want to learn and adopt modern C++ practices.
Requirements
-
Ph.D., M.S., or B.S. in physics, math, electrical/mechanical/aerospace engineering, computer science, or any relevant scientific or engineering field
-
Ability to implement, understand, and maintain mathematical and scientific codes
-
Object-oriented design and C++ programming experience
-
Substantial software development experience
-
Interest in developing modern, high quality C++20/23 code
-
U.S. citizen, willing to undergo background investigation, and perform some work at government and/or customer sites
Experience in any of the following is a plus:
-
C++20/23, TypeScript, Python, Java
-
Relevant libraries: Boost, Eigen
-
Cross-platform software development on Linux, Windows, Mac
-
3D graphics using OpenGL, Open Scene Graph and/or WebGL
-
User interface development with Qt, Java Swing, Material UI
-
Supercomputing: OpenMP, threads, MPI, CUDA, GPU
-
Image processing, imagery analysis, or computer vision, computer aided design (CAD)
-
Aerospace vehicles, orbital mechanics, electromagnetics, space domain awareness
-
Modeling and simulation, including directed energy
-
Active security clearance
A representative sample of your code may be requested early in the evaluation process, e.g. something you've written for work, a school project, or for fun. It should be long enough to demonstrate your programming and software engineering skills.