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’