Overview

Karlsruhe, Germany

The software engineering team at nanoscribe develops software for controlling high-precision 3D printers. The software is a stack of modules that covers everything from a Touch UI over numerical algorithms to the control of different hardware components such as sensors, cameras, etc. The software stack follows a layered client/server architecture and includes different communication protocols between the layers.

As a member of the software engineering team, you will work on various R&D projects, closely to engineers and domain experts. You will have the chance to bring in your own ideas and contribute to product definitions. Your day to day tasks will include:

  • Discussing and clarifying requirements with our internal domain experts
  • Design and development of the control software for our 3D printers mostly at the lower layers of our software stack
  • Design and development of software that interacts with specific hardware components
  • Continuous optimization of the functionalities and quality of the software for better scalability and performance
  • You have successfully completed your studies in computer science, mathematics or engineering
  • You have several years of experience as a software engineer
  • You are fluent in Python and can find your way in large codebase
  • You have advanced analytical skills and an urge to understand the algorithms and the essence of the code
  • Experience with client/server architecture and multi-threaded software is a plus
  • Experience with near-hardware programming, such as interfacing to cameras and sensors is a plus
  • You are motivated, enjoy working in a team, and appreciate ‘clean code’

Source