As a Software Engineer, you will play a key role in a development of software tools and architecture for the world’s most productive metal additive manufacturing systems. You will have far reaching responsibilities for defining and executing critical milestones in the lifecycle of the software suite for our industrial-scale metal printers. Your objective will be to develop cutting-edge software allowing efficient workflow from 3D CAD models to printed parts.
You will work with our additive manufacturing and process control experts to continually develop and improve the additive manufacturing process. You will implement optimized algorithms for generating machine control paths that meet the needs of an industrial additive manufacturing machine. You will create software for collection and analysis of process data. The software you will create will be tailored for, and integrated with the actuation, sensing and control systems of our printers. You will also be responsible for generating and maintaining documentation of designed tools and projects.
You will implement specialized extensions for off-the-shelf software simulation packages for additive manufacturing. This may include integration of third-party software packages into proprietary machine software. Additional tasks may include outsourcing and overseeing outside consulting and contract software services.
We have just begun scaling our software team and hence you will be required to take ownership of creating, maintaining, and updating complex software in this role.
- Self-motivated with great sense of ownership, and capable of setting and reaching ambitious goals
- 5+ years of experience in software development
- Must have a competent background in C++ (C++11/14/17, STL), knowledge of Python is a plus
- Must have high skill and experience with 3D and 2D computational geometry and linear algebra
- Must have experience with developing one or more of: 3D CAD software, CAM software, additive manufacturing CAD software, slicing codebases
- Must have excellent and extensive background in object-oriented programming and design
- BS or MS in Computer Science, Computer Engineering, Mathematics, Robotics or relevant field
- Experience with version control software
- Familiar with the Windows development stack (Windows 10, Visual Studio)
- Experience with OpenGL, graphics programming, particularly in a Windows environment
- Ability to apply theoretical knowledge in a real-life application
- Team player with great communication skills
- Experience working with a diverse multi-cultural multi-functional team
- Eager to learn new skills and refine existing skills
- This is not a remote position and will require the candidate to be located in the Burlington, MA office