Stories about Software


Information Exchange Realpolitik: Pushers and Pullers

This is going to be another one of those posts where, in an attempt to explain myself, I may wind up putting my own bizarre pathologies on display for the world to see, but c’est la vie. I think that I can start most easily by saying that it drives me insane when people interrupt me to finish my sentences, though I’ve mostly mastered the art of completely suppressing any reaction for the sake of politeness. This is unfortunate and somewhat unfair of me since I tend to be methodical and precise with my words when speaking, often favoring a few beats of silence over verbal pauses or simply using a word that isn’t exactly the one I want. (As an aside, this does tend to come in handy because I write almost exactly the way I talk and vice versa, making scripted speeches sound relatively natural). In other words, I sort of invite people to finish my thoughts and then get annoyed when they do. People who finish the sentences of others I’ll call “information pushers” or just “pushers.”

I wanted to expand on my recent post about the great TDD debate to go into more detail about the real, underlying reason that people shouting their opinions at one another bothers we and one that goes well beyond simple matters of social decorum. It isn’t that I’m a shrinking violet, wishing that everyone would just stop with all of the shouting and be friends. It’s that I have an aversion to people spewing unsolicited opinions — I have an aversion to being around people who are serial pushers. It isn’t that I dislike the people, per se, it’s just that they’re hard for me to take in anything other than small doses. This is probably because I’m generally not a pusher and I’m only slightly a “puller.”

That last statement probably seems odd because any lover of symmetry would assume that, since I’m not a pusher, I must be a (as yet undefined) “puller.” But these things aren’t mutually exclusive. One can be neither or one can be both. I’ll define a “puller” as someone who tends to solicit information and opinions. You’ve probably worked with intense pullers in the past — people who can’t seem to go 10 minutes without asking you for help with something. Some people are pushers and pullers (I think that a lot of extroverts are both), blasting out opinions whether or not others are interested, but also genuinely curious about the opinions of others. A lot of gossipy people are both pushers and pullers.

Others are neither. Reclusive people, for instance, don’t care about your opinion and aren’t interested in telling you about theirs. This comes closer to describing me. I rarely offer opinions or advice unless people specifically ask me for them. That probably seems strange coming from a blogger who has been pumping out opinions for years, but if you think about it, by reading the blog, you’re sort of asking for my opinion. It isn’t as though I’m sending you an email telling you what I think about Java’s new implementation of generics or dropping by your cubicle with a cup of coffee and a “Hey… whaaaaat’s happening. Good.”

I have plenty to say if you ask, but I usually leave you be if you don’t. On the other side of the coin, I am a puller, but intermittently. I have a strong preference for trying to figure things out and master them on my own, and I tend to solicit help on problems only when I feel I’m in a blind alley. I’m more of a puller when it comes to passive assimilation of information — I read a lot of blogs, books, etc. But when I’m trying to solve a problem, I really only want help when I ask for it.

And therein lies the crux of the matter from my perspective. What happens when a reluctant/infrequent puller is working on a project with a huge pusher? Well, from the perspective of a slight-to-non-puller, what happens is that awfulness ensues. Someone I work with has a great expression that she uses that is appropos to this situation: “I asked you what time it was and you’re telling me how to build a clock.” This is a situation where a slight-to-non-puller is blocked, in need of some information from a pusher, and winces at the prospect.

Non Puller: Hey, can you give me the login credentials so that I can hit the web service from my code? I’m trying to —

Pusher: Oh, well, what are you trying to do? You probably don’t need a web service at all and could just get by with the old protocol we were using before. Let me take a look at your code. Yep, I don’t think you need any of what you were doing, and while we’re at it, I’ll just take the liberty of explaining to you that Java is a managed language, which means…

Non Puller (Mutters): Kill me, please.

Pusher: What was that? Anyway, like I was saying, programming can be summarized thusly…

Is this familiar to anyone out there? You need to ask Bill for just one tiny piece of information, and you know that as soon as you do, he’ll dash off to the nearest phone booth, don his Captain Obvious outfit, and return with a torrent of unsolicited information. So what do you do? You avoid Bill because he’s insufferable. Perhaps you make subtly snarky comments about him at lunch with the group. But what you probably don’t do is lose it and tell Bill that every word out of his mouth takes a fraction of a point off of your IQ. Even if you did, he’d probably interrupt you half way through your rant, impervious to your ire, to explain that IQ stands for Intelligence Quotient.


Don’t be Bill. Don’t be a pusher. It’s tempting at times for anyone. I mean, humans like expressing opinions. I’m no different, but I’m either wired or else I’ve conditioned myself to tend to do it only when solicited. When I feel like offering unsolicited opinions, I come here and vent them, but, as I’ve explained before, they’re not really being forced on anyone.

It’s not so much that I’m saying, “be like me because I’m awesome,” but what I am saying is that being a non-pusher has definitely helped me extensively in my career. I listen to people’s problems rather than interrupting them with solutions they’re not seeking. I let people finish their thoughts. I listen. And I offer opinions… when asked (for the most part, anyway — probably everyone is at least slightly a pusher, at times).

And, honestly, it’s opened doors for me. People tend to find me trustworthy and pleasant. Often times, near-strangers start telling me about rather personal problems. I tend to do fairly well in job interviews. A lot of it’s politeness and common courtesy, in my mind, but it all stems from avoiding tendencies to be a pusher.

So, here’s my take away from the situation. From an office realpolitik perspective, you should avoid being an extreme puller, since that’s annoying and it makes you seem incompetent. You have to be able to solve some problems on your own, but slight to modest pulling is the way of the world, since we don’t know everything. Ask judiciously and, when you do, demonstrate a good faith effort at solving the problem on your own.

But when it comes to pushing, I have no “go the middle route and avoid either extreme” advice. I can unequivocally say that I think pushing is a bad use of political capital in that it’s either all bad, or it’s a slight short term benefit for a long term detriment (i.e. you gain short term status as an aggressive expert, but eventually are thought of as a blowhard like Master Beginner). Spewing forth unsolicited opinions is like the influenza virus — the less you have of it, the better. Period.

So save that energy and do something useful with it. Heck, channel it into a blog. Or focus on being really good at what you do, which will have the nice effect of people actually soliciting your opinions, at which time you’re free to hold court. Respect is earned through actions and proof — not attrition.