Language (software) Engineer

  • Vakgebied IT
  • Dienstverband Fulltime
  • Vacaturenummer VAC-10011352
  • Locatie Venlo
  • Type overeenkomst Secondment via YER, Interim/independent
  • Branche IT & Telecom

Over deze vacature

For Canon Production Printing we are recruiting a Language (software) Engineer.


You will be part of the R&D team that develops the Domain Specific Languages that support the specifications and analysis for our product development. As these DSLs are used in product development, you will interact with many people inside our international R&D. You will work in a small core team of language engineers, and interact with domain experts in the product development. The work covers the development and maintenance DSLs, simulators, visualizations and analysis techniques.

You are responsible for designing, implementing and maintaining DSLs to support product development.

For example, you may work on a DSL that describes the interface between software and mechanics, to define and analyse the handling of sheets for a production printer (making over a 100 A4 prints per minute). This interface includes a runtime C++ generation target. Or you are asked to design a new DSL that captures another part of the printing domain


Canon Production Printing makes printers for professional markets, for document printing, transaction printing, and graphic arts, like printing books on demand, magazines, or custom designed wall paper.

The design of the mechanical, electronic and software aspects of such production printers requires interdisciplinary cooperation. Domain Specific Languages are used in the internal R&D product development to improve the time-to-market and to capture and reuse design knowledge for future product lines. These design specifications are turned into software artefacts, and are used for simulation and analysis purposes in both early and late stages of the product development.


  • To be discussed


We are looking for someone who can understand the immediate needs of the product development, and turn these needs into reusable DSL features. This person needs to be result driven and able to balance between quality and time, yet not compromising on quality. Besides that, he/she needs to have:

  • Master degree in Computer Science or equivalent level of abstract reasoning
  • A minimum of 2 years of experience with language engineering
  • Experience in modern Software engineering methods and processes (agile/scrum)
  • Fluent in English, verbal and written
  • Eligible to work in Venlo
  • Available 40 hours per week

The candidate must have large expertise in:

  • Language Engineering (preferably JetBrains MPS)
  • Java
  • C++
  • Python
  • Git

A big plus would be expertise in:

  • Cloud technology (Kubernetes)