The Friendship That Made Google Huge (newyorker.com) 57
Coding together at the same computer, Jeff Dean and Sanjay Ghemawat changed the course of the company -- and the Internet. An anonymous reader writes: The New Yorker has profiled Jeff Dean and Sanjay Ghemawat, two of Google's most storied developers and to date, the company's only Senior Fellows, the highest level Google awards to engineers. The article dives into some of Dean and Ghemawat's successes at Google but focuses on their deep and collaborative friendship -- particularly exploring the power of programming with a partner. "I don't know why more people don't do it," Ghemawat explains. As Dean points out, all you need to do is "find someone that you're gonna pair-program with who's compatible with your way of thinking, so that the two of you together are a complementary force."
Re: (Score:2)
Re: (Score:1)
Wah, everything I don't like is "elites"... Waaaah... https://www.newsweek.com/lot-republicans-think-trump-wont-finish-term-1251056
Re: (Score:2)
Jeff Dean was a friend in high school and my roommate in college for a year. He's hardly a west coast elite, even now -- I had breakfast with him a year ago and he walked like 3 miles (his choice) to the restaurant.
He's also hands-down the smartest person I have ever met. He ported a multi-player D&D game written for a Control Data Cyber mainframe -- using an incomplete printout of the Pascal source code -- to a Sage IV p-system and the VAX 11/780 when he was in high school.
So, the foundation of evil? (Score:1)
I knew pair programming was the source of all evil.
Why more people don't do it (Score:5, Insightful)
As Dean points out, all you need to do is "find someone that you're gonna pair-program with who's compatible with your way of thinking, so that the two of you together are a complementary force."
Is that all? No. First, you need to find a great match for pair-programming which is already hard enough. But you need to find one who is nearby (this doesn't work all that well remotely), and who happens to work at the same company or startup or whatever, on the same team or on the same or similar assignments. Or you need to already have that coding partner and have the luxury to pick your own employer and assignment together, have the time and energy to work together on some FOSS thing, or be in a position to found your own startup. So no, I am not at all surprised that not many people end up doing this.
Re:Why more people don't do it (Score:4, Informative)
First you need a project leader that doesn't think "two people working on the same ticket is a waste of resources because only one is pressing the keys, the other just looks".
Re: Why more people don't do it (Score:3, Interesting)
If you assume that there are approximately 16 general hardware configurations humans tend to cluster around, there are approximately:
* 16 combinations that are *golden* for pair programming. Say, INTP + INTJ (probably the most ideal, golden pairing of all)
* 16-48 combinations that are likely to be subpar at best. Say, INFP + INTJ, or ENTJ + INTP
* at least 128 combinations likely to be flat-out dysfunctional, like INTP + ESTJ
The point being, you can't pair by HR or management decree or force it to work. When
Re: Why more people don't do it (Score:2, Redundant)
^ oops, cut all the numbers in half, since INTP+INTJ is the same as INTJ+INTP (and so on).
Just to add, pairing two programmers with the SAME personality type is generally a waste... they'll both get stuck on the same problems, fall into the same traps, and often either bicker or tune out while the other is "in charge".
Pair an INTP with an ENTP, and they'll derail each other in no time flat. They'll probably have a great time, and might come up with a brilliant, creative solution to the wrong problem, but ar
Re: (Score:2)
Professional psychometricians don't take Myers–Briggs all that seriously these days.
Most of these systems are beloved of consultants and sages because they're good conversation starters.
The best supported factorizations are the Big Five personality traits [wikipedia.org] (often seen as OCEAN).
Ordered from most likely to improve your career, to least likely:
* conscientiousness
* openness to experience
* agreeableness
* extraversion
* neuroticism
(In some career tracks, you'd reverse openness and agreeableness, but not comp
My experience of pair programming (Score:2)
It's a terrible idea and sucks badly unless you're that kind of person, and also find that perfect partner. In nearly all cases that I've seen and experienced, pair programming just degenerates into endless discussions around philosophical differences and battles of egos, and with 2 people, there's also no one to tie-break.
For me at least, I've repeatedly found there's not any way to get the job done more quickly/effectively than just leaving me alone to get it done on my own.
Re: My experience of pair programming (Score:2, Insightful)
^ That's usually what happens when you pair people who are TOO similar... like pairing an INTP with an INFP or ENTP (or worse yet, another INTP). They succumb to the same problems, and feel the most strongly about things they're likely to disagree about. Egos clash, and it rarely ends up being a good idea.
For pairing to really work well, you need two people who are similar enough to agree about striving toward the same goals, but follow meandering mental paths that cross back & forth along the way towar
Github? (Score:2)