@phdthesis {23941,
	title = {Measuring Programming Skill},
	year = {2015},
	month = {05/2015},
	school = {UiO},
	abstract = {Skilled developers are important to the software industry. In empirical studies in softwareengineering, knowing the skill level of the participants is also important for correctinterpretation of results. The current practice in industry and research for assessingprogramming skills is mostly to use proxy variables of skill, such as education, experience,and multiple-choice knowledge tests. There is as yet no valid and efficient way to measureprogramming skill. Consequently, this thesis aimed to construct a valid instrument formeasuring programming skill, where skill is inferred from performance on programmingtasks.The Rasch measurement model was used to construct the instrument. Sixty-fiveprofessional developers from eight countries participated in validating the instrument,solving 19 Java programming tasks over two days. The validity of the instrument wastheoretically investigated through commercial and research-based tests. Programmingskill, as measured by the instrument, was also investigated in terms of experience andother background variables.The instrument was found to have desirable psychometric properties, and the overallresults appear well aligned with theoretical expectations. This work has shown thatacceptable measures of programming skill may be obtained with less than one day oftesting. Further work should be directed at reducing the time needed to measure programmingskill without a↵ecting the validity of the instrument. The results of the researchhave already been transferred to the industry through a commercial prototype.},
	author = {Gunnar Rye {Bergersen}}
}
@article {Simula.simula.2934,
	title = {Construction and Validation of an Instrument for Measuring Programming Skill},
	journal = {IEEE Transactions on Software Engineering},
	year = {2014},
	publisher = {IEEE Transactions on Software},
	abstract = {Skilled workers are crucial to the success of software development. The current practice in research and industry for assessing programming skills is mostly to use proxy variables of skill, such as education, experience, and multiple-choice knowledge tests. There is as yet no valid and efficient way to measure programming skill. The aim of this research is to develop a valid instrument that measures programming skill by inferring skill directly from the performance on programming tasks. Over two days, 65 professional developers from eight countries solved 19 Java programming tasks. Based on the developers{\textquoteright} performance, the Rasch measurement model was used to construct the instrument. The instrument was found to have satisfactory (internal) psychometric properties and correlated with external variables in compliance with theoretical expectations. Such an instrument has many implications for practice, for example, in job recruitment and project allocation.},
	author = {Gunnar Rye {Bergersen} and Sj{\o}berg, Dag Ingar Kondrup and Dyb{\r a}, Tore}
}
@inproceedings {Simula.prepare.14,
	title = {Inferring Skill From Tests of Programming Performance: Combining Time and Quality},
	journal = {Proc. 5th Int{\textquoteright}l Symp.Empirical Software Engineering and Measurement (ESEM)},
	year = {2011},
	pages = {305-314},
	publisher = {IEEE Computer Society},
	type = {Conference},
	abstract = {The skills of software developers are crucial to the success of software projects. Also, controlling for individual differences is important when studying the general effect of a method or a tool. However, the way skill is determined in industry and research settings is often ad hoc or based on unvalidated methods. According to established test theory, validated tests of skill should infer skill levels from welldefined performance measures on multiple small, representative tasks. We show how time and quality can be meaningfully combined as task performance, and subsequently aggregated into an approximate measure of programming skill. Our results show significant and positive correlations between our proposed measures of skill and variables such as seniority, lines of code written, and self-evaluated expertise. The method for combining time and quality are a promising first step to measuring programming skill in industry and research settings.},
	isbn = {978-1-4577-2203-5},
	author = {Gunnar Rye {Bergersen} and Jo Erskine {Hannay} and Sj{\o}berg, Dag Ingar Kondrup and Dyb{\r a}, Tore and Karahasanovic, Amela}
}
@article {Simula.simula.215,
	title = {Programming Skill, Knowledge and Working Memory Among Professional Software Developers From an Investment Theory Perspective},
	journal = {Journal of Individual Differences},
	volume = {32},
	number = {4},
	year = {2011},
	pages = {201-209},
	abstract = {This study investigates the role of working memory and experience in the development of programming knowledge and programming skill. An instrument for assessing programming skill where skill is inferred from programming performance was administered along with tests of working memory and programming knowledge. We hired 65 professional software developers from nine companies in eight European countries to participate in a two-day study. Results indicate that the effect of working memory and experience on programming skill is mediated through programming knowledge. Programming knowledge was further found to explain individual differences in programming skill to a large extent. The overall findings support Cattell{\textquoteright}s investment theory. Further, we discuss how this study, which currently serves a pilot function, can be extended in future studies. Although low statistical power is a concern for some of the results reported, this work contributes to research on individual differences in high-realism work settings with professionals as subjects.},
	author = {Gunnar Rye {Bergersen} and Gustafsson, Jan-Eric}
}
@inproceedings {Simula.simula.273,
	title = {Combining Time and Correctness in the Scoring of Performance on Items},
	journal = {Probabilistic models for measurement in education, psychology, social science and health},
	year = {2010},
	publisher = {Copenhagen Business School and the University of Copenhagen},
	type = {Conference},
	isbn = {000-0-000-00000-0},
	author = {Gunnar Rye {Bergersen}},
	editor = {Nielsen, Tine and Kreiner, Svend and Brodersen, John}
}
@inproceedings {Simula.simula.275,
	title = {Detecting Learning and Fatigue Effects by Inspection of Person-Item Residuals},
	journal = {Probabilistic models for measurement in education, psychology, social science and health},
	year = {2010},
	publisher = {Copenhagen Business School and the University of Copenhagen},
	type = {1},
	isbn = {000-0-000-00000-0},
	author = {Gunnar Rye {Bergersen} and Jo Erskine {Hannay}},
	editor = {Nielsen, Tine and Kreiner, Svend and Brodersen, John}
}
@misc {Simula.se.753,
	title = {Inferring Programming Skill From Programming Performance: Construction and Validation of a Rasch-Based Assessment Instrument},
	howpublished = {Invited lecture},
	year = {2010},
	month = {February},
	author = {Gunnar Rye {Bergersen}}
}
