HN user

bkz

54 karma
Posts3
Comments10
View on HN

My view is that pair-programming is a tool which only really works for stuff dealing with tactical decision making, logic/fact checking, teaching or debugging.

Higher level abstract stuff which involves creativity (design) or strategic decisions won't work because there is no process for these activities. You can't synchronize (communicate) where you are on your way to the "eureka" moment. Discussing with others certainly helps but there nothing pair-programming specific about it.

Also, don't forget that most, if not all, of the assumed benefits of pair-programming can be gained using a more flexible common sense approach:

Reducing defects? Code-reviews.

Over engineering? Design documents.

New hires? People switching projects? Assign a mentor for a week or so and have them pair-program.

Faster debugging? Understand that it is OK to ask a colleague for help.

IMHO, a clearer version:

                 x^2 = x^2
   x^2 + (r^2 - r^2) = x^2
   (x^2 - r^2) + r^2 = x^2
(x + r)(x - r) + r^2 = x^2

If we continue you'll also notice that:

      (x + r)(x - r) = x^2 - r^2 
Which is useful if you need to calculate the opposite where two numbers are mirrored around a suitable even number, i.e. 28 * 32 -> (30 + 2)(30 - 2) = 30^2 - 2^2

After having launched our product I was spending some time reviewing commits together with the senior tech lead. Still to this day I can recall the commit number, the filename and write down the code from memory responsible for what turned out to be the source of a bug completely wiping out our users computers. Someone had mixed uncommenting a piece of code together with fixing a bug which hid the fact that some horrible code was active in the product. It took us 5 minutes to produce a fix and push it out to the update servers. Did we end up wiping someones computer? Yup, about a dozen known cases including a couple one in-house. I don't even want to think about how many actual cases there were, considering that we had about 2 million downloads of our product before the bug was fixed.

Believe it or not IKEA is probably the most ethical and hacker oriented large-scale company currently around. They don't scam people into buying stuff which breaks and needs to be replaced, they retain customers by offering something to everybody while at the same time introducing fashion and trends which makes people want to buy new stuff. Insider tip: use ordinary glue when you put together furniture. You know how solid all the furniture seems when you try out at IKEA and you don't really get the same feeling when you put it together yourself? Well, guess what.