SubVysion | San Francisco, CA | In-Person, Full-Time
SubVysion builds robotic rovers that map what's underground. Our rovers carry ground-penetrating radar (GPR), stereo cameras, and RTK GNSS across jobsites. They turn each survey into a georeferenced 3D model of the site, with buried utilities and rebar located inside it. Construction and utility crews use our maps to dig without hitting what's underground.
We're hiring a Software Engineer to work across that whole system: rover firmware and capture, the cloud pipeline that reconstructs each site, and the tools our team and customers use to review the results. This is an early, in-person role. You'll own large parts of the product, ship to real hardware, and see your code run in the field.
What You'll Do
Build and harden the rover capture stack, including multi-camera ZED X capture, GPR acquisition, and sensor sync on NVIDIA Jetson Orin in C++20, CUDA, and ROS 2.
Extend Deck Control, our native Rust (egui/wgpu) rover control app for handheld devices. It covers live sensor health, survey planning, route generation, and safe teleoperation.
Improve the mapping pipeline that turns raw captures into metric Gaussian-splat reconstructions. It uses COLMAP/GLOMAP, gravity and metric alignment, and gsplat training, with automated quality gates.
Scale our cloud services on Google Cloud (Cloud Run, Firestore, Cloud Storage, Pub/Sub, Firebase Auth) and serverless GPU workers on Modal.
Develop GPR Studio, our native Rust app for GPR waterfall and 3D analysis, labeling, and comparing physics-based simulations against measured traces.
Work on GPR perception: hyperbola detection, migration, and 3D segmentation of buried utilities, using PyTorch models trained on synthetic and field data.
Ship web and mobile surfaces where needed, including our Svelte 5 + TypeScript mapping app with Three.js/PlayCanvas splat viewers, and an iOS AR client.
Go into the field now and then to run surveys, debug on real hardware, and turn what you learn into fixes.
What You Bring
3+ years shipping production software, or an equivalent track record of serious projects.
Strong skills in at least one of Rust, C++, or Python, and willingness to work in all three.
Comfort across the stack, from embedded and real-time code up to cloud services.
Good engineering habits: tests, CI, code review, clear docs, and changes you can reason about.
Comfort using AI coding agents (Claude Code, Codex, or similar) as everyday tools, with the judgment to verify what they produce.
Ownership: you take ambiguous problems from idea to deployed and measured.
Ability to work in person in San Francisco.
Helpful Experience
Experience in any of the following is a plus:
Robotics, ROS 2, or embedded Linux (NVIDIA Jetson especially)
CUDA or GPU programming
3D vision: SLAM, structure-from-motion, multi-view geometry, NeRF, or Gaussian splatting
Signal processing, radar, or GPR
GNSS/RTK, IMU fusion, or state estimation
Native GUI or graphics work (wgpu, Vulkan, Metal, egui, Dear ImGui)
GCP, Firebase, or serverless GPU platforms like Modal
Construction tech, surveying, utilities, or geospatial data
Why SubVysion?
Work on hard, physical problems where software meets sensors, robots, and real jobsites.
Real ownership of core systems at an early-stage company.
Visible impact: our maps help crews avoid utility strikes, which are dangerous and expensive.
Competitive salary and equity.