Let's Pair!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Why we do it
Become a more effective engineer!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Communication & Collaboration
No engineer works in isolation
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Communication Skills
- Communication skills are just as, if not more, important as technical skills
- Being an effective engineer entails practicing empathy
Expression Skills
- Practice expressing your ideas and execution plan
- Learn to use the correct language
Listening Skills
- Expand your mind through learning from others
- different approaches, tools, best practices
- Practice understanding another person's thought process
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Collaboration
Two heads are often better than one!
- Bring more ideas to the table
- Get perspective and discuss various approaches
- Extra pair of eyes - catch more bugs
- On the job you'll be collaborating with others on a team
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
How we do it
Driver / Navigator Dynamics
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Driver vs Navigator Roles
Driver
-
Hands on the keyboard
-
Listens for direction from Navigator
-
Understand the plan (ask questions!)
-
Write pseudocode and actual code
-
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Use one shared computer. Both people should be looking at the same set of files.
Navigator
-
Totally hands off
-
Expresses what to do and how to do it using plain English
-
"iterate through the array", NOT "write for-var-i-equals-zero-semi-colon..."
-
Logistics
- Find someone new to pair with
- Briefly re-introduce yourselves
- Work off the same computer
- Agree on starting roles (driver vs. navigator)
- Switch off and aim for a 50/50 balance
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Make it a positive experience
- Have one another in mind
- Spend time getting on the same page and communicating rather than racing to the finish line!
- Be curious about how other people approach problems and what you can learn from them
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Be a good pair - Senior Person
If you find yourself more experienced than your pair, take this as an opportunity to...
- practice communicating clearly
- deepen your understanding
- solidify your technical skills
-
practice teaching and empathy
- remember what it was like when you were less experienced
- make a positive impact on another person!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Be a good pair - Junior Person
If you find yourself less experienced than your pair, take this as an opportunity to...
- deepen your understanding
- solidify your technical skills
- be curious and ask questions
- express when you don't understand something
- be grateful for the outside support!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Useful Tips
What to do and
what not to do
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Good Practices
- check in with one another regularly
- provide feedback to improve the experience
- practice patience, empathy, and understanding
- if there's conflict, talk to instructor or TA
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Antipatterns
Be sure to avoid the following:
- hogging the driver's seat
- being too afraid to navigate
- being too aggressive or too shy
- navigating while driving
- stubborn attachment to your own ideas
- being offensive, rude, or condescending
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Key Takeaways
- Pair programming rocks
- You'll become a more effective engineer
- Communication
- Collaboration
- Empathy
- Follow the Driver / Navigator dynamic
- Support one another
- Have fun!!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Pair Programming Reflections
Look back on your experiences...
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Value gained
What value have you personally experienced from pairing?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
- Communication skills
- expression
- listening
- empathy
- Collaboration
- knowledge sharing
- different perspectives and approaches
- immediate bug squashing
- connecting with awesome people
Challenges faced
What challenges have you faced?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Junior pair concerns?
Senior pair concerns?
Lessons Learned
What lessons have you learned and how will you apply them?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Keep it up!!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/362520/images/1635394/stucked.png)
Pair Programming
By telegraphprep
Pair Programming
- 1,562