Specialist, Embedded Software Engineer

Wilsonville, Oregon


Employer: 3D Systems Corporation
Industry: 
Salary: Competitive
Job type: Full-Time

Description

JOB SUMMARY:

As part of 3D Systems' innovative journey towards next-generation solutions utilizing 3D printers, this Software Development Engineer role is pivotal within a small team dedicated to architecting, designing, developing, implementing, deploying, and maintaining embedded software for a family of 3D printers. This multifaceted role encompasses elements of firmware, PC-hosted software, and cloud-hosted software. We seek a well-rounded engineer with a broad, generalist skill set including the full stack dev from hardware interfaces and device drivers up to the user-space application level.

PRIMARY JOB FUNCTIONS:

  • Responsible for various aspects of real-time software control of hardware I/O in an embedded development environment.
  • Work 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 as well as final hardware integration testing.
  • 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




Qualifications

JOB QUALIFICATIONS:

Education and Training:

  • Bachelor's degree in Computer or Electrical engineering, Computer Science, or related field required.
  • Master's degree in Computer Science, Computer Engineering or Electrical Engineering preferred.


Experience:

  • Minimum of 10+ years of experience in embedded systems programing.
  • Application development 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 Python, Rust, Object-Oriented Design, GUI Development, Linux, MS Windows, and Networking Protocols. Knowledge of Web Technologies 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.
  • Experience with networking protocols such as Ethernet, TCP/IP, UDP, and RTP.
  • Proficiency in low-level software with an aptitude for interfacing with hardware, well-acquainted with protocols like PCIe, SPI, I²C, and RS-232.
  • Experience with Docker-based build and run-time for cloud-based processing is a plus.


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.


Laboratory:

  • Basic knowledge of laboratory instrumentation (oscilloscopes, logic analyzers, spectrum analyzers, waveform generators, etc.).
  • Skills in software interfacing and system-level debugging.


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!

Created: 2024-06-14
Reference: 24000088
Country: United States
State: Oregon
City: Wilsonville


Similar jobs: