Software Engineer (Embedded)
Posted Updated
- As an Embedded Software Engineer at Freeform, you will be responsible for contributing to the architecture of critical embedded software systems that enable our advanced metal 3D printing factories to operate fully autonomously at high speeds with precision
- This entails developing software solutions for hardware control/autonomy, high speed data acquisition, and custom high-performance compute systems. Projects will vary across the stack, so we expect our engineers to be flexible and always put the mission first
- Contribute to the architecture of state-of-the art software for an advanced production-scale metal 3D printing system
- Design and develop the machine instruction interface to the metal 3D printing system hardware
- Develop software to enable the computer vision system, monitor sensor data, perform calibrations, log quality data, and keep track of the health of the printing system over its lifetime
- Work with process and control engineers to integrate control algorithms into production software
- Work with FPGA developers to develop high-speed data acquisition software
- Create software for collection and analysis of process data
- Develop software required to implement production automation solutions
- Develop, unit test, and deploy functional, scalable, robust, and maintainable software
- Generate and maintain documentation of designed software and integrated systems
Benefits
- Significant stock option packages
- 100% employer-paid Medical, Dental, and Vision insurance (premium PPO and HMO options)
- Relocation assistance provided
- Traditional and Roth 401(k)
- Paid vacation, sick leave, and company holidays
- Life insurance
- Generous Paid Parental Leave and extended transition back to work for the birthing parent
- Casual dress, flexible work hours, and regular catered team building events
- Free daily catered lunch and dinner, and fully stocked kitchenette
- 3D printing experience is not required to be successful here - rather we look for smart, motivated, collaborative engineers who love solving hard problems and creating amazing technology!
- 2+ years of professional, post-graduation experience in software development using C/C++
- Experience in real-time embedded system design with Linux OS
- Bachelors in computer science, computer engineering, electrical engineering, applied mathematics, or related field
- Excellent verbal and written communication skills
- Creative thinker able to apply first-principles reasoning to solve complex problems
- Experience writing software for industrial automation systems, robotics, or related hardware
- Excellent knowledge of OS coding techniques, IP protocols, interfaces, and hardware subsystems
- Experience with high-speed data acquisition and real time closed-loop-control systems
- Experience with Rust
- Experience working in a high-performance compute environment (FPGAs or GPUs)
- Experience with PCIe driver development and troubleshooting
