In this paper, the author discusses two types of challenges facing software engineers as they develop software for scientists. The first type is those challenges that arise from the experience that scientists might have of developing their own software. From this experience, they internalise a model of software development but may not realise the contextual factors which make such a model successful. They thus have expectations and assumptions which prove challenging to software engineers. The second type is those challenges which, while not unique to the development of software for scientists, have especial significance in the context of such development. These include the challenges of ensuring effective user engagement and of developing software for a community.