Great Post! I am actually building a platform where developers can find other devs to pair program with.
Check it out: mydevfriend
Awesome post, I feel like I would absolutely THRIVE if given an opportunity like this. I'm hoping I get one in the future once I get out of boot camp.
Thank you!
This is really interesting and explains everything well, and sums things up really good. This is gonna be a really useful resource for me. Awesome work :D
Annie π¦β‘ this is spot on. Great work.
Pair programming can be so disorienting, but eventually you get accustomed to it. I think it's also a better product when more minds attack a problem or equation. Keep up the great work!
Yes! This is awesome to see!
I've long been a big advocate for pair programming. Sadly, as careers go on, software engineers become less and less interested in pairing, for some reason. I've seen a senior engineer storm out of the room when it was suggested that they pair program on a ticket: "I don't need to pair! I'm not a child!" (true story).
A couple things I'd like to add to your postβif I mayβwould be that effective pairing starts with good expectations and setup.
1. β It helps if you can have a machine setup that you're both familiar with (you're probably going to have to disable a lot of the short-cuts, sadly), and you 100% need two keyboards (however that situation looks)... I used to bring my external keyboard to work with me so I could hand my laptop to a pair, and use my own external keyboard at the same time.
2. β You'll also want to ensure that you keep taking breaks, as it can be intensive. IMO also, it's okay if some things are not paired on. When you get good at pairing it's easy to know when something is a pairing thing and when it's not. However, a mantra I had in an old team was: "default to pairing". i.e a task should be shown that pairing isn't necessary, not the other way around.
3. β If you've never tried "Ping Pong Pair Programming" I highly suggest you do. Or another exercise that's great is just setting a 10 / 15-minute timer and swapping whoever is driving the session (this is a lot more useful than it might sound). And as a rule of thumb, I bias towards the least experienced developer having fingers on the keyboard.
Anyway, these are just some general thoughts or ideas I wanted to throw into the mix. I don't see a lot of posts about pairing nowadays, and apart from teams I've introduced pairing to, I've not actually seen it ever in the wild throughout my career.
Thanks for the write up βοΈ
This probably changed my perspective on pair-programming for the better. Definitely going to try it out more now!
Thanks Annie π¦β‘!
Lou Bichard
Helping engineers to get into, and keep up with cloud engineering.
Andrew Baisden
Software Developer | Content Creator | AI, Tech, Programming
I really liked reading your post imposter syndrome is a problem many developers have to deal with. This is a great resource.