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 companyYou:
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 ideasBonus 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 printingWe Offer:
An inclusive office with diverse and inspiring colleagues Shares in the company (we’re a Unicorn company) Unlimited 3D prints Fun team eventsPerks 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.