Browse the Ruby on Rails Community.

You are here: Forums Rails in the workplace Pair programming - first impre...

Replytotopic

Pair programming - first impressions

Posted in Forums : Rails in the workplace

 
Wojciech-kruszewski-133x100

Authority 37
Posting Rating 70
Sign in to rate this post

Hi,

After three weeks of pair programming with a jr Rails dev I wanted to share some impressions.

First: it’s true that working this way is more fun. More laughter and chatter – but it doesn’t disrupt the work at all or break “the flow” as we do it in between tasks/user stories. Previously when one of us had something funny to say, the other one was immersed in a task.

Also, it seems there’s no better way to train somebody in workflow-related concepts like BDD or advanced Git usage. I really couldn’t give my co-worker enough feedback while doing a code-review.

What else… it seems I’m under less stress. I don’t have to juggle between doing my task and code reviews. At the same time I noticed I’m working harder – the co-worker just keeps me focused.

I also found it’s better for my back, wrists and sight. Less typing, more drawing on the whiteboard (I mean a real physical one standing in the workshop).

I noticed that I tend to get better ideas when I pause and get up from the keyboard. And before I start to implement a new great idea, I must explain it – which makes sure I though it through. I mean something along lines of: “if you can’t explain it in simple words – you don’t understand it” (BTW who said that? Einstein like simplicity – was it him?).

Now as for the productivity bottom line – I’m not yet sure. But I think we’re producing only slightly less code/features, but the quality is significantly better. If so – there’s a net productivity increase. More fun and more productivity – yay!

Cheers,
Wojciech

 
Profile

Authority 50
Posting Rating 52
Sign in to rate this post

wow..great. I am really impressed by your positive thinking..

 
Profile

Authority 25
Posting Rating 1
Sign in to rate this post

Wojciesh … I wish i was paired with you.

 
Headshot_cgrusden_ringflash

Authority 50
Posting Rating 85
Sign in to rate this post

Pairing really is one of the best ways to learn. Glad to hear its working well for you and your team. We are big advocates of pairing all the time at Hashrocket.

 
Jaime

Authority 75
Posting Rating 86
Sign in to rate this post

I remember my first pair-programming session being very similar to nude modelling. Much less nudity, but all the fear of exposure to others. Developers always seem to start any code sharing with the phrase, “Please don’t judge this too harshly…” or “I was under a deadline…”, and so on. It takes guts to let someone watch you code in real time, including any stupid mistakes you make along the way.

By the end it really was more fun. And productive. If it was feasible with my current contract, I’d love to pair because you learn so much, and it’s a natural cure for my ADD :)

During my Pragmatic Studios rails training years ago, Dave Thomas said “I’ve never pair programmed and NOT learned something new”. I absolutely agree.

 
Wojciech-kruszewski-133x100

Authority 37
Posting Rating 70
Sign in to rate this post

Jaime – comparison to nude modeling was spot on!

Adam, Hashrocket is one of groups that inspired me to try pair-programming. You and Pivotal Labs seem well established companies that say pairing as a core practice has worked great for them.

BTW I’ve seen a nice argument for pair programming in a presentation by Ian McFarland from Pivotal:

And stop whining! You do it already when you get stuck on something.

(slides at: http://bit.ly/8tisa2)

I found out though Pair Programming doesn’t always impose self-discipline. I needed to learn when to shut up and let the driver drive when I navigate. Wasn’t easy – perhaps it’s that feminine side of me (-: Do you guys know good tutorials or books? Googling for “navigator tips” yields interesting results – but not very helpful in this particular case.

 
Profile

Authority 50
Posting Rating 74
Sign in to rate this post

It’s great to see this much positive response. I have also done pair programming with my senior but i afraid of suggesting something because he was too senior and experienced then me. but I really loved pair programming and learnt a lot. and yeah am pretty sure that scope of learning is very vast in pair programming.

 
436907d871deeaa04aa3f0cb4548587e

Authority 50
Posting Rating 55
Sign in to rate this post

I cut my teeth on paired programming at Pivotal Labs, and love it for many of the reasons already cited. When pairing, the day seems to go by very quickly and a lot gets accomplished. I also notice that I don’t get distracted and check email or surf the web nearly as frequently.

There are a couple of caveats, though. One I’ve noticed is that if someone with a strong, outgoing personality is paired up with a shy programmer, sometimes the strong one can dominate the situation and wind up bearing most of the effort. A good way to avoid this is to find a natural switching pattern. One example is for one programmer to write a test, and the other programmer making it pass, and then vice-versa.

 
Profile

Authority 62
Posting Rating 0
Sign in to rate this post

I also agree pair programming is fun. But I have read it in several places that’s the 2 people working in pair should be of same competency. Otherwise the mentoring can become spoon feeding. Infact XP(Extreme Programming) also suggest that level of programmer doing pair programming should be almost equal. What do you think?

 
Profile

Authority 0
Posting Rating 37
Sign in to rate this post

if you can’t explain it in simple words – you don’t understand it

Both Einstein and Feynman have been attributed with similar phrasing. Feynman used to say, “If you can’t explain something to a first year student, then you haven’t really understood it” and Einstein said “You do not really understand something unless you can explain it to your grandmother”

 
186326016_765e6e2222_o_d

Authority 62
Posting Rating 40
Sign in to rate this post

I started my professional programming career at ThoughtWorks five years ago by pairing. Pairing is a fine art, and when practiced well can produce amazing results.
The only ting to keep in mind is that a great deal of introspection is required by each member of the pair, and slightly different approaches are needed when
- a junior and a senior pair with the junior ramping up
- a junior and a senior pair with the senior ramping up
- a junior and senior pair when both a familar with the codbase and/or technology
- people of similar experience pair

 
Www

Authority 87
Posting Rating 2
Sign in to rate this post

hello guy can u tell me
Best Ruby on Rails book for web app developer?

http://www.railsteam.com

Replytotopic

Other Recent Topics

Rails in the workplace : Refactoring tools for Rails

Rails in the workplace : Louis Vuitton Monogram Vernis specially sale ( www.salecheaplouisvuitton.com )

Rails in the workplace : RoR programmers needed

Rails in the workplace : Ruby on Rails developer

Rails in the workplace : Interesting take on a Ruby/Rails introduction

Rails in the workplace : Pair programming - first impressions

Rails in the workplace : Contractor Required

Rails in the workplace : Anyone going to RailsConf next week?

Rails in the workplace : CMS in Rails

Rails in the workplace : Is there anyone using yaml for storing data

Formatting Help
  • *bold*       _italics_      
    bq. (quotes)
  • "DSC":http://www.dsc.net
  • * or # (lists)
or cancel