Monday, December 18, 2006

Process Snobbery

As an idiot, I'm used to getting goggle-eyed looks and incredulous gasps when people are introduced to the depths of my idiocy ("What do you mean you've never [insert random programming task here]? What kind of developer are you?"), and that's fine. I mean, everyone has their standard for what makes a "Real [insert profession here]," so I find this small, everyday bit of snobbery easy to ignore. It just so happens that I seem never to meet anyone's standard for what makes a "Real Developer." But one related bit of everyday snobbery that I do find frustrating is when certain activities or processes that aren't fixed or standardized across enterprises are treated as if they are standardized, and I subsequently get treated as an even bigger idiot for not somehow knowing a given group's processes without having ever been told what they are.

I mean, take functional specs as an example; I'm yet to see two companies that do functionals exactly the same. Yet when I do a functional at one company, they look at me goggle-eyed and say, in so many words: "That's not how to write a spec! What's wrong with you?" I then fight to learn their way of doing it, only to go to my next gig and go through the same thing. It's gotten to the point where I just point-blank ask people how they do specs (among other things) ahead of time to spare myself the embarassment. I mean, I'd rather have them just think I'm an idiot up front and get it over with, rather than struggle through trying to guess how they want things done and looking like a really colossal idiot.

Now, to reiterate, what bugs me here isn't that everyone has slightly different ways of doing the same thing, 'cos that's to be expected. What's frustrating is that even though everyone does it differently, they all seem to expect me to produce a perfect spec for them on the first try without them first telling me how they like it to be done, as if a functional spec was a constant across all enterprises and once you've done one, you've done 'em all. It's a no-win situation, really. Even when I ask ahead of time how a given client wants things done I still come out on the short end of the stick 'cos then they think I'm stupid for not knowing and having to ask.

I swear it feels like the upper-echelon developers have a secret club where everybody magically knows how to do everything exactly right the first time. Only, I know that's not true (duh), 'cos I hear the high-end capital-T Talents bitch endlessly about each other all the time. So what gives? Just once I'd like to have a tech lead or architect say to me "Okay, we need you to write a spec, and here's how we do specs at this company..." and then give me an actual explanation before expecting me to start churning things out. Sure would make life more pleasant.

No comments: