VISTA is a wide-field survey telescope with a 1.6° field of view, sampled with a camera containing a 4 x 4 array of 2K x 2K pixel infrared detectors. The detectors are spaced so an image of the sky can be constructed without gaps by combining 6 overlapping observations, each part of the sky being covered at least twice, except at the tile edges. Unlike a typical ESO-VLT instrument, the camera also has a set of on-board wavefront sensors. The camera has a filter wheel, a collection of pressure and temperature sensors, and a thermal control system for the detectors and the cryostat window, but the most challenging aspect of the camera design is the need to maintain a sustained data rate of 26.8 Mb/second from the infrared detectors. The camera software needs to meet the requirements for VISTA, to fit into the ESO-VLT software architecture, and to interface with an upgraded IRACE system being developed by ESO-VLT. This paper describes the design for the VISTA camera software and discusses the software development process. It describes the solutions we have adopted to achieve the desired data rate, maximise survey speed, meet ESO-VLT standards, interface to the IRACE software and interface the on-board wavefront sensors to the VISTA telescope software.