Re:Build Manufacturing is focused on rebuilding America's manufacturing base and creating sustainable jobs. The role involves developing software for automating CNC machining processes and performing complex 3D engineering design tasks using advanced algorithms.
Responsibilities:
- Develop software to automate the CNC machining process
- Develop algorithms that can perform 3D engineering design analysis tasks in a generalizable manner
- Develop algorithms to perform toolpath planning for CNC machines
- Develop algorithms to transform 3D CAD models into alternate formats
- Develop and implement 3D CAD model feature detection algorithms
- Generate and characterize synthetic datasets of 3D models
- Write robust, well-documented code using standard tools such as BitBucket, Jira, etc
Requirements:
- Curious self-starter who can solve open-ended problems through a combination of high-contribution independent work and integration with small teams
- Undergraduate Degree in a technical field (such as engineering, computer science, math, or general sciences)
- Master's degree or higher in a technical field (such as engineering, computer science, math, or science)
- 5+ years of software engineering experience in a geometry-intensive domain (CAD / CAM / graphics)
- Hands-on work experience with engineering topics including design engineering, design for manufacturing, and process engineering
- High proficiency and hands-on experience programming production-level code in C/C++, and in at least one additional general-purpose programming language (such as C#, Java, Python etc.)
- Hands-on work experience writing custom software code that utilize major CAD engines (e.g., Parasolid, Open Cascade, ACIS) and major CAD application software development kits (e.g., SolidWorks, Fusion360, Siemens NX, etc. API/SDK). Day 1-ability to use the Open Cascade C++ libraries is mandatory
- Hands on practical experience and familiarity with advanced manufacturing processes such as CNC machining
- Hands-on work experience in engineering design
- Hands-on work experience with software development for multiple major 3D data categories, such as CAD, CAM, graphics, 3D scanning, simulation of 3D physical phenomena, mechanical-interacting control system design and modeling. Boundary Representation CAD software development experience is mandatory
- Power-user-level experience with Computer-Aided Design (CAD) and Computer-Aided Manufacturing (CAM) software
- Mechanically focused background (such as mechanical engineering, physics, design engineering, or experience in a machine-shop/factory)
- Expert level knowledge with manufacturing workflows
- Expert level knowledge with optimization algorithms
- Experience developing and deploying custom plugins for CAD / CAM software
- Experience with automating engineering design and analysis
- Experience with both desktop and container-based / cloud-based development workflows