Programmer Experience: A systematic Mapping
Keywords:
Programmer experience, Programming environments, Usability, User experienceAbstract
User eXperience (UX) identifies the perceptions of people over of the use (or even the anticipated use) of a product, system or service. The programmers are users of specific systems, and several types of software development artifacts, such as programming environments and design documents. We performed a systematic mapping about Programmer eXperience (PX). In this work we consider the programmers as a particular type of users, of particular artifacts. We therefore consider PX as a particular kind of UX. The literature usually focuses on PX from a Software Engineering point of view. We analyze PX mainly from a Human-Computer Interaction (HCI) perspective. We reviewed articles about PX, empirical studies related to aspects of PX, and studies addressing PX on programming environments. The results show that there is interest on the PX, but the concept is not yet clearly defined. We found 40 articles published in the last ten years, a small number compared to others Software Engineering or HCI areas. It highlights the need for systematic research in the area. The articles focus on four topics: (i) programmers’ interaction with the integrated development environment, (ii) usability on application programming interfaces, (iii) usability on programming languages, and (iv) articles about programmers’ behavior.