Jan 4 2010

Have I Lost It Or Am I Just Bitter?

Category: AlexRobson @ 11:42

Imagine the following:

You hire a house keeper. The house keeper’s name is Will. You tell Will that while you’d like him to vacuum, dust, do laundry and dishes. A few months pass, and Will seems to be doing an adequate job. Sometimes he misses a spot here or there, or he doesn’t complete every task. You politely show him what he’s missed and the next time, he tries harder. Things are working out ok. One weekend you’re having company over for dinner and your wife decides to get out the fine china. The next Monday, you get home and there’s burnt laundry, trash and shards of glass everywhere. There’s tiny glass shards in the carpet and on your clothing. There are chunks of glass embedded in the walls. There’s food on the ceiling. Some of your electronics appear to be damaged by shrapnel. Everything smells like smoke. Did a bomb go off in here? You see a note on the counter. It’s from Will. “Unknown glass handling exception occurred. –Sincerely, Will” You’re livid. You call up the agency that Will came from. You’re so angry you can barely form words. At the end of your tirade, a calm voice informs you, “Sir, I’m sorry but Will is not trained to handle china.”, and then cheerfully adds, “But! Will assured me that he had dusted, vacuumed and washed all your dishes and clothes before he dumping them all on top of some plastique in the center of your living room, covering that pile in trash and then detonating it!”

Microsoft is the agency. Will is their newest technology that’s being pimped as the best thing since electricity. Quite honestly, I couldn’t possibly care less about technologies that only work well during the honey moon stage. You know, that stage where you’re just fiddling around with the tech to get some idea of what it’s about and how you can use it. Sure, it runs great in a demo! It even handles simple PoCs well. But if the technology blows up in my face the moment I try to actually adopt it for professional purposes, what good is it? Give me back the hours I spent learning all this nonsense only to find out it doesn’t handle common, real world scenarios.

I’ve grown very impatient with Microsoft lately. All my fun-time (time set aside to write code) is turning into something more like:

  1. Vague Error Message 1938713598.
  2. I Google the error. (suck it, Bing)
  3. Snot-faced Microsoft team members are on forums everywhere saying “Well, it doesn’t really DO that useful thing you need, DUUUUUUUUUHHHHHHHHHHHHHHHHHHH.”
  4. I continue searching and reading.
  5. I find an error report on the product with no response or updates for months or years.
  6. I continue searching and read more.
  7. Clever developers have work arounds or entire flipping libraries to account for some inane flaw or oversight on Microsoft’s part.
  8. Lots of links talk about how doing the useful thing is nearly trivial in non-Microsoft technologies.

Sadly, I’m not exaggerating. I’ve just given you a pattern that describes several things that my coworkers and I run into on a semi-daily basis. Sure, there are work arounds. Yes, there are points to extend from. But these extension points often have their own limitations or require you to make even more modifications to other areas. Some idiot decided to make the class I need to modify sealed and internal. The utility I need to use to generate code so I can interface with it fails to tell me why it suddenly stopped working and there are only theories on why and 15 step lists that take me hours and hours to complete in order to find a solution.

I’m pretty sure it’s not just me. Sure, I’m ignorant and I don’t always do everything right the first time. But if “right” is only the most simplistic, untenable, unsecured, “hello world!”-esque use of a technology, there’s a different word I normally associated with that definition; asinine.

Is this software development? Is that the thing I’ve been in love with for years now? Have I given all this time and devotion and study to a craft, that at it’s best, boils down to balancing the amount of time spent fixing broken tools against the time spent doing actual work? I really, really want to believe that it’s not. I want to believe that there’s a tool set out there that, if appropriately applied to a problem, is largely spent addressing the problem space.

DANGER! DANGER! DANGER!

Don’t slur nonsense about “80/20 rule!” at me. I’m tired of hearing about the 80/20 rule. Sure, the marketing folks at Microsoft practically have 80/20 tattooed on their asses (one number per cheek, how clever) because they’re so convinced that’s the silver bullet excuse they can flash at customers when one of them finds fatal flaws in the crap being sold. But at the end of the day, it’s just some Microsoft sales person showing you their ass. Getting 80 of what you need doesn’t help you when the 20 percent is what everyone cares about.

Tags:

Comments

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading