This book presents a collection of best practices and lessons learned from the computational science community. For practitioners who develop software as part of computational science research, and also relevant to PhD students, research software engineers, postdoctoral researchers, and senior academics who mentor and instruct colleagues.