리처드 해밍(Richard Hamming)은 벨(Bell) 연구소에서 수학자와 연구원으로 수십 년을 보냈다. 그는 자신이 모르는 사람들을 찾아내고 그들의 연구에 대해 묻는 것으로 유명했다. 그런 다음 그는 그들에게 자신의 분야에서 답이 없는 가장 크고 시급한 질문이 무엇이라고 생각하는지 물었다. 이 두 가지에 대한 답변이 동일하지 않은 경우 그는 "그럼 왜 그 작업을 하지 않습니까?"라고 물었다.
생물정보학에서 가장 시급한 문제 중 하나는 많은 소프트웨어가 제대로 작성되지 않았고 적절한 문서와 테스트가 부족하다는 것이다. 시간이 지남에 따라 새로운 기능을 추가하고 더 좋고 더 나은 소프트웨어를 출시하는 것이 더 쉬워질 것이기 때문에 타입, 테스트, 린터(linter)를 사용하는 것이 덜 어렵다는 것을 보여주고 싶었다. 최소한 어느 정도의 정확성을 위해 프로그램이 정확할 때 확실하게 알 수 있는 자신감을 갖게 될 것이다.
이를 위해 소프트웨어 개발의 모범 사례를 소개하고자 한다. 나는 파이썬을 매개체로 사용하고 있지만 원칙은 C에서 R, 자바스크립트(JavaScript)에 이르기까지 모든 언어에 적용된다. 이 책에서 배울 수 있는 가장 중요한 것은 우리 모두가 함께 과학 연구 컴퓨팅을 발전시킬 수 있도록 소프트웨어를 개발하고, 테스트하고, 문서화하고, 출시하고, 지원하는 기술이다.