Rust Software Engineering Intern, Chip Design Tools - Winter
About the role
Fullstack, Rust end-to-end, working on the application itself. You will own major features from design through shipping and touch the whole stack.
- Deeply interactive, low-latency editing tools: drag a wire and watch it auto-route, place a block, measure, annotate, catch mistakes the instant they happen.
- Careful handling, some algorithms and computational geometry.
- We need to constantly fight to keep the tools simple.
- A document model that can be diffed and merged like source code and at the same time real-time collaborative.
- This is the foundation everything else sits on.
- The sync engine streaming edits between clients, so chip designers can work together without sending files back and forth.
- More like a game server than CRUD: eventual consistency, high bandwidth streaming, correctness.
- Whether the wire format decodes to owned data or stays zero-copy so it holds up when the design is very large is a decision you own.
- A GPU canvas that renders millions of polygons and stays smooth: spatial indexing, culling, level of detail, all in one Rust code path for web and native.
- Simulation you can feel: waveforms that stream onto the screen as the solver produces them, with an interactive tier that answers in milliseconds while heavier analysis runs behind it.
- There is also plenty nearby as the application grows: a plugin system built on sandboxed WebAssembly components, a scripting API where a script is the same first-class client as the mouse, and integrations that send finished designs to the fab.
Requirements
Strong Rust, or serious C++/systems experience and the obvious curiosity to go deep in Rust. Solid systems fundamentals: memory, performance, concurrency. You profile before you optimize. You've taken something slow and made it fast, and you can tell us about why it was slow. A track record of non-trivial software you built from scratch and can walk us through end to end. The weird side project, engine, or tool you wrote because the existing one annoyed you.
- A game, engine, or real-time background: ECS, scene graphs, spatial indexing, physics engines, frame budgets, GUI, low-latency input.
- Some EE, analog and digital.
- You don't need to be a chip designer.
- Time lived inside deep, serious software, and opinions about it: Blender, Ableton, KiCad, CAD tools, DAWs, game engines.
- Distributed or real-time systems: write-ahead logs, event sourcing, replication, CRDTs, OT, websockets.
- Data pipelines.
- Geometry, graph, and routing algorithms; spatial data structures; optimization.
- Familiarity with schema evolution and serialization formats like Protobuf, Flatbuffers, Cap’n Proto.
- Graphics and visualization: turning big, complex datasets into something legible, fast, and even beautiful on screen.
- Custom rendering, shaders, GPU pipelines (WebGPU, Vulkan, OpenGL).
- An interest in version control, not just using Git but how it works underneath.
Qualifications
A portfolio (GitHub is fine) is required.
We currently use things like: Bevy's ECS, wgpu, Axum, WebAssembly, PostgreSQL.
Skills
None specifically listed, but strong Rust skills are required.
Benefits
Not specified in the job posting.
Pay
$108K - $126K
Schedule
Not specified in the job posting.