Hacker News new | ask | show | jobs
by h1karu 4372 days ago
A few years ago I interviewed at a startup that was operating out of Pivotal Labs in San Francisco and during the process I was interviewed by the management at Pivotal. They were really nice folks, as was the team I was interviewing with. I didn't end up working there, but I did learn something from asking questions and seeing how they operate. Their philosophy, or core operating principle has to do with the value they perceive in "pair programming". This is fine if it's what floats their boat but I was left with the distinct impression that within such a paradigm the "social compatibility issues" are raised to a level of importance that becomes a nuisance in an environment where technical proficiency is in high demand.

When reviewing a team member in an open source project or a remote team working on a startup you only have to worry about "is this person technically competent and professional+expressive in his 'on the record' interactions ?" This is all that matters because there is very little "off the record" communication since it almost all occurs in hipchat, basecamp, git, etc. Contrast this to a pair-programming paradigm where there's so many more human factors that come into play because the programmers are expected to "hang out" and engage in lots of friendly "off the record" banter and social stuff. All of these extra social expectations can introduce friction, drama, and political wrangling into the team, so the management at these pair-programming shops have to go to great lengths to try to reduce these potentials.

For example during the interview process at Pivotal, after I had hung out for most of the morning I was encouraged take a walk outside of the office with some of the Pivotal team, to grab coffee, which is fine, but apparently this is a strategic part of the interview process where they go ahead and try to bait the candidate into discussing political 'hot button' issues as part of a fishing expedition. I don't think they cared one way or another what my political opinions were but rather they wanted to measure how "sensitive" I was in relation to various subjects areas and get a feel for how easy or difficult it would be to provoke me into a rant. By subtly putting their own opinions out there unnecessarily in a more casual coffee shop environment they were trying to lure me into opening up to them in a way that wouldn't be appropriate over say hipchat or some other "on the record" medium, and I suspected that if I had expressed too much of an opinion of my own that would have been a huge red flag to them.

I understand why this particular factor would be so important to management at a pair-programming shop. It would be a disaster if a programmer started pairing with a team, made major contributions, became a significant factor in the success of the project, and then for whatever reason during the "forced cohabitation" ended up making some quasi-political or religious statement which led to animosity and disrupted the harmony of the team. This is the double edged sword that comes with trying to setup an environment that feels half like a business and half like a hip afterhours lounge. Which is it ? Are you trying to be friends or coworkers ? Friends open up to eachother when nudged to do so but is it secretly a trap where a jealous coworker is trying to lure you into making unprofessional statements to be used against you later in a conversation with the rest of the stakeholders or are you just being paranoid ? This is how the drama starts. It's risky to not "try to become friends" but it's also risky to "try to become friends" because it means opening up to your actual opinions about how you see the world which could gasp turn out to be controversial.

All of this precipitates what I like to refer to as "bullshit emotional drama" that just isn't a factor when you work in remote teams. Why ? Because when you work remotely all of your conversation is logged right there in hipchat so you can't be baited into saying controversial things without there being evidence of the baiting. So either the baiting is there on the record, or there was no baiting and you were being unprofessional by putting controversial opinions out there for no reason. Either way you're being judged solely based on an accurate record of the conversation so there's no ambiguity, no people misquoting you, no need for interview processes that consist of dishonest baiting. There's less "he said she said" drama.

I don't buy the idea that you need pair-programming in order to break down knowledge silos because it's clearly not the case in a ton of open source projects where everyone is remote. Imho it's not difficult to get all of the goodness about pair programming without being physically next to someone simply by having a continuous conversation going in hipchat, constantly sharing gists, and reviewing each other's commits. The rest is just sociological posturing for the sake of having a "hip" co-working space to show off to your friends. As for the idea that members of remote teams have no social life, that's nonsense because you can go hang out in a co-working space just to make friends while keeping any friendship-exploration-drama-potentials well away from your business and economic bottom line.

tldr; Remote teams have an edge :) It's only a matter of time before remote accelerators come online and start dominating if they're not already secretly doing so.

1 comments

I think you're imagining things that don't happen based on a single day's exposure.

I've never seen personal drama at Pivotal Labs. Sure, I find that everyone has a different tempo, persona and so on. That means each pairing takes time to establish a workable rhythm. But I've never seen it come to animosity, either with myself and another pivot or anywhere in the offices I've worked in or visited.

yeah I can't say much about Pivotal labs aside from the unusual interview that I was a part of and the conclusions that I drew from that experience. It's certainly possible that I was imagining things but I strongly suspect they were poking and prodding to gauge my level of "reactivity" to various political statements. I understand why they felt the need to make me jump through those hoops. They felt the need to try to filter out ahead of time those individuals who are likely to express strong or controversial opinions during the course of their total engagement with the company. This makes sense because to run a pair-programming shop you have to try to build a community of relatively like-minded people who "get along" sort of like you're running a college fraternity. Polarizing issues/debates can lead to friction within these tight-knit fraternal organizations so it does make sense to try to weed out individuals who don't already have an understanding about that, and how else could you do it if not by testing them ?

I'm not saying they did something untoward in their interviewing process I'm merely pointing out that this whole hidden layer of social filtering must out of necessity exist in pair-programming organizations in order to nip drama-potentials in the bud before they have a chance to come to fruition. This is something that remote work shops simply don't have to worry about which is a major strategic advantage currently misunderstood in the popular tech media space but extremely well understood by those who are actually running successful remote teams.

In other words because their core programming methodology (pair-programming) involves forcing individuals to share more casual interaction than what would normally occur in a traditional office environment organizations like Pivotal are forced to be proactive about filtering for "casual social behavior traits" in their never-ending struggle to to maintain a harmonious drama-free zone. This puts pair-programming shops at a distinct disadvantage when it comes to sourcing talent because

A. they're drawing from a smaller talent pool, and

B. they have to care more about how the candidate behaves socially in casual 'off the record' situations.

It's my opinion that the added advantages which supposedly spring from working at the same desk with another skilled individual are more than offset by these hidden constraints which the whole business is subjecting itself to.

I didn't mean to imply that there's "emotional drama" within Pivotal labs in particular, but I did mean to imply that remote shops don't have to worry about that issue nearly as much as pair-programming shops because of the "always on the record" nature of modern group collaboration infrastructure.

I would also like to point out that the true 10x developers out there are statistically more often the personality types who are likely to express controversial opinions or touch on polarizing issues. This has been a truism throughout recorded human history when it comes to extremely brilliant individuals.

http://37signals.com/remote < recommended reading even for pair-programming die-hards

(I'm not connected with the author of that book in any way)

> It's certainly possible that I was imagining things but I strongly suspect they were poking and prodding to gauge my level of "reactivity" to various political statements.

I'm happy to clear this up.

You were imagining things.