Gamifying Software Engineering Tasks Based on Cognitive Principles: The Case of Code Review Code review is an important task in software development. However, performing code review is perceived, for the most part, as an undesired task, presenting several challenges to the required collaboration and knowledge transfer between programmers and reviewers. In order to overcome these challenges and improve the effectiveness of code review, we developed SCRUT: Social Code Review Unifying Tool. By recruiting relevant cognitive theories and implementing gamification elements to motivate collaboration and knowledge sharing between programmers and reviewers, we plan to enhance the task of code review. This paper presents our vision for enhancing software engineering via gamification, and the theoretical cognitive foundation on which this vision is based, starting with the example of code review