Senior Software Engineer
Job Description
Senior Software Engineer supporting a Multimode Threat Engagement Simulation Platform with a Julia backend, React/TypeScript/CesiumJS frontend, and CI/CD pipelines, focused on high performance scientific computing.
Responsibilities
- Develop and optimize the Julia based physics computation service, including trajectory integration with RK4 and RK45 via DifferentialEquations.jl, SGP4 orbital propagation using SatelliteToolbox.jl, and a Monte Carlo driver that uses Threads.@threads for parallelism.
- Profile performance-critical paths and benchmark throughput and latency to meet targets, such as executing 10,000 Monte Carlo runs within a defined wall-clock window.
- Integrate ONNX.jl surrogate model inference to enable real-time parameter sweeps and ensure inference latency remains under 1 ms.
- Generate CZML from physics outputs to visualize trajectory arcs, satellite orbital paths, and coverage footprints in time-dynamic Cesium visualization.
- Design and maintain the mission data model, including JSON serialization, a versioned file format with backward compatibility, and cross-platform path handling for Windows and Linux.
- Implement the HTTP.jl API layer with clear request and response schemas, robust error handling, and structured logging.
- Build React/TypeScript components for the mission planning interface, including tabbed mission overview, asset and task tree views, mission parameter forms, and the analysis panel.
- Integrate and maintain the CesiumJS/Resium 3D globe, including asset markers, trajectory rendering, satellite ground tracks, coverage footprints, and CZML-driven animation with the Cesium timeline.
- Manage frontend state for mission data, UI state, and asynchronous physics query results using appropriate patterns for a data-heavy desktop style application.
- Develop data driven analysis visualizations for trajectories, Pk curves, and Monte Carlo distribution charts using Recharts, Plotly.js, or equivalent.
- Maintain the CI/CD pipeline in GitHub Actions, producing Windows NSIS installers and Linux AppImages from a single codebase.
- Manage PackageCompiler.jl sysimage builds to generate the Julia physics server binary for both target platforms.
- Maintain electron-builder configurations and platform specific packaging scripts; validate installer behavior on clean Windows and Linux test environments.
- Implement build-time embedding of ONNX model files and asset resources, and manage versioning of bundled artifacts.
Requirements
- U.S. citizenship
- Active Secret Clearance
- B.S. in Computer Science, Software Engineering, Electrical Engineering, Physics, or a related STEM field
- 5+ years of software development experience with demonstrated depth in at least one area: scientific computing, numerical simulation, high performance computing, or data intensive desktop applications
Technologies
- Julia
- DifferentialEquations.jl
- SatelliteToolbox.jl
- ONNX.jl
- CZML
- CesiumJS
- Resium
- HTTP.jl
- JSON
- React
- TypeScript
- Recharts
- Plotly.js
- GitHub Actions
- PackageCompiler.jl
- ONNX Runtime
- electron-builder
- NSIS
- AppImage
- Python with NumPy/Numba/Cython extensions
Location and Travel
- Location: Colorado Springs, CO or Boston, MA, with hybrid work options
- Travel: approximately 15-20%
Benefits
- Medical
- Dental
- Vision
- Life insurance
- Tricare supplement
- Short-term disability
- Long-term disability
- 401(k) match
- Flexible spending accounts
- Health savings accounts
- Employee assistance program
- Learning and development benefit
- Paid time off
- Holidays