Terraform is automating on-site construction with robotics and software. Our mission is to make construction primarily software-defined and work towards a future where beautiful, bespoke buildings are built within a single day with minimal labor.
We're in the first days of building the company and we are recruiting for the early engineering team. This is a unique opportunity to be one of the first ten employees at a startup be immersed in a high-growth, high ambition startup environment, and to work with an experienced founding team surrounded by top-tier investors from day 1.
About this role
At Terraform, we’re building an operating system for on-site construction through robotics. Our frontend runs simulations and controls our robots through a digital twin environment, all written in TypeScript and running in the browser.
Some examples of what you’ll be working on:
Model real-world elements, from piles of bricks, to scaffolds blocking the way and of course, our own robots, in a 3D environment that renders in the browser using Three.js.
Get our compiled and optimized path planning and other low-level embedded Rust code running in the browser through WebAssembly.
Optimize performance of the client by offloading work to Web Worker threads or figuring out memory leaks.
Build ad-hoc visualizations to help us understand where we are in time, space or other relevant dimensions.
What you'll be responsible for
Writing and owning clean, idiomatic and typed TypeScript code that can serve as a long-term foundation for our visualization engine.
Prototype and build interfaces for internal use to run and debug running hardware.
Debugging and performing root cause analysis of memory leaks, crashes and other problems.
Taking full ownership of a project, going from idea to prototype to finished project.
What we’re looking for
Proven experience in building complex web applications in the browser in idiomatic TypeScript.
Experience with 3d graphics, ideally in the browser (e.g., Three.js or WebGL) or otherwise in other programming environments (e.g. Unity)
Familiarity with the modern web stack (e.g. webpack and yarn)
Software engineering skills and best practices. You use git for version control, know how to do unit tests or how to automate deployment of your code.
Basic familiarity with Linux systems and conventions. E.g., you’re comfortable ssh’ing into other machines to figure out why something isn't working.