Ten years ago I started a journey of facing one of my personal demons: I was convinced I did not like programming. Out of social software engineering approaches, I experimented with ensemble programming with my team, convinced I would hate it while others may need it. Little did I know - it rewired my brain and rewrote my history. I have been programming since I was 14, in at least 16 languages. While I needed the social setting and cognitive dissonance to change my mind, I have learned so much in the last 10 years working hands-on with other developers on the same work at the same time.
Ensemble programming - a group activity utilizing one computer - creates mindshare by giving voice of the knowledge in the group of individuals on a shared task. It makes a great mechanism not just for passing knowledge but also for building habits and transferring skills. Working on the same thing, at the same time, in the same space and at the same computer allows unusual contributions.
I wrote a book on what I learned and taught forward. So in this talk, we look at what are the pieces I collected as advice from now 10 years of ensemble programming.