Read: 02 "why to pair program" for the shy person who hates being put on the spot - cindyweiss/seattle-301d55 GitHub Wiki

https://github.com/cindyweiss/seattle-301d55/wiki/Read:-02---%22why-to-pair-program%22-for-the-shy-person-who-hates-being-put-on-the-spot

What is Pair Programming?

Pair programming is when two developers work together but on one machine. One dev is the "driver" and one dev is the "navigator". The driver is the one who actually types on the keys while the navigator speaks to the driver to convey in english what needs to happen.

Why is pair programming used in the work environment?

Companies like to use pair programming so that the code is known by more than one person. It ensures that if that person is out the code can still be worked on.

What are the other advantages of Pair Programming? (answers taken from code fellows article "6 reasons for pair programming")

Greater efficiency-

It is a common misconception that pair programming takes a lot longer and is less efficient. In reality, when two people focus on the same code base, it is easier to catch mistakes in the making. Research indicates that pair programing takes slightly longer, but produces higher-quality code that doesn’t require later effort in troubleshooting and debugging (let alone exposing users to a broken product).

Engaged collaboration-

When two programmers focus on the same code, the experience is more engaging and both programmers are more focused than if they were working alone.

Learning from fellow students-

Often times, the developers in a pairing have different skill sets. If one programmer is more experienced in a certain skill, they can teach a student who is less familiar with that area. The less experienced developer benefits from the experienced developer’s knowledge and guidance, and the latter benefits from explaining the topic in their own words, further solidifying their own understanding.

Social skills-

Pair programming is great for improving social skills. When working with someone who has a different coding style, communication is key. This can become more difficult when two programmers have different personalities. Pair programming not only improves programming skills, but can also help programmers develop their interpersonal skills.

Job interview readiness-

A common step in many interview processes involves pair programming between a current employee and an applicant, either in person or through a shared screen. For most roles, the ability to work with and learn from others and stellar communication skills are as (or more!) important to a company than specific technical skills.

Work environment readiness-

Code Fellows graduates who are already familiar with how pairing works can hit the ground running at a new job, with one less hurdle to overcome.