As part of 3D Systems' innovative journey towards next-generation software solutions for managing and utilizing 3D Printers, this Software Development Engineer role is pivotal within a small team dedicated to architecting, designing, developing, implementing, deploying, and maintaining software for a 3D printer. This multifaceted role encompasses elements of firmware, PC-hosted software, and cloud-hosted software.
Primary Job Functions:
Responsible for real-time software control of hardware within an embedded development environment.
Collaborate with software, print process, and electro-mechanical development teams to define embedded software functional requirements and platform architecture.
Architect, design, develop, implement, and validate software for systems supporting the product delivery process.
Develop real-time control software to coordinate all sub-systems of the 3D printer, ensuring full stack code execution via simulation and device emulation.
Develop new device drivers as necessitated by electronic and mechanical designs.
Support the development of software requirements and project plans, including schedule dependencies, deliverables, and target dates.
Draft technical software specifications for product designs.
Integrate and validate product designs with other project team members, collaborating with cross-site functional teams.
Support software QA/test methodologies.
Working Environment/Physical Demands:
Occasional travel to company and engineering partner facilities may be required.
Safety Requirements:
Compliance with all safety standards and rules.
Prompt reporting of all injuries to supervisor and Human Resources within 24 hours.
Adherence to the Company's Code of Conduct as a fundamental business practice.
Additional Information:
This position offers the opportunity to work on cutting-edge embedded systems for a leading company in additive manufacturing. We provide a dynamic and collaborative work environment where innovation is encouraged, and career growth is supported. Join our team and contribute to the development of groundbreaking products that make a difference in the world.What You Will Bring
Education and Training:
Bachelor's degree in Computer Engineering, Computer Science, or related field required.
Master's degree in Computer Science, Computer Engineering, or Electrical Engineering preferred.
Experience:
Minimum of 7+ years of experience in embedded systems programming.
Application development experience using multi-threaded and real-time operations.
Familiarity with source control systems such as Git, SVN, Perforce, or similar.
Knowledge, Skills & Abilities:
Technical:
Proficiency in firmware development using C/C++.
Experience in real-time embedded software development.
Knowledge of embedded systems design with preemptive, multitasking real-time operating systems.
Familiarity with C, C++, Python, Object-Oriented Design, GUI Development, Linux, MS Windows, and Networking Protocols. Web Technologies knowledge is advantageous.
Demonstrated proficiency in modern software development processes, including software configuration management tools and defect tracking tools.
Excellent verbal and written documentation skills, with experience in developing and presenting to engineering teams.
Proficiency with core business-use tools such as Jira and Confluence.
Understanding of print processes and imaging pipelines is beneficial.
Architecture:
Understanding of modern software development processes, including software configuration management tools and defect tracking tools.
Experience in requirements development and interface design.
Proficiency in system architecture development from concept to production.
Knowledge of low-cost designs and design leverage across multiple platforms.
Skills in software interfacing and system-level debugging.
The Good Stuff!
In addition to a competitive salary, this position is eligible for an annual bonus based upon company performance.
3D Systems offers a comprehensive benefit package including medical, dental, and vision coverage, company-paid short-term and long-term disability insurance, and company-paid basic life insurance. Flex (Vacation) Time, Sick Leave, FAMLI Leave, Parental Leave, and 9 holidays per year are provided as paid time off. 3D Systems also provides a 401(k) Retirement Savings Plan option with a company match. Educational assistance and supplemental health and life plans are available.