56 - pair programming
Much has been spoken about the pros and cons of pair programming. I have had the good fortune to pair program with some great programmers (Flöre and Kaspar come to mind) but it has always been difficult in the settings I worked in to actually do regular pair programming. I facilitated a couple of coding dojos (I know, I know - should do more…)
I’m not going to rehash all the pros and cons of pair programming, and this entry is not going to be a learned discussion of it - just my experiences.
The last couple of days I spent quality time with Alvaro working on different parts of the Mobino stack. We worked around 5-6 hours each day, and boy were we productive. We ripped through a number of stories, implemented a lot of cool functionality both in the backend and in the mobile apps, and refactored parts of the application (they are better, brighter and shine more now)
This morning we spend 2 hours with some doodling on a couple of pieces of paper and came up with a nice design that solves to major future features of Mobino. We have planned to redo a central piece of the Mobino application (how transactions are stored, and how transactions are handled) in the next couple of days and I’m positive that we will be able to have a working solution in production by the end of next week.
What I experience in pair programming (in the optimal case) is a constant sense of flow. We bounce ideas of each other, critique and improve them, drive towards a simple implementation, won’t be satisfied with code that is ugly and don’t spend time on the tech newstickers of the net during down time (actually, there is no down time). Finishing a pair programming session leaves me deeply satisfied (and just the right amount of tired) and with the great feeling of having accomplished something. I also tend to learn new things, pick up a trick or a tool or a way of looking at things - that makes the experience even more worthwhile.
Highly recommended, and something I will strive to do more of in the future.