Aspiring game developers may want to bone up on their interpersonal skills. A forthcoming study from North Carolina State University and Microsoft Research finds that game developers need a suite of non-programming skills – including communication skills – that are considered less important in other fields of software development.
"We wanted to evaluate which skills are important to game developers versus other fields of software development," says Dr. Emerson Murphy-Hill, an assistant professor of computer science at NC State and lead author of a paper on the work. "These findings could influence how we teach aspiring game developers."
Murphy-Hill and two co-authors from Microsoft Research conducted in-depth interviews of 14 experienced developers, including some not employed at Microsoft. These developers had at least two years of experience as game developers and at least two years of experience developing other types of software within the previous 10 years. The researchers used information from these interviews to create a survey that asked programmers about various aspects of their jobs, including which skills they found to be most valuable in their careers.
The research team then surveyed 364 Microsoft developers: 145 game developers, 100 developers who worked on Microsoft Office, and 119 developers who worked on other Microsoft products.
Game developers stood out in several ways.
Almost all of the game developers reported that the ability to communicate with non-engineers was "highly valuable." Similarly, game developers said that their work required a "more diverse team," drawing on expertise from artists, writers, and other non-engineers. Not surprisingly, game developers were more likely to value creativity on their teams.
Game developers were also significantly more likely to report using what they term an "agile" approach to software development – embracing an iterative process in which a project's design is frequently modified during development.
"One of the ideas that came out of this work is to include non-programmers in computer science group projects, so that students can get used to that dynamic," Murphy-Hill says. "Similarly, these findings highlight the importance of helping students develop their interpersonal communication skills, since that would be valuable for them professionally."
Explore further: Detecting and blocking leaky Android apps
More information: Paper: "Cowboys, Ankle Sprains, and Keepers of Quality: How Is Video Game Development Different from Software Development?," people.engr.ncsu.edu/ermurph3/papers/ICSE14_games.pdf
Video games make up an important part of the software industry, yet the software engineering community rarely studies video games. This imbalance is a problem if video game development differs from general software development, as some game experts suggest. In this paper we describe a study with 14 interviewees and 364 survey respondents. The study elicited substantial differences between video game development and other software development. For example, in game development, "cowboy coders" are necessary to cope with the continuous interplay between creative desires and technical constraints. Consequently, game developers are hesitant to use automated testing because of these tests' rapid obsolescence in the face of shifting creative desires of game designers. These differences between game and non-game development have implications for research, industry, and practice. For instance, as a starting point for impacting game development, researchers could create testing tools that enable game developers to create tests that assert flexible behavior with little up-front investment.