Seeking software engineer to help build CNC machining engine (Remote)

Preparing a part to be CNC machined is way harder than it should be. Toolpath Labs is building next generation automated machining tools to make CNC machining as easy as 3d printing.
Our software will help our users (engineers, product designers, makers) go from a digital model of a part to g-code they can run directly on a CNC milling machine.

Our tech stack is Julia on the backend for the expensive computational work (a mix of CPU and GPU) and React on the frontend. We are seeking a (remote) software engineer to help develop the Julia backend — focused on implementation of core algorithms to interrogate geometry and plan machining toolpaths. You’ll also get the chance to be part of the actual machining process as well, getting to see the software in action.

It’s an incredibly interesting problem that mixes computational geometry and discrete optimization. Experience with scientific computing in any language (for example, Python), high-performance computing, GPU acceleration, and/or computational geometry (3D game programming likely translates nicely) is a huge plus.

We’re founder-funded, extremely early stage, and building an exciting product from scratch that solves a massive pain point in manufacturing.

Full Time salary range: $80k-$120k
Remote work

We are open to contract and full-time employment; if you are applying as a contract employee, please let us know your availability and rate (in USD).

Sound cool? Id love to talk to you about it! Contact


CNC means …?


Yes, Computer Numerical Control. Its an admittedly odd term that comes from the early days of computer controlled machining (1970’s). Back then state of the art was to use the computer to operate the milling machine or lathe machine for you, instead of using hand wheels.

This was done by programming G-code files by hand (e.g. "go strait for 2 cm; make a 4cm radius turn; …). The goal was to automate the same machining that you would do manually. As things evolved, CNC planning got much more advanced and tied in with 3d graphics and CAD. We still use the same ascii-gcode formats we did back then, but now we use more complex software to generate them.

When you use modern software the historical ties back to manual machining is very clear. That is the paradigm that the codes were built from. Its fairly labor intensive, and has a pretty high learning curve. There is a better way though. Modern 3D printer slicing software has proven that you can automatically handle complex geometries. Our goal is to bring that kind of streamlined ease of use to CNC machining.


And to see where this goes in terms of vibration, take a look at some recent research. When the cutting head vibrates, the machining becomes non-uniform. When this non-uniform machined part comes back to the cutting head it can act as an exciter. This is known as self-excited vibration. For all those time delay differential equation aficionados out there…
Seriously, I read on discourse about the fantastic differential equation solving libraries, and then the ability to find the coefficients for these equations using machine learning and wonder what the possibilities are and where will they end.
Julia could be a fantastic tool if the research goes in this direction…