I have a really shitty job. Even if YOUR software did what it was supposed to, it’d still be a really shitty job. It’s about on par with lancing boils on the butts of rabid monkies. Please bear this in mind as I describe a typical day for me, okay? Thanks.
I’m a Customer Service Rep for a large cell phone company. I spend all of my time at work, except when I’m on break or in the can, at a computer terminal which is running your DOS based software program. Much of my day is spent listening to people who can’t understand something as simple as payment = service. (You know, if you don’t pay your bill, we turn your phone off, that kind of thing.) So when these folks call in and spend a good five minutes discussing intimate details of my sex life, and want to know how much money its going to take to get their phone turned back on, do you know what I have to do? You should, you wrote the software, but let me explain it to you anyways, okay?
Step One: Tell the customer that I’m going to have to put them on hold for about two minutes while I check on that. Now do bear in mind that this customer has already spent half an hour on hold, waiting to be connected to me. Naturally, what they want to hear is that they’re going to have to be put back on hold. Yeah, right! :rolleyes: Why do I have to put them on hold, you ask? I’m getting to that.
Step Two: The front page of the customer’s account shows what it says is their current balance. This is almost always incorrect. Don’t ask me why, you guys are the ones that wrote the software and you should know. So how do I find their correct balance? Easy. I click on the pull down menu marked “Inquiry” and select “Account Balance.” A few seconds later a window pops up on my screen with a long list of numbers and a total. This information is also incorrect. I close that window and open the account notes. In the account notes, next to my log-in ID, is another total. Again, this total is also incorrect. If I’m lucky, and there’s not too great a load on the server another total will appear in the notes in a few seconds labelled “background.” This total is, at last correct. Assuming the system ever bothers to give me that total. (Otherwise repeat Step Two until it does.) On to step three.
Step Three: I now have to find out why their total is so high. Because they will invariably ask me about it, so I might as well find out the reason before I go back to them. This is almost an easy process. I go over to the “usage” button and click on it. In a few seconds, it shows me the customer’s usage broken down into various categories, with a few exceptions. If the customer has multiple bundles of say anytime minutes or night and weekend minutes, the system will not show it to me. And unless I go to another screen, I will have no way of knowing that they have them. Then if they do, I will have to manually calculate their usage to see if there’s any overage. If I’m lucky, they’ve gone way over their anytime minutes and its caused their balance to exceed their credit limit. If I’m not lucky, then I have to poke around on a half dozen other screens to see if I can find anything else that might have caused their bill to be so high (assuming that they pay it with any regularity). If I can’t find it, I’m in trouble.
Step Four: I take the customer off hold and explain to them the deal. Another two minutes of them describing my habits with farm animals then ensues. Finally, they decide they want to make a payment. If they use a credit card, its over and done in no time. If they use a check, I’m fucked. Why?
Step Five: To take a check, you launch another program (all the while hoping your machine doesn’t crash), log into it, wait for it to connect with the central server, tell it you want to do a check by phone, and then manually enter in the customer’s 15 digit account number. If you’re lucky, the customer’s done this before and once you enter in their account number (And you’ve got to type all those digits in, no “cut and paste” allowed here!), all the various information will populate the necessary fields, if not, you get to enter it all in. Its a relatively straightforward process, except for two things: 1.) When you ‘tab’ to go to the next field there’s a ten second delay while the program “updates” itself. 2.) You have to enter their checking account number twice. Once in a field that shows asterisks instead of numbers, and once in a field that shows the numbers. You have to enter the account numbers into the field that shows the asterisks first, if you don’t, you’ll get a message box telling you that the account numbers in the two boxes do not match. Once that’s done, you click “Save” and a box pops up with a confirmation number. This number is absolutely worthless, but we give it to the customers anyway.
Those steps are what happens when things go right! When things go wrong, its an entirely different situation. (And keep in mind that I’m only supposed to spend eight minutes talking to any given customer at a time.) Now, if I can’t figure out why their service has been cut off, I can try and bullshit the customer in hopes that they’ll buy it, cough up some money, and go away. Or, I can credit their account just enough to get their phone turned back on and let somebody else worry about it when the customer’s phone gets cut off and they call back in demanding to know why. Guess which choice I pick. If you picked anything other than the second one, you probably have to remind yourself to breathe on a regular basis.
That, of course, isn’t the worst part of my day, no, no, no. Its bad, but its not horrible. Horrible is what happens when someone calls into change their phone number because they moved.
Now, I foolishly thought when I started there that this would be a simple process of typing in their new address, and their new phone number would pop-up, along with the programming instructions for their phone. I was young and naive, to think so, I’ll admit.
No, here’s the proceedure I have to go through: I have to close their account, and then open a new account (retyping vast amounts of information in the process). And let’s hope that I’m having a good day and don’t forget to waive the early termination fee. Otherwise, the customer is in for one hell of a surprise when they open their next bill. And you know what’s really fun? Its when the customer is on an old plan of ours that’s no longer offered and has some groovy features (like say first incoming minute free), that none of our current plans have, do you know what I get to tell them? I get to tell them that they can’t have their old plan and they have to go with one of our new plans. All because you didn’t think about that when you originally wrote the software program and we have to compensate for your inadequacies, just like your wife does with the pool boy.
Even if the customer does have one of our current plans, there’s still entertainment aplenty for me! You know why? Because we’ve got roughly thirty different plans, and there’s all kinds of options you can get with each one. Now finding the right plan is tricky, but it can be done. You wanna know what the good bit about this is? The really good bit is this: There is a different option code for each plan, and they’re all coded almost identically! So if the customer wants the option of surfing the web from his cell phone, I have to scroll through a shitload of options all labeled “wirelessweb” with some kind of incomprehensable code stuck on either the front of “wirelessweb” or on the end. And these codes rarely, if ever match up with the kind of plan they go with. (In other words, say the customer has plan number 30 and he wants the web on his phone, the code for it is most likely something like “wirelesswebwb9” and not “wirelessweb30.”) Oh, and that’s assuming I can figure out if that’s the code for the web or text messaging (which is also labeled “wirelessweb”).
Now, I can see your eyes are starting to glaze over, so I’ll try and hurry this up. To top it all off, you guys feel the indescribable urge to do constant “enhancements” to the system, and you never bother to tell us before hand you’re going to be doing, or what they entail. Which means, for me, the proceedure that worked two calls ago, suddenly no longer works. Thanks, guys, really, I mean that. Because now I get the fun of figuring out what the new proceedure is on the fly and on my own. Assuming, of course, that your “enhancements” haven’t made the system more unstable than it already is and the program doesn’t crash while I’m trying to correct the glitch that caused Mrs. Flushbottom (a sweet little old lady on Social Security) to have a bill roughly the size of the company’s annual income.
Finally, let me say this: I do not know what kind of vending machine you got your degree out of, but I do know that if I ever meet you, I will kill you. Do you understand me? I will physically harm you. I will rip the flesh from your bones with my bare hands. I will tunnel through your abdomen, pull your head (which has been stuffed up your ass since you were born) out, and methodically begin tearing bits of flesh from it. I will continue to rip dime sized pieces of flesh from your body until there is nothing left. I will then distribute your mangled remains to every college, tech school, and university in this county as an abject lesson of what happens to people who can’t write code better than a three year old with broken crayons.