Saturday, May 2, 2020

"To pair or not to pair"

Pair programming is not a new concept; it's very often talked about and throughout our classes, we've been told that we need to learn to work as teams because that's how it works in the industry. However, I don't think we've ever been taught actual pair programming. As the reading suggests, there's a very big difference between the practice and just programming together, and in school, we've mostly done the latter. 

The article talks a lot about how pair programming should be done, and it lists and explains its many advantages. It also mentions that it shouldn't be applied in every scenario, but proposes fixes for the most common "excuses" as to why teams don't do pair programming. Most of those excuses have to do with lack of compatibility between the two team members, which sounds as if you should have no problems with it as long as both parties are comfortable with each other. 

While I do believe pair programming can be very useful when done right, I also believe that it can be harmful to the participants if it's overdone. For one, if a knowledge difference exists, even if both parties are aware of it and are trying to balance it out, it can be very hard not to overstep when you know more, and just as hard to not step back when you know the other person could do it more easily. I think that if it's overdone, it can stunt the growth of both developers, and they would be better off working on different projects. 

However, when done properly, I do believe it can have all the benefits mentioned in the article, and I don't think we've learned about all pair programming has to offer, because as the article says, many businesses are afraid to implement these practices due to concerns of cost or efficiency. In my, albeit short, programming career, I've practiced pair programming a number of times, and although I think it did help me grow as a developer, I don't think I got the most out of it, and that could be due to the fact that I didn't know what the best practices were. That being said, I think properly learning these techniques, and knowing when to use them, can be very useful for both programmers and organizations as a whole. 

No comments:

Post a Comment