Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The Passive-Aggressive Programmer: or Why Nothing Gets Done (mac.com)
24 points by smanek on June 14, 2008 | hide | past | favorite | 16 comments


This probably doesn't explain every case that the guy is talking about, but I used to adopt this attitude in various jobs -- usually a few months before I ended up leaving the job for something else.

I've found that I have a specific lifecycle in regular jobs. It goes like this:

1. Enthusiasm. No matter how many times I've gotten burned in other jobs, this one is going to be different! Management seems to be really open to improving things, or doing things as best as practically possible. Hurrah!

2. Passive-Aggressive apathy. Well, I was wrong. Again. Hells, this place moves slowly. No, management's plan or idea won't work, and I'll say so, but I don't feel like explaining it anymore because clearly they aren't interested in my opinion. I will slouch in my chair and grudgingly do what I'm told.

3. Complete apathy. I won't even bother to say that I disagree with their bad ideas anymore. Discussion is pointless; they simply want to do it their way, and that's that. I'll browse through the classified ads on my lunch break.

(Get new job, go back to 1.)

I don't think that particular lifecycle is unique to me. So, the author may be dealing with some folks that are completely disenchanted by their work environment, but for whatever reason they can't or won't find another job.


I have to admit, I've often been in that cycle myself. But there are companies where that doesn't happen, so you have to ask yourself: why am I always ending up in these lousy companies?


It could be that stages 1-3 mirror the company lifecycle. Companies start out not sucking (as startups) and slowly either become lousy and big, or get bought into a lousy and big company.


there is definitely some of that. i can think of two former employers where i was one of the first ten employees, and i really enjoyed the work in the beginning. then they got bigger and things started to suck.

at the other end of the spectrum, there are the rockstar programmers who pretty much never have this kind of problem. they are always sought after, they can pretty much name their own game. they don't have to deal with lousy employers for one second, because there's always somebody offering them something better.

i'm not one of those guys. but i'm aiming to get good enough at the game that i don't always dislike my job, at least.


Absolutely no disrespect intended.... but perhaps it is not the companies at fault? I mean to say, are the other fellow hackers/employees present just as disenchanted with the management and direction of the company as yourself, or was it always just you?


that's a good question.

i'm of the opinion that there are really good A-level programmers, competent but not terribly imaginative B-level programmers, and so on.

those companies i'm calling "lousy" were populated by low B and high C level people. management comes to expect certain things from these types. you have to be at the office eight hours a day, no goofing off, you have to be managed pretty heavily or you won't get anything done, etc.

if you're the low B or high C type of programmer, you could be very happy at that kind of company. so yes, there were a bunch of my coworkers that were satisfied.

personally, i rate myself as a high B. i work best with minimal supervision. if the higher-ups get out of my way, i can do an enormous amount of work in a very short time. i can solve most problems on my own that nobody imagined would occur, without even bothering anybody with the details, most of the time.

i do a lot of what looks like goofing off, which makes low-B-level higher-ups uneasy. my desire to work independently and get things done quickly often runs afoul of the culture, which decrees that your boss gives you thing A to do, you do thing A and ONLY thing A, report that you've done it, commence twiddling your thumbs, the boss gives you thing B to do, and so on.

so companies i'm calling "lousy" are really just a poor fit for me. and they don't get nearly as much done, and they're liable to be working on boring problems.


Playing Devil's Advocate here, but perhaps you're a "lousy" team player?

Technical ability is important, but so is being sociable and getting along with your peers. In fact, being sociable can often bond teams and elevate everybody's performance just through their willingness to work together.

An extreme example of a "lousy" team player: I know a very smart teen, who recently emigrated from Europe, who's got more raw programming talent than I've ever seen in anyone. He's currently working for a friend's startup, and he comes in after-hours to do his programming.

It's a small team, two or three programmers inclusive, and the other programmers are no slouches. However, he doesn't take direction, rarely interacts with fellow programmers and has no concept of business requirements. Experience will educate him with some of the business requirements (e.g., code reuse as opposed to writing from scratch), but if he doesn't think it's important, he simply won't play ball.

