Pair Programming
Who am I?
@_pedro_torres
Pedro Gustavo Torres
A little bit of background
What is Pair Programming?
• code is produced by two people programming:
– on one task
– on one workstation
• Two keyboards (optional)
• Two mice (optional)
• Two monitors mirroring (ideally)
Driver…
…navigator
Change roles multiple times a day
Change roles multiple times a day
Change roles multiple times a day
¡Quiz time!
In which scenarios are the developers properly pairing?
A B
C D
Setup #1
Setup #2
Setup #3
Setup #4
Tackling multicultural barriers
All the times in front of…
…except in…
…and in!
Collective code ownership…
…bus factor…
…beginners mind
Pair rotation lader
What about code reviews?
The Rock Star…
…newbie…
…junior…
…senior…
…soul mates…
…CVDD…
…badass
Engagement / Commitment…
…valuable Stand ups…
…better integration of new team
members
Less bugs…
…more fun…
…less distractions…
…less interruptions…
…less slacking…
…and comfort zone wise…
…bigger comfort zone!
Two heads think better than one
“Common” habits…
…no music / social “stuff”
So is Pair Programming for everyone?
It should not be imposed
Remotely works?
Are estimations affected?
What about size or length of tasks?
Is it €xp£n$ive?
Is it only for mature teams?
Does it scale?
Companies that use it
Jobs?
Careers 2.0 by stackoverflow
428 Pair Programming jobs
422 JavaScript jobs
363 Java jobs
243 Python jobs
199 ASP .Net MVC
197 Ruby jobs
186 PHP jobs
175 Node.js jobs
132 Android jobs
120 iOS jobs
… on 16th of January 2014
Scholars and hands-on fans
Common pitfalls
Maybe slow…
…or Leeeeeeeeeeeeeroy!
Wrapping up
Thank you
Next time I’ll pair present! :P

Pair Programming :: SAPO Codebits 2014