Rust Software Engineering Intern, Chip Design Tools
Build full-stack chip design tools in Rust, owning features across interactive editing, collaboration, rendering, and simulation. The internship seeks strong Rust or systems experience, performance and concurrency fundamentals, and a portfolio of substantial software projects.
About the job
Responsibilities
- Build and ship major features across the full Rust application stack.
- Develop interactive, low-latency editing tools using algorithms and computational geometry.
- Design document models that support diffing, merging, and real-time collaboration.
- Build synchronization engines for streaming edits between clients with high bandwidth, eventual consistency, and correctness.
- Develop GPU rendering systems capable of displaying millions of polygons smoothly using spatial indexing, culling, and level of detail.
- Build interactive simulation experiences with streaming waveforms and responsive analysis.
- Contribute to WebAssembly plugin systems, scripting APIs, and fabrication integrations.
- Own features from design through shipping and maintain clean, performant code.
Requirements
- Strong Rust experience, or serious C++/systems experience with the ability and interest to learn Rust deeply.
- Solid systems fundamentals, including memory, performance, and concurrency.
- Experience profiling and optimizing software.
- Track record of building non-trivial software from scratch and explaining it end to end.
- Portfolio required, such as a GitHub repository.
Nice-to-haves
- Game, engine, or real-time software experience, including ECS, scene graphs, spatial indexing, physics engines, frame budgets, GUI, or low-latency input.
- Electrical engineering, analog, or digital experience.
- Experience with complex 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 Protobuf, FlatBuffers, Cap’n Proto, schema evolution, or serialization formats.
- Graphics and visualization experience, including custom rendering, shaders, GPU pipelines, WebGPU, Vulkan, or OpenGL.
- Understanding of version control internals.
Technologies
- Bevy ECS
- wgpu
- Axum
- WebAssembly
- PostgreSQL
Compensation and benefits
- Hourly compensation equivalent to an annualized range of $114,000–$131,000 USD, depending on experience and education; actual earnings vary with hours worked.
- Housing stipend.
- Daily lunches, dinners three times per week, and stocked office kitchen.
- Weekly learning and development opportunities.
- Commuter benefits, including parking and late-night rides from the office.
- Paid time off, including holidays and sick time.
- Visa sponsorship.
- Medical, dental, and vision insurance.
- 401(k) retirement plan.
- Life and disability insurance.
Skills
Rust, C++, Webassembly, Wgpu, Webgpu, Bevy Ecs, Axum, Postgres, Concurrency, Computational Geometry, Gpu Pipelines, Crdts, WebSockets, Serialization
Similar jobs
Fullstack Engineering jobsBuild full-stack applications, tools, and infrastructure for a software-defined semiconductor fab, including systems that control fabrication equipment and analyze process data. The internship requires strong programming skills, systems fundamentals, a project portfolio, and pursuit of a relevant bachelor’s degree or equivalent ability.
Build and ship end-to-end platform features for compliance orchestration, including APIs, data pipelines, vendor integrations, and case-management workflows. The role suits an early-career engineer with production software experience and backend, database, debugging, and deployment skills.
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.
Build and improve internal tools that help Chime support agents understand member context, manage cases, and safely resolve issues. The role requires about one year of software development experience, database familiarity, and exposure to Ruby on Rails or a comparable web framework.
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.