Responsibilities
- Own major features from design through shipping, touching the full stack of the Studio application.
- Build deeply interactive, low-latency editing tools (e.g., auto-routing wires, placing blocks, real-time mistake detection) involving algorithms and computational geometry.
- Develop a document model supporting diffing, merging like source code, and real-time collaboration.
- Implement the sync engine for streaming edits between clients, focusing on eventual consistency, high-bandwidth streaming, and correctness (game-server-like, with decisions on zero-copy vs owned data for large designs).
- Create a GPU canvas for rendering millions of polygons smoothly using spatial indexing, culling, and level of detail in a single Rust code path for web and native.
- Build interactive simulation with streaming waveforms and millisecond-response tiers.
- Work on related areas including a plugin system with sandboxed WebAssembly, a scripting API, and fab integrations.
Requirements
- Strong Rust experience, or serious C++/systems experience with clear curiosity to master Rust.
- Solid systems fundamentals: memory, performance, concurrency; profile before optimizing; track record of identifying and fixing performance issues.
- A track record of non-trivial software built from scratch that you can discuss end-to-end (e.g., weird side project, engine, or tool).
- Portfolio (GitHub is fine) required.
Nice-to-Haves
- Game, engine, or real-time background (ECS, scene graphs, spatial indexing, physics engines, frame budgets, GUI, low-latency input).
- Some EE, analog, and digital knowledge (schematic drawing, SPICE, RLC circuits helpful for ramp-up).
- Deep experience with complex software like Blender, Ableton, KiCad, CAD tools, DAWs, or game engines, with opinions on their design.
- Distributed or real-time systems knowledge (write-ahead logs, event sourcing, replication, CRDTs, OT, websockets, data pipelines).
- Geometry, graph, routing algorithms; spatial data structures; optimization.
- Familiarity with schema evolution and serialization (Protobuf, Flatbuffers, Cap’n Proto).
- Graphics and visualization experience: custom rendering, shaders, GPU pipelines (WebGPU, Vulkan, OpenGL).
- Interest in version control internals beyond just using Git.
Compensation
Software Interns are paid hourly at a rate equivalent to an annualized $114,000–$132,000 depending on experience and education. Benefits include housing stipend, daily lunches, weekly learning opportunities, commuter benefits, PTO, visa sponsorship, medical/dental/vision insurance, 401(k), and life/disability insurance.