You can't build a solid team with that kind of personality.

Clearly, you're not so neurotic that you need to come in after-hours to code, but the tendencies are within most able programmers. Instead of locking yourself away, use your downtime to observe and educate your fellow programmers (and encourage them to do the same). No matter how able you think they are, they'll teach you something of worth.


You actually can build very successful teams with the kinda of personality, but they're very different animals than most are used to. They feel less like a team playing a sport and more like an artists collective. And to make everyone walk in one direction, the bar is set much harder -- you need to explain well why you believe this is the right direction.

Many very good hackers mirror such statements. It's not always a matter of wanting to do something 'your way', often times, a hacker will bristle at management because he or she genuinely thinks (and has good reason) that it's to the company's benefit.


I would think that most passionate programmers have this personality to some magnitude, but it's the magnitude that really counts. There is a threshold where a hacker's isolation outweighs their technical flair. It's a potentially dangerous situation, because when there is no chance to challenge a hacker's perceived authority on what would otherwise be a reasonable conclusion, the hacker can remain under the notion that the conclusion (and often subsequent, unrelated conclusions) are infallible.

At some point in a hacker's career, no matter how smart they are, they're going to be wrong about something. They will respond one of two ways: they will retract into their shell and fortify their position, or instead, poke their head out and learn how someone on the outside formed their opinion.

Curiosity begets discussion begets socialisation. Hackers are touted to be curious by nature, and I wouldn't imagine that curiosity excludes human beings. We are, after all, the strangest contraptions we're ever likely to encounter. If a hacker's reasonable conclusion is rejected, then isn't the better response to open a dialogue as opposed to assuming that your rejector knows no better?

The hacker needn't have been rejected by management either. If the hacker disallows a fellow hacker the opportunity to understand and challenge their perceived authority through deliberate interference, how can they claim to be a hacker? They're applying the same management practices they claim to detest to achieve superiority.

In the end, it comes down to having a curious mind and an open ear. If you don't have these traits, you can't seriously consider yourself to be a good hacker - or a good manager.


i couldn't have answered this any better than danielle did, so i'm going to let it stand. heh!

i guess we're all somewhere along the cubicle-worker-bee/cowboy spectrum. i'm closer to the cowboy end. as is anybody serious about being involved in a startup, i think.


It hasn't been every company for me, but I've been through that a few times now... and I think it fits every BIG company I've worked for, and it happens a lot less at the smaller ones.

Part, probably most, of the cause for me has been that the bigger companies have invariably had a much higher requirement for maintenance work than the smaller ones. At the big companies, I find that the senior and newbie developers are sharing the same tasking, so the newbies (and the less capable seniors) are generally satisfied, and the talented folks are underutilized and bored, and end up leaving.

That also means that the higher the bar for hiring at the larger companies, the higher the percentage of dissatisfied developers.


Interesting examples of the "PAP". A good follow-up might examine why a programmer is passive-aggressive.

thaumaturgy hits on one common reason: the programmer is a product of his environment.

Another very common reason is that the programmer is in over his head and uses "fog" to protect himself. Why? It's easier. And it works. Problem is that the programmer has done nothing to get out from being in over his head. And probably never will. They're everywhere.

My first mentor once told me why he thought there were so many mediocre programmers: all they have to do is stay one step ahead of the user. In a commercial environment, not so hard to do.


PAP has no stake in the outcome, he does not own the place, his stock options are worthless and the only way to climb up the ladder is to show accomplishment to his own name. Other PAPs have the same motivation.

In other words, PAP is not interested in having consultant succeed. Entirely rational behavior. That's how you get to having to call in consultants in the first place, so this goes with the territory.


it sounds like this guy is a consultant, who management brings in, and everyone there automatically hates him.


Ooh, another reason to be a PAP:

"I had a chance to meet this young man and boy does he have Straight to Upper Management written all over him."


Yes, and could well be proposing the exact things that the staff engineers already proposed, but were rejected by management!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: