Software at Carbon: Meet Our Team

Carbon’s technology is challenging the limits of manufacturing, allowing our customers to design, prototype, and produce innovative products that were outside the realm of possibility just a few years ago. Our Carbon Digital Light Synthesis™ (Carbon DLS™) 3D printing process uses a software-controlled chemical reaction to fabricate high-performance parts at any scale, from a single specialized prototype to a mass-produced consumer product sold by the million. Those parts are transformational in their industries: they reduce injuries for athletes, cut development time for new electric vehicles, and save lives through advanced medical devices.

What types of software are needed at a 3D printing company? Many! Software is essential to Carbon’s products, and our software team sits at the center of an interdisciplinary engineering organization that includes chemists, physicists, electrical engineers, industrial designers, and manufacturing experts. Here’s a short list of what Carbon’s software team is currently working on:

  • Powerful cloud-based interactive lattice design software called Carbon Design Engine™, which uses WebGL, three.js, and React, with a compute-heavy backend. Design Engine is built on extensive in-house research that bridges the digital and physical domains, and our customers have used it to develop real-world products like football helmets and bike saddles.
  • The robust, user-friendly interface for our 3D printers, also built on WebGL, three.js, and React. It allows customers to prepare their parts for printing through a browser-based tool, then operate the printer through an embedded interface.
  • Firmware that controls our printers, managing the complex chemical reaction that transforms liquid resin, oxygen, and UV light into high-performance parts.
  • Software that manages and runs large-scale factories, using all of the modern cloud infrastructure (CI/CD, automation, service monitoring, logging, etc.).
  • APIs to enable automation and help our customers make their production more efficient.

We are a close-knit team, with expertise in 3D geometry, web technologies, Linux, embedded systems, and everything in between. The team has a wide range of backgrounds, and we’re always looking to increase the diversity of our team, ideas, and perspectives. Among our values are excellence, teamwork, inclusivity, respect, and transparency. We are highly collaborative and encourage open discussions and pair programming. We thrive when solving challenging problems, and each team member has been able to have a large impact at Carbon and grow their skills and experience at the same time.

Outside the core day-to-day work, we’ve had fun team activities where we escape rooms (real and virtual), play games, and cook delicious food. We also have a variety of employee-started communities at Carbon: baking, bootcamp, yoga, gaming, book club, diversity groups, and many more that you can participate in—or maybe even start your own!

Meet Our Team

Carbon’s software team comes from a wide range of backgrounds at leading technology companies, including Tesla Motors, Google, Uber, IBM, and Snap, as well as university research labs.


Craig Carlson

As CTO, Craig is responsible for the short and long-term technology needs of the company as it scales and continues to introduce industry-leading software and hardware capabilities. He joined Carbon in 2014 from Tesla Motors, where he was VP of Software and Electrical Integration, with responsibility for all low-voltage electronics and all software that powers the Model S—from battery and motor control firmware to the hardware and software that run the Model S in-car displays, to the Tesla mobile apps and server-based systems that connect to Teslas on the road. Craig joined Tesla in 2007 to lead the firmware organization, beginning with the delivery of the first Tesla Roadsters in 2008. Before Tesla, Craig spent 15 years at Intuit, joining when Intuit acquired his small startup to start and lead the development of QuickBooks. Craig was VP of Software Development for QuickBooks and then started, built, and launched QuickBooks Online. Craig received his BS in Electrical Engineering and Computer Science from Stanford University.

Hardik Kabaria

Hardik leads the development of Design Engine at Carbon. He works on a variety of computational geometry and mechanics algorithms including surface and volumetric parameterization, parametrizing topology changes, working with an implicit neural representation of 3D geometry, linear algebra-mixed-integer solvers, PDE constrained optimization tools, and physics simulations based on finite element framework. Before Carbon, he completed his PhD at Stanford University in the field of generating tetrahedral discretization for changing geometries and evolving topologies.


Alex Jiang

Alex leads the QA, automation, print preparation, and on-device web application teams. On the QA side, she manages the team responsible for the quality of our software across the whole stack and for customer software releases. She also manages the automation team that builds testing infrastructure and improves developer productivity across the team. Finally, she leads the development of print preparation software, on-printer, and on-washer software. Alex joined Carbon in 2015 as the first QA and automation engineer and drove early release processes and product decisions. She has enjoyed expanding the software team, and when in the office, loves sharing her baked goods with her coworkers. Prior to Carbon, she worked at NetApp for three years, and prior to that, she completed her BS and Master of Engineering degrees in Electrical Engineering and Computer Science at MIT.

Balaji Cherukuri

Balaji leads the platform engineering team at Carbon. The platform team works on cloud-based APIs, machine APIs, distributed systems, Carbon printer OS (Linux), geometry integration, and more. Prior to Carbon, Balaji worked at Uber (ATG & Data) where he led self-driving maps infrastructure, data schema management, and cluster infrastructure. Prior to Uber, he worked at NetApp and contributed to virtualization, architecture migration, distributed systems, and more. He also worked at Aricent as a software engineer. He received his B.Tech. in Computer Science and Engineering from Jawaharlal Nehru Technological University, India.

Becca Crabb

Becca joined Carbon in 2014 and helped build the web apps that prepare a part to print and operate the printer through the on-printer screen. She added more features to the print preparation software over the years like hole repair, patch supports, and island detection. She led the software efforts for the Smart Part Washer. Currently, Becca leads the development of Design Engine, a lattice design tool. Prior to Carbon, Becca spent two years at Google as an Associate Product Manager. She has a BS in Computer Science from the University of North Carolina, where she also played soccer.

