A Padawan Programmer's Guide to Developing Software Libraries

James T. Yurkovich, Benjamin J. Yurkovich, Andreas Dräger, Bernhard O. Palsson, Zachary A. King

Research output: Contribution to journalJournal articleResearchpeer-review

218 Downloads (Pure)


With the rapid adoption of computational tools in the life sciences, scientists are taking on the challenge of developing their own software libraries and releasing them for public use. This trend is being accelerated by popular technologies and platforms, such as GitHub, Jupyter, R/Shiny, that make it easier to develop scientific software and by open-source licenses that make it easier to release software. But how do you build a software library that people will use? And what characteristics do the best libraries have that make them enduringly popular? Here, we provide a reference guide, based on our own experiences, for developing software libraries along with real-world examples to help provide context for scientists who are learning about these concepts for the first time. While we can only scratch the surface of these topics, we hope that this article will act as a guide for scientists who want to write great software that is built to last.
Original languageEnglish
JournalCell Systems
Issue number5
Pages (from-to)431-437
Publication statusPublished - 2017


Dive into the research topics of 'A Padawan Programmer's Guide to Developing Software Libraries'. Together they form a unique fingerprint.

Cite this