Job Title:Embedded Software Engineer
Company Overview: Be at the forefront of additive manufacturing and 3D printing innovation by joining 3D Systems. We are actively seeking a highly motivated Intermediate Embedded Software Engineer to join our dynamic development team. Contribute to cutting-edge software solutions for our state-of-the-art 3D printing systems and be part of a team shaping the future of manufacturing.
Position: Intermediate Embedded Software Engineer
Location(s):
- Wilsonville, Oregon
Experience: 3 years
Responsibilities: As a key member of our software development team, you will contribute to the creation and maintenance of Embedded Software and firmware, focusing on both Windows and Linux environments. Your responsibilities include:
- OS Development and Management:
- Contribute to the design, development, and management of operating systems for embedded systems, ensuring compatibility with Windows and Linux platforms.
- Implement security measures to safeguard embedded systems.
- Collaborate with cross-functional teams, including hardware engineers, for seamless integration of software and firmware components.
- Create and maintain software packages, configuration scripts, and ensure efficient distribution across products.
- Develop and maintain web-based diagnostics and manufacturing tools for software and firmware.
- Collaborate with the printer development team to ensure seamless integration and functionality.
- Work closely with hardware engineers, firmware developers, and other Software Engineers for a cohesive and integrated product development approach.
- Participate in code reviews and provide constructive feedback to team members.
- Document software and firmware development processes, code architecture, and technical specifications.
- Keep documentation up-to-date to facilitate knowledge transfer and project continuity.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- 3 years of professional experience in Embedded Software development.
- Proficiency in C/C and experience with scripting languages like Python.
- Solid understanding of embedded systems, firmware development, and Software Engineering principles.
- Experience with real-time operating systems and embedded systems architecture.
- Knowledge of operating system development, security protocols, and system updates.
- Familiarity with both Windows and Linux environments.
- Experience in Web APIs, web-based diagnostics, manufacturing tools, and cross-team collaboration.
- Knowledge of software development tools, debugging techniques, and testing methodologies.
- Strong problem-solving skills and attention to detail.
- Excellent communication and teamwork skills.
Preferred Qualifications:
- Experience in the 3D printing or additive manufacturing industry.
- Familiarity with ARM Cortex-M microcontrollers.
- Expertise in communication protocols such as UART, SPI, I2C, and USB.
- Knowledge of safety-critical software development standards.
- Experience with agile development methodologies and continuous integration.