checkpoint Number 8 for vald0002

In this practical we worked in a pair-programming environment. This was my first time taking part in programming with another person by my side. I have to say it was a positive experience.

At the beginning of the session of pair programming we needed to discuss which programming language we would work on. We decided to use Java. When we first began programming my partner and I brainstormed ideas about how we could resolve the problem in an efficient way. I think this is a powerful concept in pair programming as an individual developer may encounter problems that are better to discuss with another person. Discussing the different ways to resolve the program allowed both my partner and I to set goals at a faster pace and start programming rapidly.

Whilst programming I could say we develop faster as one programmer is typing and the other is dictating direction. This allowed us to be clear in every aspect of what we wanted to achieve in each line of code. I feel it is a good idea to interchange roles every ten minutes as proposed as this helps the developers to be more creative. 

Some of the challenges that were encountered were occasionally off topic. For instance, we would discuss personal matter, sports, experiences, etc. This unfortunately slowed down our problem solving. However, I could say that due to my partner visiting the US we wanted to find out a little bit more about each other. I feel that in a professional pair-programming environment there is less distraction as the programmers are focused on achieving their goals. 

I enjoyed the dynamic of a pair-programming environment.  Pair programming allowed the programmer to set clear goals, be creative, dynamic and program faster. Our code was more correct as having two people looking at the code allowed us to avoid greater mistakes and implement more efficient code. 

I would propose that the next time I work in a pair related environment that I would suggest a meeting before start coding to discuss what has been done, what are the goals for the day and to keep on track with the project. In addition, I would recommend when pairing programmers for a pair programing session, the programmers have similar skill sets as on accession programmers work at different paces which can slow down the development process. 

In conclusion, I can say that pair programming was a great experience; it has many benefits if applied in a correct and serious manner. I would definitely use pair programming in the future.