To reinvent an industry, you have to build the best team. Join Formlabs if you want to bring ground-breaking professional 3D printers to the desktop of every designer, engineer, researcher, manufacturer and artist in the world.
3D printing requires a complex interplay of software, hardware, and electronics – our embedded engineers are the essential component that ties these teams together. As an Embedded Software Engineer at Formlabs, you’ll collaborate with electrical engineers, systems engineers, and the rest of our software team to build, shape, and define our embedded systems.
Suppose you’re excited to hack on firmware and create elegant solutions to problems on real-world products. In that case, we want you to join the R&D Team as an Embedded Software Engineer.
The Job
Work with a small, multi-disciplinary development team to architect and build software for execution on bare metal, RTOS, or Embedded Linux operating systems
Provide technical leadership on embedded software design and development
Write robust and reliable software that will be shipped to thousands of machines worldwide
Implement best practices for clean, well-documented code
Deliver impactful features to our users by releasing stable firmware updates to thousands of machines
Assess third party and open source software
Make engineering tradeoff decisions and present them to members inside and outside the team
Participate in developing a long-term technology roadmap for the team and company
You
Bachelor's or Master's Degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience
Mastery of C and modern C++, as well as comfortable with Python
Have developed and received feedback on software that was delivered to thousands of customer machines
Ready to collaborate with a wide range of technical disciplines including Electrical and Mechanical Engineering
Familiarity with inter-process communication (IPC) middleware for embedded software services
Proficiently in embedded software development for RTOS and Embedded Linux
Experience in hardware bring-up using interfaces like ADC, GPIO, SPI, I2C, etc.
Experience with Software Development processes including source control, bug tracking, and design documentation
Excellent communication and interpersonal skills, and the ability to present complex technical ideas
Bonus Skills
Experience with any of the following: Linux Kernel, BSP (Board Support Packages), Yocto, OpenEmbedded, Graphics, and Display Drivers.
Experience with concurrent applications in Real Time Operating Systems
Experience using software infrastructure tools such as Docker, Git, CMake
Familiarity with ESP32, STM32, PIC, or NXP microcontrollers
Familiarity with creating robust communication and networking protocols
Security and cryptography
Passion and experience in 3D printing
We Offer
An inclusive office with diverse and inspiring colleagues
Shares in the company (we’re a Unicorn company)
Unlimited 3D prints
Fun team events
Perks are subject to adjustments and may vary from team to team.
We build amazing things. Come join us!
We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, colour, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status. Even if you don't check every box, but see yourself contributing, please apply. Help us build an inclusive community that will change the face of 3D printing.
How strong is your resume?
Upload your resume and get feedback from our expert to help land this job
How strong is your resume?
Upload your resume and get feedback from our expert to help land this job