Thoughts I had about my Pairing Tour

For the past two weeks, I have been on my pairing tour. This has involved a trip to Nottingham, a trip to Essex and a few days in the office in between. I had written notes about what I did each day, but reflecting on it now that it is almost over, I think I’ve learnt some broader things.

Over the past two weeks I have seen the weirdest code I’ve ever seen. I’ve seen the longest file I’ve ever seen. I’ve seen an if clause that was simply a list of 80 men’s names. I’ve worked in a team where two people were refusing to speak to each other over some strange office politics. I’ve tried to write acceptence tests for a project where we had not nearly enough information. I had a taste of what life would be like if I graduate.

So, what have I learnt?

I’ve never really been a developer. I’ve never worked on a client project, I’ve never been paid for the code I’ve produced. Nothing much has ever depended on my code, other than my own learning. This, hopefully, is about to change. Soon, I will be billable. I will be working on a client project and I will be writing code that is going to be used for something.

One of the main things that the pairing tour has brought up for me is my confidence. There are some things I am confident in. I am confident in my own intelligence, I am confident in my ability and desire to learn and improve, but I am not confident in what I know.

This is strange, because I have spent the last 7 or so months learning. I have spent a lot of time improving, and I have improved. I know I have improved. I know that I know a lot more than I did, but I still find myself questioning whether I know enough.

Throughout the pairing tour I was conscious of the fact that I was not just pairing in order to learn. I was not pairing just as an apprentice, but as a hopefully-almost-craftswoman. The difference was subtle, but it made me feel that, in my pairing sessions, I was not just trying to learn, but also trying to contribute. The pairing tour is a taste of what is, hopefully, to come. I am nearing the end of my apprenticeship. There will not be much of a difference between the person who is pairing now and the person who will be pairing as a craftswoman, and yet I felt that it was really difficult for me to contribute.

More than that, I sometimes felt nervous to contribute, in case I said something wrong and looked like a fool and an idiot. This is not helpful. When pairing as an apprentice, I’m more than happy to look like an idiot. I am honest when I do not understand, and I am willing to offer my opinions when I know that I can back them up, and I am also honest when I am not sure what to do next. This switch, though, made me nervous, it made me stay quiet.

This is not useful. The change between apprentice and craftswoman does not mean that I will stop learning. Even if I graduate, I will not be the finished article. I will never be the perfect programmer, because I will always continue learning. I am allowed to make mistakes, and making mistakes when pairing with a person who knows a lot more than I do is one of the best way to learn. Seeing an unfamiliar codebase and trying to apply the principles I have learnt is really good practice, even if I don’t start off quite right.

When I started my apprenticeship, I knew there was no way that I could reach the level of some of the people in the office in the time of the apprenticeship. They have more experience, they have spent longer learning and working and practicing. One day, maybe I’ll get there. Becoming a craftswoman will not magically make me know everything I want to know.

So, my pairing tour started slowly. I battled with this fear of looking stupid, which is an unfamiliar fear for me. I tried to only say the right things and try to silently understand the things that I did not. There was a weird internal struggle going on and it wasn’t very nice.

As the weeks went on though, I got over this. I encountered problems that I quite literally had no idea where to start to fix, and I learnt from them. I asked questions, I made mistakes, I learnt. I paired with people who honestly blew my mind with how much they knew, and I really enjoyed it. I didn’t right a lot of code, but watched people who are real experts, not just with writing code, but dealing with people and problems. I was still trying to be useful, I was trying to contribute, and was hopefully doing a better job once I was more willing to try regardless of the possibility of doing it wrong.

The next few weeks I will be pairing more consistently, on a project I can get to know and hopefully really be useful on. I’m very glad that I get to experience this, and I hope it will boost my confidence for what is to come.