About The RoleWe 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
The salary range for this role is provided below. The final offer will depend on multiple factors including candidate experience, skills, expertise, and market data. Compensation may vary by geography. In addition to salary, we offer competitive equity as well as a full benefits package which may vary by geography as well.
Salary Range
$145,000-$195,000 USD