Developer in Formal Methods and Model-Based Design
Junior / Apprendista

Fondazione Bruno Kessler (FBK)'s logo

Fondazione Bruno Kessler (FBK)

Povo, Trento, Provincia di Trento, Trentino-Alto Adige, 31822, Italia

Di persona

Contratto temporaneo

Research and Development / Information Technology

Descrizione della Posizione Lavorativa

Fondazione Bruno Kessler (FBK) is a private research institution committed to high-quality research across multiple disciplines and to maintaining the Autonomous Province of Trento at the forefront of European and international research activities. Information about FBK research centres and activities is available on the FBK website.

Workplace and Unit

The position is based at the Center for Digital Industry, which focuses on digital technologies for industrial domains (e.g., aerospace, railway, automotive, energy, agriculture, manufacturing). The opening is offered by the Formal Methods for System and Software Research Unit (FM Unit), a team of about 35 people engaged in basic and applied research, tool development and technology transfer in formal methods and model-based design for complex embedded systems.

FBK promotes diversity and inclusion, supports gender equality and is available to evaluate applications from disabled candidates in line with law 68/99, also for technical-scientific roles not exactly matching this vacancy.

Role summary

The FM Unit is seeking a software developer to work mainly on projects in the railway domain, focusing on the design, verification and deployment of systems for rail applications. The developer will support domain experts by:

  • developing methodologies and tools to design, model, implement, simulate, test, configure, deploy and maintain software that controls train and trackside devices in compliance with national and international regulations;
  • designing and implementing software systems that run onboard trains or at trackside.

The successful candidate will actively contribute to the model-based design research line and to the development of software tools or operational systems. They will take part in several industrial projects (for example, the ACC project funded by Rete Ferroviaria Italiana) and may be involved in the following activities:

  • software design and implementation of new features in existing tools;
  • software design and implementation of systems running onboard or at sidetrack;
  • preparing and maintaining technical documentation.

Required qualifications and skills

  • Bachelor degree (or equivalent experience) in Computer Science or IT Engineering;
  • good programming skills in languages such as Java, Python, C++, C, Rust;
  • practical experience with git and standard software development and debugging tools;
  • oral and written proficiency in English;
  • ability to work autonomously as well as in teams;
  • strong relational and communication skills;
  • good organisational and problem-solving abilities.

Additional assets (will be positively evaluated)

  • experience programming plugins for Eclipse;
  • experience with GEF and/or JavaFX;
  • experience with ECore models;
  • experience with model-based design tools and languages (e.g., Scade, SDL, SysML, Stateflow);
  • contributions to or authorship of open-source projects;
  • background or experience in areas such as software engineering, satisfiability and constraint solving, model checking or other formal verification techniques, first-order logic and SMT solvers, formal analysis of hybrid systems, runtime verification and diagnosis, and formal safety assessment.

Employment conditions

  • Type of contract: fixed-term contract;
  • Working hours: full-time (38 hours per week); part-time options can be evaluated;
  • Start date: September 2026;
  • Duration: 6 months with the possibility of extension;
  • Workplace: Povo, Trento;
  • Gross annual salary: about €31,654.24 (full-time), plus performance-related bonus;
  • Benefits include flexi-time, company-subsidised cafeteria or meal vouchers, internal car park, welcome office assistance for visa and accommodation matters, supplementary pension and health fund, social security (SANIFONDS), measures for family-work balance, free training courses, support for bank account opening, discounts on public transport, sport and language course fees, and counselling/psychological support services.

How to apply

Submit your application using the online form at https://jobs.fbk.eu/. Attachments must be in PDF format and include:

  • detailed CV;
  • cover letter explaining your motivation for this specific position.

Applicants are invited to consult FBK's Recruitment Regulations before applying. For questions or technical problems with the application, contact the People Innovation for Research Department at [email protected].

Application deadline

2026-07-22

Employee benefits

  • Flexi-time and company subsidised cafeteria/meal vouchers;
  • internal car park and welcome office support for visa and accommodation;
  • supplementary pension and health fund, SANIFONDS social security;
  • family–work balance initiatives, free training courses, banking support;
  • discounts on public transport, sport and language courses, and counselling/psychological support.

Requisiti

Bachelor degree (or equivalent experience) in Computer Science or IT Engineering; good programming skills (Java, Python, C++, C, Rust); experience with git and development/debugging tools; English proficiency; ability to work independently and in teams; strong communication, organisational and problem-solving skills.

Competenze richieste

  • Competenze professionali
  • Java Python C++ C Rust git Eclipse plugin development GEF JavaFX ECore models Model-Based Design (Scade SDL SysML Stateflow) Model Checking SMT solvers Runtime verification
  • Competenze trasversali
  • Teamwork Autonomy Communication skills Organisational skills Problem solving