Production-ready code for scientists: 3 lessons learned