Embedded Software- and Language Developer (m/f/d) for Model-Driven Solutions

Date: 8 Apr 2024

Location: DE

Company: Canon Production Printing


Position description:


Are you ready to take your career to the next level and play a pivotal role in shaping the future of the printing industry?
Join our dynamic and forward-thinking team at our innovation center in Poing near Munich and help drive digital transformation through the development of cutting-edge software for our high-end printing and workflow products.
With a focus on innovation and a passion for excellence, we are dedicated to pushing the boundaries of what is possible in our field.
Apply now and be a part of our multi-site application and system development team. 


What You Will Do


  • Together, we drive forward innovation in the printing industry through the use of advanced printing and workflow software applications. 
  • Hereby you will be part of our software development team which is inventing cutting-edge embedded software solutions for our engines. 
  • Our strategy is to capture as much design and development knowledge as possible in reusable and composable specification models, which serve as the foundation for code analysis and generation across various technology stacks to improve development speed, quality, and adaptability. 
  • As a member of our team, you will be responsible for providing first-line support, keeping our DSL stacks healthy, and constantly evolving and creating new DSLs. 
  • For this we use state-of-the-art development approaches and environments including model-based technique, along with various programming languages and frameworks to develop our software applications
  • We use DSLs across a variety of abstractions and domains, with many specific to the printing industry, and some applicable to broader software domains. Examples of software domain DSLs include state machine modeling, feature modeling, and interface definitions, while specific examples from the printing domain include product definition, finishing steps, and system behavior requirements.


You are responsible for:


  • Design, realization and maintaining of embedded libraries;
  • Keeping the DSL stacks in the product development environment healthy
  • Evolving existing DSL (stacks) and creating new DSLs/stacks; 
  • Providing first-line support in the development team;
  • Establishing and advancing language engineering practices in the application and system development team, synergizing with the wider R&D community, and collaborating with partner companies and the broader MPS language engineering community.


What You Bring


We seek a creative problem solver with the ability to ‘zoom out’ and to rethink software designs on a higher abstraction level to use DSL. A person with a passion for learning new programming languages and technologies. Someone who thrives in a dynamic team environment, and is excited about the opportunity to work with a team of professionals across multiple locations. 
As a software developer, you will have the opportunity to take ownership of your work and deliver high-quality software within functional, architectural, and timing constraints. You will be a proactive team player, constantly looking to support your fellow team and project members. In addition, our ideal candidate should also possess the following skills and qualification.


  • A Bachelor or Master in Computer Science, or Informatics or Electro engineering (or proven experience in this area on similar level).
  • Several years of experience in software development – preferably in embedded area 
  • Extensive knowledge in C++ (preferably up to C++20) and Python
  • Profound experience in domain specific languages (DSL) – design and development
  • Experience with JetBrains MPS or other tool environments in language engineering
  • Knowledge of modelling methods and techniques and (real time) operating systems
  • Experience with Agile development methodologies and working in a fast-paced, dynamic environment
  • Strong English communication and collaboration skills, as the role requires working with colleagues in different locations  
  • Experience with Git, Azure Cloud, Azure DevOps and/or Visual Studio is a plus.


What do we offer you?


  • A challenging, interesting and responsible job in a future-oriented and internationally operating company
  • A working environment in which you can contribute your experience and personality
  • An attractive salary, a flexible working hours model and other social benefits of a large company, such as company pension scheme and work-life balance
  • 30 days' vacation
  • Bike-leasing scheme
  • Discounted job ticket for local transport
  • Individual development prospects and further training opportunities
  • A team that is looking forward to your reinforcement


Are you interested? 

Please submit your cover letter and resume stating your period of notice as well as your salary expectations via the ‘apply now’-button.
Severely disabled people and people with equivalent disabilities will be given preferential consideration if they are suitable. 
Please get in touch with Korbinian Huber for further information:
E-Mail: korbinian.huber@cpp.canon




About Canon Production Printing
Canon Production Printing develops and manufactures high-tech printing products and workflow software for the commercial printing market and is part of Canon, a global provider of imaging technologies and services. Canon Production Printing operates on three continents, with approximately 3300 employees (end 2022) and has its global headquarters in Venlo, the Netherlands.

Further information about Canon Production Printing is available at cpp.canon.