Senior Software Engineer
Role details
Job location
Tech stack
Job description
We are seeking a Senior Software Engineer to be a primary technical contributor on the Multimode Threat Engagement Simulation Platform. You will own significant portions of the stack end-to-end - building the Julia computation backend, the React/TypeScript/CesiumJS frontend, and the CI/CD pipeline that delivers standalone Windows and Linux artifacts - with a primary emphasis on high-performance and scientific computing. You will work closely with the Lead Engineer on architecture decisions and with domain engineers (RF, EO/IR) to implement their physics models in a performant, maintainable form., Implement and optimize the Julia physics computation server: trajectory integration (RK4/RK45 schemes via DifferentialEquations.jl), SGP4 orbital propagation (SatelliteToolbox.jl), and Monte Carlo driver with Threads.@threads parallelism
- Profile and optimize computation-critical paths; benchmark throughput and latency against program requirements (e.g., 10,000 Monte Carlo runs within a defined wall-clock target)
- Integrate ONNX.jl surrogate model inference for real-time parameter sweep capabilities; ensure inference latency meets the <1ms interactive target
- Implement CZML generation from physics outputs - trajectory arcs, satellite orbital paths, coverage footprints - for time-dynamic Cesium visualization
- Design and maintain the mission data model: JSON serialization, versioned file format with backward compatibility, and cross-platform path handling for Windows and Linux
- Implement the HTTP.jl API layer with well-defined request/response schemas, appropriate error handling, and structured logging
Frontend and Visualization
- Build React/TypeScript components for the mission planning interface: tabbed mission overview, asset and task tree views, mission parameter forms, and the analysis panel
- Integrate and maintain the CesiumJS/Resium 3D globe: asset markers, trajectory rendering, satellite ground tracks, coverage footprints, and CZML-driven animation with the Cesium timeline
- Manage frontend application state (mission data, UI state, async physics query results) using appropriate state management patterns for a data-heavy desktop application
- Implement data-driven analysis visualizations - trajectory plots, Pk curves, Monte Carlo distribution charts - using Recharts, Plotly.js, or equivalent
DevOps and Cross-Platform Packaging
- Maintain the CI/CD pipeline in GitHub Actions: automated builds producing Windows NSIS installers and Linux AppImages from a single codebase
- Manage PackageCompiler.jl sysimage builds for the Julia physics server binary on both target platforms
- Maintain electron-builder configuration 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; manage versioning of bundled artifacts
Contingent upon contract award
Requirements
Citizenship: Must be a US citizen
Minimum Required Qualifications
Clearance: Active Secret Clearance
Education: B.S. in Computer Science, Software Engineering, Electrical Engineering, Physics, or related STEM field
Years of Experience: 5+ years of software development experience, with demonstrated depth in at least one of the following areas: scientific computing, numerical simulation, high-performance computing, or data-intensive desktop applications
Certifications: NA
Additional Skills
- Proficiency in TypeScript/React or equivalent modern frontend framework
- Experience with a compiled or JIT-compiled high-performance language (Julia, C++, Rust, Fortran, or Python with NumPy/Numba/Cython extensions)
- Understanding of parallel computing patterns relevant to numerical workloads: thread-level parallelism, SIMD, memory-access optimization
- Experience with REST API design and implementation as a client-server boundary within a single-machine application
Preferred Qualifications
Clearance: Active TS/SCI
Education: MS degree
Certifications: NA
Preferred Skills
- Direct experience with Julia and the SciML / DifferentialEquations.jl ecosystem; PackageCompiler.jl sysimage generation
- Experience with CesiumJS, Resium, and CZML for 3D geospatial visualization
- Familiarity with orbital mechanics, trajectory simulation, or atmospheric modeling at an implementation level (not just theoretical)
- Experience with ONNX Runtime, ONNX.jl, or equivalent ML inference frameworks
- Experience with Electron and electron-builder for cross-platform desktop deployment
- Familiarity with at least one sensor or physics domain: radar detection, EO/IR performance, acoustic propagation, or multi-sensor tracking - at the level of understanding model inputs/outputs and integrating them correctly
Benefits & conditions
life insurance, paid time off, 401(k)