Software developers are highly in demand, and finding them is a current challenge for our society.
In an ideal world, developers would already join the workforce as experts, ready to perform their tasks at high-quality levels. However, this is not the case: Studies have shown that it may take around ten years or ten thousand hours of deliberate practice to become an expert. This is clearly too long – it is therefore fundamental to find ways to accelerate this process.
Understanding what constitutes an expert is an essential step towards fulfilling this need. This research project focuses on what constitutes an expert in software quality. Two aspects of software quality are investigated that are central to the software engineering process today: software testing and code review.
The overarching goal of this project is to derive a theory of software quality expertise and to devise interventions to empower all software engineers to test and review code at the expert level. Together with industry partners, it is investigated how effective different interventions are that are aimed at helping developers conduct testing and reviewing at the expert level.
Achieving this goal will have a significant impact on software development: on its foundation it will be possible to accelerate the development cycle, reduce defects in software and improve the overall maintainability and reliability of the software systems on which our society relies.