Practice: Pair Programming

February 13, 2018
Software Craftsmanship Pair Programming

Collaboration is one of the most essential concepts behind the Software Craftsmanship. As mentioned in the Software Craftsmanship Manifesto;

Not only individuals and interactions, but also a community of professionals

crafters should be collaborating all the time in order to become a member of community of professionals. This collaboration might be a blog post, an open source contribution or even a pair programming session. Crafters should always learn and teach the ways of the code as the ways of the force in Star Wars.

Today we had a small but effective pair programming session with my colleague Daniel. He asked the question that I avoided to ask myself yesterday; Why did you eject create-react-app?. Once you eject from create-react-app, you are no longer be able to get updates from community. Ejecting is generally not a good idea, but I needed to eject in order to define aliases for relative paths. I failed to configure aliases after ejecting. So, we tried to configure again with Daniel and we have decided to think about it later. A colleague’s perspective usually catches the things you tend to avoid consciously or subconsciously.

I was blinded with my programming habits and I wasn’t trying anything new. This small session let me see this. Daniel suggested functional programming approaches for some utilities in order to achieve better abstractions. It’s fantastic how 30 minutes of collaboration creates a better perspective.

As crafters, any kind of collaboration should be the origin of our daily lives.