Pair Programming Is Not a Panacea (2014)
mattgreer.org
mattgreer.org
expert-expert:
- ya
- hu-hum...
- ya
- look... I'm way overloaded with work
- same here
- do you think we should both work on our stuff independently
- sure, It'll be more efficient this way, see you at lunch
expert-novice:
- but why are you assigning this?
- well, it's the counter and it has to start at zero
- well, shouldn't you use an accessor?
- an accessor for a counter?... (sigh)
- ya, we may want to change the counter to a float one day
- (silence) [adds the stupid accessor to have him shut up]
- and this should be a singleton
- (silence) [adds the stupid singleton with the ominous feeling of sinking deeper into depression, loosing any sense of passion]
- I was thinking, since we have an accessor for our counter, shouldn't we create a factory to automate instanciation too?
- [leaves for a cigarette break and never comes back... to this day, the whereabouts of this pragmatic programmer is unknown]
novice-novice:
- Let's make an accessor!
- Yeah! and let's make a singleton!
- Yeah! and a factory? (honhonhon) [it's a french dude]
- Sure! and maybe we should have a red-black tree of factories, imagine the power!
- Woooaa! I can't fathom the power! I never heard of such a thing!... it's AWESOME! ... Maybe we should template all of this
- you're reading my mind!
- ...
And the constant "No, no that line"... Ugh!
But maybe the "pair programming champions" are making yet another CRUD app
I'm waiting for the equivalent of Tesla's auto pilot for programming
This is where both people have their own computer. Both work on quasi-independent problems, but are free to ask the other questions and bounce ideas off them. Basically, stay far enough away in the code to not create to many merge conflicts, but close enough that you both can keep a mental model of your work and the others work.
I prefer to share a whiteboard rather than a keyboard.
Documented code is a less expensive way to answer that question.
Not sure about your team lead, it doesn't match my experience.