View on GitHub

reading-notes

Observations and questions from reading assignments.

Home

Reference: Allie Grampa 6 Reasons for Pair Programming

Pair programming is an effective model for learning to program. Developers of varying experience levels can benefit equally as it encompasses an iterative approach to programming. There are two primary roles when it comes to pair programming: The Driver and the Navigator. In terms of physical input, the driver maintains the text editor, version control and file maintenance. The Navigator provides vocal guidance to the driver, focusing primarily on the larger picture and how best to implement an algorithm. A key takeaway is the navigator does not or should not be writing code. In that regard the roles should be clearly specified, and their responsibilities understood prior to beginning.

The model provides several key benefits. Through a collaborative approach to implementing features, development efficiency is increased. Grampa notes, pair programming tends to produce higher-quality code. By discussing an issue aloud, two minds can find a solution far quicker than one could. Not only does this have the added benefit of developer engagement but boost confidence in ones ability in the process.

Earlier, we mentioned developers of varying experience equally benefit from pair programming. The number one reason being students learn from each other more effectively. It may prove beneficial in some instances to have the less experiences programmer be the driver while the more experienced becomes the navigator. In this manner, the driver can get and understanding of how experienced programmers approach problem solving, while the navigator is able to vocally describe their thought process, ultimately solidifying their knowledge. The beauty of pair programming is that it improves social skills and interview readiness in addition to preparing developers for the working environment.