Developers often find themselves lost as they navigate around large programs, particularly when those programs are unfamiliar. This paper presents a new visualization, called a software terrain map, intended to keep a programmer oriented as she navigates around source code in the editor. The design is based on the metaphor of cartographic maps, which are continuous (no wasted space), have enough visual landmarks to allow the user to find her location perceptually rather than cognitively, and lend themselves to overlaying data. Although an optimal layout for software terrain maps is computationally intractable, the paper presents an efficient, heuristic algorithm that produces good results.