Senior Software Engineer, Burlington, Massachusetts
A company working within the metal additive manufacturing industry is looking for a Senior Software Engineer with responsibilities for defining and executing critical milestones in the lifecycle of the software suite.
As the company has only recently started to scale its software team, you will be required to take ownership of creating, maintaining and updating complex software in this role.
This role’s objective is to develop cutting-edge software allowing efficient workflow from 3D CAD models to printed parts. Therefore, you will be working with the additive manufacturing process control experts to continually develop and improve the AM process.
You will be implementing optimized algorithms for generating machine control paths that meet the needs on an industrial additive manufacturing machine. You will be creating 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 the printers.
Generating and maintaining documentation of designed tools and projects will also be a key aspect of this position.
The requirements for this role include the following experience:
- 5+ years of experience in software development
- Must have a competent background in C++ (C++11/14/17, STL) and 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 an 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
- Self-motivated with a great sense of ownership and capable or setting and reaching ambitious goals
- Team player with great communication skills
- Experience working with a diverse, multi-cultural and multi-functional team
- Eager to learn new skills and refine existing skills