Jens Schmidt

When Jens joined Carbon in 2015 he was part of the team that created the UI for its web-based “prepare-to-print” software using WebGL/Three.js and React. He then led the team that built fleet management and factory automation features used in projects like the adidas 4D midsoles to scale up production to millions of parts. Jens also created Carbon’s first data warehouse, built a robotic automation demonstration using the ROS framework, and most recently led Carbon’s cloud-based manufacturing API efforts. Jens has a broad range of experience from startups to enterprise-level companies and from designing and building web applications to large-scale, complex systems in network management, network security testing, adtech, and manufacturing. Before Carbon, Jens led the Video Advertising Console development at BrightRoll (acquired by Yahoo) and held Director and Engineering Manager roles at Juniper Networks, NetScreen Technologies, and Mu Dynamics.

Ryan Barry

Ryan joined Carbon in 2019, bringing a passion and depth of experience in building and managing cloud infrastructure with him. At Carbon, he leads the DevOps team, which is responsible for building and maintaining systems that support software delivery—that means everything from infrastructure automation to application metrics monitoring to build tooling and more. Ryan has supported the architectural shift toward microservices and facilitated the growth of our cloud footprint from just a handful of applications to dozens. Some of his favorite tools supporting this work at Carbon are Terraform+Atlantis, Kubernetes, and Bazel. Prior to Carbon, Ryan worked in healthcare analytics, advertising transaction platforms, and streaming big-data analytics systems. He received his BS in Computer Science from UC Santa Barbara, and in addition to programming, also enjoys spending his free time on hobbies such as 3D printing, CNC machining, electrical engineering, and digital art.

All Staff or Above Engineers

Brian Li

Brian primarily works on the software customers use to prepare their parts for printing, building out features such as part engraving and auto layout. He has also helped Carbon scale its codebase, continuously improving our build, code formatting, and debugging tools. Before joining Carbon, he was a software engineer at IBM. Brian has a BS in Computer Science from North Carolina State University.

Ian Craven

When Ian joined Carbon in 2014 he was our first dedicated Firmware Engineer and has since performed systems design and led the firmware effort for all generations of Carbon products. Prior to Carbon, Ian was a Principal Firmware Engineer at Tesla, where he worked for nine years on systems and firmware for the development of the original Roadster and Model S. Ian worked for over 25 years before Tesla developing professional video and audio equipment in positions including Founder, Engineering Manager, and Senior VP Engineering. Ian has a BS in Electrical Engineering from the University of Essex and an MS in Systems Engineering from the University of Surrey, both in the UK.

Jörgen Cederlof

Jörgen joined Carbon in 2015 and works on software that runs on printers to interface with hardware to prepare and drive the printing process, as well as networking, factory automation, cloud services, and security architecture and implementation. Prior to Carbon, Jörgen was a Staff Software Engineer at Google, where he worked for nine years in search infrastructure, building backend services for personal search. Jörgen received his MS in Applied Physics and Electrical Engineering at Linköping University, Sweden.

Kiarash Bahmani

Kiarash joined Carbon in 2021 as part of the UI team to focus on UI architecture and implementation. As Carbon grows, our customers are demanding easier-to-use software with higher quality in functionality, user interface, and performance. He works closely with UX, PM, and a broad range of UI engineers at Carbon to create unified and reusable UI components to improve the quality and speed of software development. As part of this effort, Kiarash is working with engineers to define UI standards across Carbon for code quality, coding standards, web performance, accessibility, and responsiveness. Kiarash has a broad range of experience from startups to enterprise-level companies and from designing and building web applications to large-scale, complex systems in e-commerce, network security testing, adtech, finance (traditional and crypto), and online learning. Before Carbon, Kiarash was an engineering lead at Chegg, responsible for designing the architecture and implementation of new products using headless CMS as content management. Kiarash got his BS degree in computer science from overseas and he is passionate about UI architecture and implementation, information architecture, and content management.

Lance Uyehara

Lance joined Carbon in 2015, writing software and firmware for all generations of Carbon products. Lance has worked in various software/firmware-related roles in Silicon Valley for more than 30 years. Lance has a BS in Computer Science and an MS in Computer Engineering, both from Santa Clara University.

Larry Shatos

Larry joined Carbon in 2021 as a part of the Geometry team to work on building a GPU enabled geometry kernel. Larry is a Software Engineer with 30+ years writing software for a wide range of software applications. He has spent several years working in game development on Microsoft Flight Simulator as well as developing simulations and models for Teledesic and Iridium Next satellite constellations. More recently Larry has been developing HPC (High-Performance Computing) software utilizing the parallel compute capabilities of GPUs. In the last 4 years Larry has been designing and writing GPU enabled software for 3D printing workflows and geometry manipulation.

Robert Sage

Robert joined Carbon in 2015 and has worked on most of the layers of the Carbon software stack including printer backend, printer UI, custom part automation, and shared services. Currently Robert is on the Computational Geometry team where he owns the services and APIs used by Design Engine and others to access Carbon’s lattice, mesh processing and simulation tools. A curious and continuous learner, Robert is delighted that all his teammates know more than he does about math, physics, and computational geometry. Before joining Carbon, Robert was Principal Software Engineer at Intuit, where he worked for many years on QuickBooks, QuickBooks Online, Payroll and Payments. Robert recently started learning piano, and gets irritable if he goes too long without some time in the high mountains. Robert received his BA in Philosophy from Stanford University.

3D as It’s Meant to Be