About Us
Zoo is building the next generation of hardware design tools redefining how hardware products are designed, developed, and built. Our platform combines a modern, cloud-native CAD environment with AI-powered engineering workflows, helping teams design, iterate, and manufacture products faster than ever before. We are headquartered in Los Angeles, CA with both a local and remote team. We were founded and incubated by Embedded Ventures in 2021.
About You
We’re looking for curious, innovative, and ambitious self-starters to join our growing team to help us bring our mission to life. We think you’ll thrive on our team if you’re:
- Curious at your core, with an eagerness to learn and do things differently
- Customer-focused, always thinking about ways to improve the user experience
- Able to operate autonomously and work asynchronously, while also being an effective team player
About The Role
We are seeking a Software Engineer with deep expertise in functional programming languages, interpreters, and modern web technologies to help shape the future of our next-gen CAD software. In this role, you'll work on KCL, our new programming language for 3D design. You'll help design language features, identify and improve rough edges or hard-to-use features, and improve its interpreter runtime. You'll also integrate KCL into its purpose-built IDE, Zoo Design Studio, allowing users to build KCL programs using a familiar point-and-click GUI. You can get a feeling for KCL in the KCL book. You’ll work across Rust, WebAssembly and TypeScript building advanced developer-centric features. This is a highly collaborative role where you’ll partner with our team to push the boundaries of interactive, code-driven design.
What You’ll Do
- Integrate the interpreter for a domain specific language (DSL) with a GUI written in TypeScript
- Implement code-mods and other code refactoring tools
- Add features and maintain an interpreter written in Rust, running in WebAssembly
- Maintain a language parser and syntax highlighting
- Develop and optimize the frontend of our modeling app, focusing on performance and user experience
- Collaborate with backend teams to design and implement robust APIs that support the app's code-driven design functionality
- Enhance the app's UI/UX by leveraging TypeScript, React, and XState, ensuring that the interface is both powerful and easy to use
- Develop delightful CodeMirror extensions that bridge the gap between the user's code and the 3d-model
- Implement advanced AST/code-mods, CodeMirror enhancements, and deep integration with WebAssembly (Wasm) for performance improvements
- Utilize XState for state management to maintain app consistency and reliability across various user interactions
- Apply a deep understanding of JavaScript and browser internals to improve app functionality and performance
What You’ll Need
- B.S. Computer Science or a related field, or equivalent professional experience
- Demonstrated professional experience and proficiency in software development contributing to highly scalable and reliable systems
- Proficiency with Rust, and Javascript/Typescript
- Experience with functional programming languages
- Knowledge of language parsers and interpreters
- Knowledge of AST driven code-mods
- Experience with Git
- Solid understanding of modern techniques and algorithms related to workflow design
- Familiarity with libraries and tools for programming language interoperability
- A testing-based and automation-focused approach to engineering