Scientific Software Developer (ABQ)
We hire smart Scientists and Software Engineers who love to create and maintain high quality, extensible code using modern C++ practices.
Support software development in the following domains: computer vision and image processing, image simulation, laser or high-power microwave source generation and effects modeling, atmospheric modeling, computational electromagnetics (CEM), space domain awareness (SDA), high performance computing (HPC), computer aided design (CAD) tools, artificial intelligence (AI) and machine learning (ML) techniques, among others.
Minimum Requirements:
- B.S. in math, science, computational engineering, an engineering field, or computer science
- Substantial software development experience
- Object-oriented development and C++ programming experience
- Adept at learning new paradigms and programming development processes
- Enthusiasm for developing modern, high-quality C++23 code
- U.S. citizen, willing to undergo background investigation, and perform some work at government and/or customer sites
Desired:
- Advanced degree (M.S. or Ph.D.) in science, an engineering field, math, or computer science
- Active security clearance
Experience in any of the following is a plus:
- Additional languages: Python, Java, TypeScript
- C++ Boost, Eigen libraries
- Cross-platform software development on Linux and Windows
- 3D graphics using OpenGL, Open Scene Graph, Vulkan, and/or WebGL
- User interface development with Qt, Material UI, Java Swing
- Supercomputing: OpenMP, threads, MPI, GPUs/CUDA/Optix
- Image processing, imagery analysis, or computer vision, computer aided design (CAD)
- Aerospace vehicles, orbital mechanics, electromagnetics, space domain awareness
- Spacecraft subsystem modeling
- Modeling and simulation, including directed energy
- Machine learning and data analysis using Python (pandas, NumPy, SciPy, scikit-learn), C++, and frameworks such as PyTorch and TensorFlow
- Reinforcement learning, large language model development, computer vision, data mining, and core ML techniques (classification, regression, clustering)
- Experience with Advanced Framework for Simulation Integration & Modeling (AFSIM)
- Experience with client- and server- side web applications
- Experience or interest in building collaborative web tools
A representative sample of your code may be requested early in the evaluation process, e.g. something you've written for work, for a class, or for fun. It should be long enough to help evaluate your programming and software engineering skills.