It’s 1993, and I’m working at Taco Bell. Working here is miserable, but very instructive as a low-level view of corporate dysfunction.
I’m 22 now. My life isn’t irrevocably ruined by this fast-food detour, but I can feel the clock ticking. The longer I’m stuck in this rut, the harder it will be to break out. I need to find some kind of technology job soon. This is hampered somewhat by the fact that I’m afraid to look for work. I like thinking that I’ll be able to get some kind of job doing what I love. The only thing that can kill that dream is to attempt to do so and fail. I’m not really aware of this dysfunction right now; it’s just a little neurosis that eats away at me from time to time and perpetuates foolish behavior.
My friend David is going to school at Nyack. Patrick has graduated high school and gone off to the Navy. I’ve made new friends at Taco Bell but we’re all friends of proximity, not common interests. I’m feeling a little isolated these days.
Heather is now in her second year of college. She’s double-majoring in elementary and special education, with an art minor. In those rare moments away from school, she’s working as a nanny. It’s keeping her busy. We’re still dating, but our relationship is an on-again, off-again thing. Taking the long view, this is probably for the best. I’m not a very nice person to be around these days, and our distance saves her from the brunt of my bitterness, self-absorption, and jackassery. The friends around me are not so lucky, and I end up treating a lot of people very poorly.
I’ve been made a shift manager. I’m allowed to be in charge of the store and I’m privy to the inner workings of the business in a way that wasn’t possible as a lowly mook at McDonald’s. I find I’m very interested in the problem of how the weekly work schedule is made.
Making a work schedule in a place like this is a fiendishly difficult task. Each employee has a schedule of availability that is unique to them. Alice can only work weeknights before nine. Bob can only work Monday, Wednesday, and Friday, and can’t work after dark because he still has a junior license which prohibits nighttime driving. Carl can’t work on Sundays, won’t work before three in the afternoon, and his mother doesn’t want him to work more than ten hours a week. Dave and Ellen can’t work at the same time, since they’re living together and one of them needs to be home with the baby. Furthermore, some employees are not suited to some tasks. Fred is too dumb and rude to work the register. Gretchen can work the register but hasn’t yet been trained on preparing food. Additionally, you must make sure to give all of the employees the right number of hours for the week. You can’t let the full-timers drop below forty hours or they won’t be able to pay their bills. You can’t make any of the minors work above a certain limit or it’s a federal offense. You have to give everyone at least a few hours or they’ll quit. Above all, you can’t give anyone more than forty hours or corporate will mete out harsh judgement on you for allowing people to earn overtime pay.
Using this list of restrictions, exceptions, and limitations, you have to fit these employees into a schedule that gives you exactly as many people as you’ll need at any given time of the day. This task ends up being an hours-long puzzle where there isn’t guaranteed to be a solution.
At McDonald’s this was done by hand. Here at Taco Bell, the schedule is first done by a computer, and then a manager has to come along and completely re-build it. The computer can’t generate a usable schedule because the rules of each individual employee are so complex that there’s no way to explain them to the computer. (There’s no way to specify things like, “these people can’t work at the same time”.) The person who wrote this software lived in some sort of dreamworld utopia where all employees are competent at all tasks, people won’t quit if they don’t get enough hours, nobody ever needs a ride, and teenagers are willing to work on Friday nights. It’s an enormous pain to build the schedule using the clunky interface of this computer system, which means that the schedule is a lot more work here than for the people at McDonald’s who do it by hand.
In addition to building a useless and broken schedule, the computer system also calculates our allowed hours. It looks at the business you do on an hour-to-hour basis and uses that information to allot time for next week’s schedule. So, if we did a lot of business on Saturday night, it will tell you to have a lot of people on hand next Saturday. The other thing it does is examine your business at the end of the day and tells you how many hours of labor you should have used today. Without fail, at the end of every single day, it tells us we used too many. This results in corporate wrath falling on the head of the store manager.
Obviously there are a lot of problems with making computer systems to predict the future and then punishing the manager when it guesses wrong. The system doesn’t look at anything other than how much the store makes an hour. If you did $100 worth of business, then it concludes the place was dead and you only needed a couple of people. $100 works out to a customer every five minutes or so, which is very slow. You don’t need a lot of people for $100 worth of business, assuming all customers are evenly spaced. But in the real world (which is where my store is located) customers sometimes come in blitzkrieg waves. When Wal-Mart closes, twenty customers show up at once. Two people can keep up with an order every five minutes, but twenty customers at once will instantly bury those same two employees.
We have a one lane drive-thru. Once you enter, you’ve got the building on one side and a steep embankment on the other. It’s physically impossible to leave drive-through prematurely. It turns out that if someone finds themselves thinking, “I am hungry, and in a hurry. I will use the drive-through”, they will be incredibly angry if they find themselves trapped for half an hour. If not for the fact that they’re already late for something, we’d probably have to deal with a lot more profanity and shouting.
None of this would be a problem if there was a human being rating the performance of the store, but it’s all done by computer and nobody has the authority to overrule the computer. This place has chewed through three store managers since I was hired. They’re calling this place a “problem store”.
Upper management types come here now and again to figure out what’s wrong. I often hear these guys talking about the “model store”. At first I thought this was a hypothetical thing, but now that I’m a shift manager I’ve discovered that this is a real place. Somewhere out there is a real, physical building where managers observe business patterns, employment trends, and products. They use that data to decide how to run all other stores, under the assumption that all stores should be pretty much the same. It quickly becomes very clear to me why everything is going wrong. At the McDonald’s where I worked (and, I assume, at the model store) business follows a fairly predictable sine wave. There’s a morning rush, a lull, then the huge lunch rush, then another lull, then dinner, then a slow, steady decline of business until closing. This pattern is very regular, to the point where you could know what time it is simply by observing the number of orders and the ratio of drive-through to dining room customers. (People are less likely to come inside once it gets dark.) This pattern does not hold for our Taco Bell.
After observing (and suffering under) the computer system, I can see what’s wrong with their computer model. It’s built atop two assumptions that are demonstrably false for our store:
1) The traffic of one week will resemble the traffic of the previous week.
2) For any given hour, orders are roughly evenly spaced, or arrive in brief clusters.
The system doesn’t allow for traffic spikes or unpredictable traffic patterns. When these reports show up in the hands of some distant district manager, they either cannot see or cannot understand what’s really going on. They just see that, according to the computer, we burned an extra 16 hours in one day. This means that we supposedly had one more person than was needed, the entire time the store was open. They get an image in their heads of a person lazing around the store from open to close, soaking up hours but not having any work to do. This manager passes down the directive for the local manager to fix this problem. When that manager fails to fix it, they are removed and the job is given to someone else. Higher ups keep showing up with notebooks full of reports and asking why we can’t be more like the other stores in this district.
The gap between how many people we need and how many people the computer says we should need is large. The store manager usually tries to split the difference and be only moderately short-handed and moderately over-budget. On a normal day this is tolerable, but when we’re hit with traffic spikes we end up with chaos, wrong orders, bad food, and shameful service times. I want to apologize to every customer as I hand them their food. Some of the order times exceed twenty minutes. That’s the gap between the order being placed and the order being “bumped”. (Completed and cleared from the queue.) The customers actually waited for much longer if we include the time they spent in line. This is horrible. They could have gone to a sit-down restaurant and have obtained their food faster.
This place should not be a problem store. We’ve got the high school, the intermediate school, the fairgrounds, the lake, the state park, a movie theater, and two different shopping plazas nearby. We’re the most convenient fast-food place for both Target and Wal-Mart. We’re sitting on the nexus of a couple of major roads. There are other fast food places in the area, but we’re positioned at the end of the strip so that shoppers must drive past us to get to the other restaurants. We’ve got customers, all we need to do is keep enough people on hand to sell them the food they want without pissing them off.
A lot of our traffic comes from people travelling to or from the lake, and those customers can be multitude or non-existent, depending on the weather. Making a truly accurate schedule ahead of time would require us to be able to predict the weather more than a week in advance, and with greater accuracy than meteorologists. We would need to know the schedule of every sporting event at the schools, every event at the fairgrounds, and the exit times of all of the popular movies. (Which would require knowing which movies would be popular ahead of time. Even if such a task were possible, it would be a part-time job in itself.
Even if we magically knew when the traffic spikes were coming, you can’t surgically schedule people to work like that. “Oh Bob. We need you to work on Friday night at six for an hour. Then at nine for an hour. Then come in again around two for the bar rush. Thanks.” If you need three people at nine in the evening and three people at two in the morning, then you need three people the whole time, no matter how slow it is at midnight. You can’t explain this simple truth to the computer, even if you swear at it. I’ve tried.
The upshot is that this is really an excellent location for a fast food joint, but the chaotic business patterns confuse the computer system and cause it to incorrectly appraise our performance.
It’s bad enough that this place is grinding up managers and failing to capitalize on all of the available business, but this bad service is also damaging the Taco Bell name. This is the first Taco Bell in the area. For many of our customers, this is their first (and possibly last) impression of the brand name. After one visit they will have learned that “Taco Bell” is synonymous with filthy stores, haggard employees, trash in the dining area, and twenty-minute service times. Taco Bell is worried about spending an extra five bucks an hour to staff the place, but we sometimes lose double that in refunds, food wasted to mistakes borne of chaos, and drive-off customers. Beyond that, we don’t even have a way to count the people who walk in the door, see the line, and walk back out. Even if you take the extremely short view on such things, this skeleton crew policy is a massive liability to the company name and the bottom line.
The frustrating thing is: I can see this problem. I see how the computer is supposed to work, and I can see where it’s actually going wrong. I’ve diagnosed the problems with the system by simply observing the daily traffic and reading the resulting reports.
I try telling a few of my bosses, but I’m generally dismissed as a whiner and a Luddite and a paranoid. They assume I’m blaming the computer because I’m an angry dumb kid and I want to shake my fist at “The Man”. It’s true that I’m not particularly diplomatic or dispassionate with my observations, which is a skill I’ll acquire later on. However, I’m not just looking for someone to shake my fist at. I’m upset because the engineer in me can see a malfunctioning and self-destructive system, but I have no means or authority to fix it.
I’m sure not even my bosses’ boss knows the name of the person at corporate headquarters who is in charge of the people who envisioned this system. They might as well be on another planet. There is nothing I can do to explain this, even if I was willing to go over someone’s head. The store is a nexus of loss and personal strife, and all of the problems can be traced back to a computer system that nobody has the authority to question.
I’ve felt this way before. I remember sitting in classrooms and looking at the inane and counter-productive things being done around me. I remember the helplessness and frustration I felt at observing an unassailable status quo. This isn’t just a problem with schools. It’s a problem with any large system. It’s a problem with people. Any time you have a system where there are several layers of separation between the decision-makers and the decision-implementers, you’re going to have these situations where the left hand is feeding the right hand into the woodchipper.
I don’t know if my career will ever get moving again, but if it does I hope I don’t end up working for another large corporation. Ideally, I’d like to work in a small company. I want to be part of a small team, where my input will be valued and people will be able to see the results of my work. I don’t want to ever find myself in a position like this where I’m in charge of polishing the brass on a sinking ship.
Diablo III Retrospective
We were so upset by the server problems and real money auction that we overlooked just how terrible everything else is.
Two minutes of fun at the expense of a badly-run theme park.
The No Politics Rule
Here are 6 reasons why I forbid political discussions on this site. #4 will amaze you. Or not.
Here is a 13 part series where I talk about programming games, programming languages, and programming problems.
In Defense of Crunch
Crunch-mode game development isn't good, but sometimes it happens for good reasons.