In this paper we outline a new kind of challenge for the Psychology of Programming research community: how do we build programming languages to support modelling biological systems? We argue that such systems tend to be tightly coupled, partially understood and highly complex, and as such rather similar to modern software. We consider design challenges of such systems, including designing for reverse engineering, how to assist social processes and the importance of translucent abstractions. Finally, we consider how answers to these challenges may assist in the design of other domain specific languages.