Programmers often have to perform change tasks that involve unfamiliar portions of a software system’s code base. To help inform the design of software development tools intended to support programmers in this context, we conducted a qualitative study of how programmers manage such change tasks. In the study we observed Java programmers using a state-of-thepractice IDE to work on real change tasks to a mediumsized open source software system. In this paper we present our results, describing eight observations about the programmers’ behavior and the impact of the development environment on their behavior. We also highlight several key challenges faced by the programmers and discuss the implications of our results on the design of development tools.