DEV Community

Cover image for How pair programming can change your coding experience

How pair programming can change your coding experience

πŸ§©γ€β„‚π•£π•šπ•€π•₯π•šπ•Ÿπ•’γ€‘πŸ’‘ on February 07, 2023

As a self-taught developer, I have mostly spent my time doing online courses, following tutorials, coding and building projects alone. I hardly got...
Collapse
Β 
marcinwosinek profile image
Marcin Wosinek β€’

You have a good point, pair programming can be a very effective way for a fast knowledge transfer or to let people figure out stuff together. I didn't have many opportunities to practice it, but every time I did, I was surprised:

  • how efficient it goes,
  • how tired I'm afterwards:)

As senior dev how onboard people, for people I onboard on a project, I usually:

  1. give small, well-defined tickets;
  2. ask them to ask questions when they get stuck,
  3. review closely their code.

When all points work as expected, I find this asynchronous approach almost as efficient as pair-programming.

Collapse
Β 
crispitipina profile image
πŸ§©γ€β„‚π•£π•šπ•€π•₯π•šπ•Ÿπ•’γ€‘πŸ’‘ β€’

Thanks for sharing! I am also surprised about seniors also getting tired ;)
I guess asynchronous also works but when getting hands into code, I find pair synchronous simply faster.

Collapse
Β 
marcinwosinek profile image
Marcin Wosinek β€’ β€’ Edited

Yes, we doβ€”we are humans too:)

Yeah, pair programming is definitively faster, especially from the perspective of the learner. In case of async approach, you drop juniors at problems they will struggle with, and after they despair a bit you help them out. It's a trade-off between using senior time to save junior time (and a bit of their self-esteem too).

Collapse
Β 
chrisgreening profile image
Chris Greening β€’

Really great reflection Cristina!

I'm in a similar situation being self-taught and working remotely with folks from all over the world and pair programming is hands down one of my favorite learning experiences/exercises

I was solo-developing relatively large codebases and projects before breaking into my first true tech job and it was Earth shattering realizing how much of an echo chamber I'd been learning in - I had to unlearn a couple of nasty habits that are fine when you're working by yourself but not so fine when collaborating and I'm significantly better off now having gone through that initial shock πŸ˜…

As clean and readable as I thought my code was didn't mean everyone else would understand what I was doing. Receiving critiques and feedback in realtime has dramatically improved my code's quality and maintainability in ways I wouldn't have thought of prior

Collapse
Β 
crispitipina profile image
πŸ§©γ€β„‚π•£π•šπ•€π•₯π•šπ•Ÿπ•’γ€‘πŸ’‘ β€’

That sounds great! Happy to hear that pair programming has also helped you improve a lot. Congrats!

Collapse
Β 
alvarolorentedev profile image
Alvaro β€’

Pair programming should be the go to practice in any team.
I need to clarify is not only a tool for newbies to be onboarded or learn is a way to generate better code and actually achieve CD.
Its a peer review methodology that allows removing the overhead of async comunication that causes rework, and provides multiple points of view on the fly, specially if you apply pair rotations.
Actually, there are quite a few ways of doing pair programming, the one i enjoy and recommend the most is ping-pong, doing TDD and pair programming at the same time, is the best way of doing robust and minimal code that is not overengineered (very common among senior engineers).

Collapse
Β 
juzarantri profile image
Juzar Antri β€’

Is there any platform for pair programming?

Collapse
Β 
crispitipina profile image
πŸ§©γ€β„‚π•£π•šπ•€π•₯π•šπ•Ÿπ•’γ€‘πŸ’‘ β€’

I would suggest you getting a mentor or joining any coding community like Freecodecamp or Codebar :)

Collapse
Β 
__masashi__ profile image
Masashi β€’

Well, the feature exists on replit.com

Collapse
Β 
vulcanwm profile image
Medea β€’

yea replit is really good for multiplayer programming

Collapse
Β 
Sloan, the sloth mascot
Comment deleted