Rust Software Engineering Intern, Chip Design Tools
Build end-to-end Rust features for Studio, a collaborative chip-design application spanning interactive editing, synchronization, rendering, and simulation. The internship requires strong Rust or systems programming experience, performance expertise, and a portfolio of substantial software projects.
About the job
Responsibilities
- Build Studio, a browser-based multiplayer platform for designing and assembling chips, using Rust across the stack and WebAssembly for web and native applications.
- Own major features from design through shipping across the full stack.
- Develop low-latency interactive editing tools, including auto-routing, placement, measurement, annotation, and real-time error detection.
- Design a document model that supports source-code-like diffing and merging alongside real-time collaboration.
- Build synchronization infrastructure for streaming edits between clients with eventual consistency, high-bandwidth streaming, and correctness guarantees.
- Develop a GPU canvas capable of smoothly rendering millions of polygons using spatial indexing, culling, and level of detail.
- Build interactive waveform simulation experiences with responsive lightweight analysis and streaming results from heavier solvers.
- Contribute to plugin systems based on sandboxed WebAssembly components, scripting APIs, and integrations with chip fabrication workflows.
- Profile and optimize performance, memory usage, and concurrency.
Requirements
- Strong Rust experience, or serious C++/systems programming experience combined with willingness to learn Rust deeply.
- Solid systems fundamentals, including memory, performance, and concurrency.
- Experience profiling and improving slow software, with the ability to explain the causes and optimizations.
- Track record of building non-trivial software from scratch and explaining it end to end.
- Portfolio required; GitHub is accepted.
Nice-to-haves
- Game, engine, or real-time systems experience, including ECS, scene graphs, spatial indexing, physics engines, frame budgets, GUI development, or low-latency input.
- Electrical engineering knowledge, including analog or digital systems.
- Experience with deep software such as Blender, Ableton, KiCad, CAD tools, DAWs, or game engines.
- Distributed or real-time systems experience, including write-ahead logs, event sourcing, replication, CRDTs, OT, WebSockets, or data pipelines.
- Geometry, graph, routing, spatial data structure, or optimization experience.
- Familiarity with schema evolution and serialization formats such as Protobuf, FlatBuffers, or Cap’n Proto.
- Graphics and visualization experience, including custom rendering, shaders, GPU pipelines, WebGPU, Vulkan, or OpenGL.
- Understanding of Git internals and version control systems.
Compensation and benefits
- Software interns are paid hourly at an annualized rate equivalent to $114,000–$131,000, depending on experience and education; actual earnings vary with hours worked.
- Housing stipend, daily lunches, dinners three times per week, stocked office kitchen, learning and development opportunities, commuter benefits, paid time off, visa sponsorship, medical, dental and vision insurance, 401(k), and life and disability insurance.
Skills
Rust, C++, Webassembly, Wgpu, Webgpu, Postgres, Axum, Concurrency, Gpu Pipelines, Crdts, WebSockets, Protobuf, Spatial Indexing, Graph Algorithms, Opengl
Similar jobs
Fullstack Engineering jobsBuild full-stack applications, tooling, and infrastructure for a software-defined semiconductor fab, including equipment control and process data analysis. The internship requires strong systems programming skills, hands-on project experience, and a portfolio of software work.
Builds developer tooling, evaluation systems, quality gates, and observability infrastructure for agent skills. The role requires production software experience, strong testing and API fundamentals, and familiarity with CLIs, CI/CD, static analysis, or applied AI systems.
Engineering intern pursuing a relevant degree who will build and ship production projects, debug systems, and collaborate with experienced engineers. Requires JavaScript or TypeScript proficiency, strong written communication, independent execution, and regular San Francisco commuting.
Software engineering intern who will own an end-to-end project, write production code, debug systems, and collaborate asynchronously. Requires current pursuit of a relevant degree, strong JavaScript or TypeScript skills, and hybrid availability in San Francisco.
Build and operate scalable, reliable shared infrastructure and platform systems for Yext’s customer platform. The role requires at least one year of software engineering experience, strong software fundamentals, and fluency in a programming language such as Java, Go, C++, or Python.