Live data from Hacker News

Pair Programming Economics

wiki.c2.com

41–50 of 82 posts

Re: Pair Programming Economics

#41
My experience with pair programming in ML modeling:

- ML involves making lot of assumptions. That created some fatigue in me, and it helped to have someone giving out their thoughts actively. Even when not aligned on a common view point, simply going by one's approach first based on ease-of-implementation sounds practical. we could try other ideas always right..

- Creating bugs became more apparent. i.e., every software bug is someone's creation, and pair programmer would actively think about what's going on, makes the code less buggy

- Software architectures and designs are easy to justify at the end, because you've one more already on board, at least to some extent. If the person isn't aligned with the other's thinking, its very easy to pin point the item. Usual management style is, someone with different eyes (managers, tech leads) review once its gotten to some place.

- What was mild inconvenience was: my pair programmer was Vim guy, I'd like sublime text. Our style of thinking was also different. It made few things better, but ultimately you are asking someone to push their approach onto you. Some adjustment needed.. but okay. I'd prefer reading papers in depth before finding a common theme to implement, they'd prefer jumping into code, and then tweaking and hacking. My motivation/internal agenda is to write novel work, they'd want to simply get best numbers out. Aligning on something at this high level I thought has pros and cons..

- Overall, pair programming really helped me see myself. Its like getting active feedback, but not in the formal feedbacks designed in companies. If both like to some extent doing it together, its a good way to grow as a person and engineer.

- In workplaces there persons would not say I don't like pair programming with this person, unless do/die situation, at least in small companies. This pushes everyone to learn some people skills to see how things are going on.. I felt some discomfort at this aspect, but okay.

- I always had some insecurity about whether I am good enough for my goals or current project. I admired how many things are done by my pair programmer, and that made me feel whether they like working with me. It was always running on the back of my head. I think this dragged my personal contributions..

I'd always suggest someone try pair programming, see how it goes.

Re: Pair Programming Economics

#42

> A pair works at the speed of its slowest member, so it take at least 8 hours for them to finish the "easy" coding. Not necessarily. I pair with a guy who's probably 10 times as productive as I am(I really try, but I understand that I'm relatively slow), and he'll ask me to pair with him because I might come up with an idea for something that even he is stuck on. I often do, despite the fact that I'm much slower tha…

And you will be better in the future paying interest for years.

He is forced to stretch himself and expressing ideas and concept one level clearer than otherwise. This helps him to move on another level skillwise.

Re: Pair Programming Economics

#43
post #12

Like a lot of discussions of programmer productivity, it's hard to measure, so nobody bothers and we talk around the issue without any hard numbers.

Sometimes I wish I was a salesperson. My performance is clear as day and I automatically get compensated accordingly

Re: Pair Programming Economics

#44
I think PP is great; however, I do not like to use it as an educational practice. Why boils down to two ideas - a) you are not hired in teams, so you cannot rely on classmates; and b) we've made students so scared to help each through fear of academic integrity and copyright violations that we had to create a special activity centered around looking at someone else's code.

The first idea is rather obvious - the teams you build while learning may be enjoyable but that does not directly translate to hireability. PP Exercises are still scored primarily through correctness over contribution, so a slacking student can do less and potentially learn less without fear of too much penalty to their course grade.

The second idea is more an opinion about the state of CS ed. In an English class, if I wrote something that wasn't good, I could rely on peers to help. If I need help on my weight lifting form, I can show my form to others for advice. In CS, how dare you show your code to anyone because Copy and Paste are so easily done. I've literally had students swear off StackOverflow and helping peers for fear of being labelled a cheater. PP to me seems like its trying to solve that fear rather than deal with the cause of the fear.

Re: Pair Programming Economics

#45
post #12

Like a lot of discussions of programmer productivity, it's hard to measure, so nobody bothers and we talk around the issue without any hard numbers.

I'm pretty sure it's not that nobody bothers, it's just that there is well over a decade of research and literature strongly suggesting that it's either (a) impossible to do this kind of direct productivity measurement accurately, or (b) gives the wrong idea, creating wrong incentives that generally fail to improve outcomes (or worse, that the measuring directly hinders many positive outcomes.)

https://martinfowler.com/bliki/CannotMeasureProductivity.htm...

Outcomes are hard to measure, so we measure productivity instead. At least that's how it goes in my organization (and it does not turn out well, as suggested by the literature.)

Edit: but we are for the most part not developing software as our core competency in this company, so it turns out that fixing this is a pretty low priority...

Re: Pair Programming Economics

#46
post #20

I spent the first fifteen months of my current job on a 100% pair programming team before transferring to a more traditional scrum-based team. Some observations: team cohesion on the pp team was much higher, code quality was higher. Flexibility, not surprisingly was lower: we had a very fixed schedule: "Stand up" at 8.06 (despite the name, it was unrelated to the scrum event, instead it was more time for sharing news…

I have some hearing loss as well, and this clearly would kill it for me, even if I thought it was a good idea otherwise. I actually walked through the programming floor of what might be the largest pair-programming operation in the US and was shocked to see (and hear!) that it was concrete floors and ceilings with no sound treatment. Awful. My suspicion is that the jawboning about pair programming has more to do with…

Pair programming was introduced with XP over 20 years ago. I think your perception of what’s trendy is miscalibrated.

Re: Pair Programming Economics

#47
post #20

I spent the first fifteen months of my current job on a 100% pair programming team before transferring to a more traditional scrum-based team. Some observations: team cohesion on the pp team was much higher, code quality was higher. Flexibility, not surprisingly was lower: we had a very fixed schedule: "Stand up" at 8.06 (despite the name, it was unrelated to the scrum event, instead it was more time for sharing news…

I have some hearing loss as well, and this clearly would kill it for me, even if I thought it was a good idea otherwise. I actually walked through the programming floor of what might be the largest pair-programming operation in the US and was shocked to see (and hear!) that it was concrete floors and ceilings with no sound treatment. Awful. My suspicion is that the jawboning about pair programming has more to do with…

Is PP "trendy"?

The "extreme programming explained" book that (afaik) popularized it came out more than 20 years ago.

Re: Pair Programming Economics

#48
post #19

This is a wiki that only serves user-agents that are capable of executing JavaScript. Weird.

What's worse is that it didn't used to. The current version is a rewrite, based on a wiki-interop framework (developed by the original wiki's creator, so it's not a hostile takeover, but rather an attempt to do stuff that wasn't possible originally).

Re: Pair Programming Economics

#49
post #19

This is a wiki that only serves user-agents that are capable of executing JavaScript. Weird.

For no apparent reason. Five years ago it was part of the world-wide web and open to mashups and automation, now everyone needs a custom deobfuscator (albeit a simple one).

https://news.ycombinator.com/item?id=8983158

Re: Pair Programming Economics

#50

Personally, I dislike PP - hard for remote teams. Only good if everyone on the team can easily pair up. - only good if everyone follows a strict schedule - only good if everyone understands the problem and solution space equally. If one of us needs to go into a cave for an hr to read documentation or experiment, it all falls apart. - very mentally intense. You're always on. Can only keep it up for a few hrs without s…

> only good if everyone understands the problem and solution space equally

That's a goal of pairing up. Together you'll get it better than you would have separately, if for no other reason than the one person who already knows it has to be able to explain it. And as a bonus, now that knowledge belongs to two people instead of being siloed with one of them.

Post reply on HN