addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscontroller-playcrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1light-bulblinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonprintShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Re: [ljc] Am I a bad programmer if I do not like pair programming?

From: Bruno M.
Sent on: Wednesday, January 30, 2013 12:25 PM
Just because productivity cannot be objectively measured, it doesn't mean one can't have a feel for his own productivity (a subjective, possibly non-liner, measure).

In fact, I would say I suspect it's because of the fact productivity can't be objectively measured that Pair Programming is still considered in several circles to be a good thing (and debated in other circles, like this one). If you could measure it objectively, there would be no discussion, we would know for sure in which situation PP would be useful (if any, other than a few minor niche cases).

You see, I remain highly skeptical of PP. The fact is, if you have two programmers, of roughly the same skill and talent, if they are doing PP, they would have to be *twice* as productive as each on their own. *Twice*! Can you imagine that?
When I look at a days or weeks worth of development and work, I can't see how I could be twice as productive by merely having one other person helping me. A good way to think of this is roughly doing the same work in half the amount of time. To achieve this, there would need to be a combination of: writing all the code correctly at first so I write twice as fast (no refactoring, no redesign, not much time thinking); Or, never writing those bugs that take a long time to debug and fix. I don't see this happening with just the cooperation of another person. In fact, I would estimate the productivity gain would be something between 0% to 50%, depending on the task, and the other programmer.

Maybe (and even this case it's just a maybe), if one is a developer that writes undisciplined, cowboy approach code when alone (badly structured and thought out code, no tests, no consideration for reuse or future changes), then the cooperation with another programmer might make it more structured and thought out, good enough to have  a 100% productivity gain vs single developers. (But still, then the best approach would be if both developers would just be more disciplined on their own.)


- Bruno


On Tue, Jan 29, 2013 at 5:06 PM, Abraham Marín Pérez <[address removed]> wrote:
The key aspect of the subject could be in the sentence "feel that I am much more productive working on my own". What do you mean by "productive"? One could feel more productive because he/she produces more lines of code, but what's the quality of that code?

I think pair programming, like productivity (see http://martinfowler.com/bliki/CannotMeasureProductivity.html), is a qualitative aspect of programming, and hence depends on many personal things.


--
Abraham Marín Pérez

Twitter: @AbrahamMarin
LinkedIn: http://lnkd.in/TTHC8W

Sent from my iPhone

On 29 Jan 2013, at 09:40, Jim Collins <[address removed]> wrote:

--
Bruno Medeiros

Our Sponsors

  • Our Blog

    Read the latest news from the LJC

  • RecWorks Ltd

    Fixing Tech Recruitment using the Power of Community

  • jClarity

    Java/JVM Performance Analysis Tools & mentoring for Java related matters

  • LJC Aggrity

    Our LJC Aggrity site contains blog posts from our members

  • LJC Book Club

    Our Book club with book reviews from our members

  • Devoxx UK

    Java Community Conference in collaboration with the LJC, 8-10th June 16

  • SkillsMatter

    "Host, help organise, promote, film many of our meetings."

  • IBM

    Build Enterprise-grade apps at start-up speed.

  • New Relic

    New Relic makes sense of billions of metrics a day in real time.

  • Hazelcast

    Hazelcast is the leader in operating in-memory computing.

  • Java.Net

    We are an official Java User Group recognised by Oracle's JUG program

  • JRebel

    Free 3 month J-Rebel license.

  • O'Reilly

    40% discount on printed books and 50% on e-books.

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy