scientific programmer
Role details
Job location
Tech stack
Job description
As a scientific programmer, you will support the development of software from a technical point of view; the researchers of the EVI project will collaborate with you and provide the research perspective. Besides pure software development (programming), you also take responsibility for ensuring quality and maintainability of the (open-source) software, for example, with respect to architectural design, and by facilitating a process including, for example, Git, testing, code reviews and usage of Docker. Your primary task will be software development for the Haskell library for model-based testing. The library allows the user to (i) write a model of the input-output behaviours a software system is expected to have, (ii) set up the connection with a software system for executing tests consisting of inputs and outputs, and (iii) select test generation algorithms that derive tests from a given model. As a second task, you will work on software development for model learning, and in particular, on the Python library . Model learning is done algorithmically, by sending inputs to and receiving outputs from a software system, such that a model of the actual behaviour of a software system can be constructed. In the EVI project, model learning is combined with model-based testing and model checking to construct such a model efficiently. The EVI project is a collaboration between the University of Twente and Radboud University. As a scientific programmer you will become part of the EVI team with members from both these universities, and you will participate in joined activities. You will be based at the University of Twente, in the Formal Methods and Tools group, where the EVI members focus on the topic of model-based testing.
Requirements
- You have a background at a master's level related to computer science.
- You have experience with programming in Haskell or any other functional programming language.
- You have experience or are willing to learn programming in Python.
- You are familiar with general software engineering practices and techniques, such as Git, testing, code reviews and Docker.
- You have an interest in formal methods such as model-based testing and model learning, and are willing to learn on the job.
- You have a good team spirit and like to work with researchers in an internationally oriented environment.
- You are proficient in English.
Benefits & conditions
- The scientific programmer position is a temporary position with a budget for 0.5fte during 2 years. The number of working days per week is determined in consultation with you. Preferably, you work 2 or 3 days per week. The budget is fixed, so more working days per week result in a shorter duration of your contract.
- The University offers a dynamic ecosystem with enthusiastic colleagues.
- You will be a member of the Formal Methods and Tools research group, a strong research group with an open and welcoming atmosphere.
- Your salary and associated conditions are in accordance with the collective labour agreement for Dutch universities (CAO-NU).
- You will receive a gross monthly salary ranging from €3546,- to €5,538,- for a formal workweek of 38 hours. Based on 0.5 FTE, this will be around €1.866,- to €2.915,- gross per month.
- There are excellent benefits including a holiday allowance of 8% of the gross annual salary, an end-of-year bonus of 8.3%, and a solid pension scheme.
- The flexibility to work (partially) from home.
- A minimum of 232 leave hours in case of full-time employment based on a formal workweek of 38 hours. A full-time employment in practice means 40 hours a week, therefore resulting in 96 extra leave hours on an annual basis. Based on 0.5 FTE, this will be around 147 leave hours.
- Free access to sports facilities on campus.
- A family-friendly institution that offers parental leave (both paid and unpaid).
- We encourage a high degree of responsibility and independence, while collaborating with close colleagues, researchers and other staff., The Formal Methods and Tools group is part of the Computer Science department of the University of Twente. Our mission is to develop mathematical methods, high-performance data structures and algorithms, and suitable programming languages for the design of reliable software- and data-intensive control systems. The group consists of approximately 40 researchers with a very diverse background. We have an open and inclusive atmosphere, with many group activities (both work-related and fun). About the organisation The faculty of Electrical Engineering, Mathematics and Computer Science (EEMCS) uses mathematics, electronics and computer technology to contribute to the development of Information and Communication Technology (ICT). With ICT present in almost every device and product we use nowadays, we embrace our role as contributors to a broad range of societal activities and as pioneers of tomorrow's digital society. As part of a tech university that aims to shape society, individuals and connections, our faculty works together intensively with industrial partners and researchers in the Netherlands and abroad, and conducts extensive research for external commissioning parties and funders. Our research has a high profile both in the Netherlands and internationally. It has been accommodated in three multidisciplinary UT research institutes: Mesa+ Institute, TechMed Centre and Digital Society Institute. Want to know more? Bos, P. van den (Petra) Assistant Professor Bos, P. van den (Petra) Assistant Professor Do you have questions about this vacancy? Then you can contact Petra for all substantive questions about this position and the application procedure. For general questions about working for the UT, please refer to the chatbot.