Before We Die Alone
Page 2
He’s not getting it.
“My modules are due the seventh. Today is the fourth. UT will get their build in three days.”
“It was my understanding that the build schedule was moved up to accommodate the aggressivization of the deadline.”
This office is where the English language is led at gunpoint to dig its own shallow grave.
When I was merely a programmer, the conversation would have ended there. One could make a decent case for why marketing should dictate schedule. They understand advertising deadlines, and buying habits. If the schedule trumps everything else, then the programmer should be able to ramp up or down the optional features they include in order to meet that schedule.
Once I became a manager, I was expected to push back. One of my roles is to make sure that each new release moves our product in the direction of our long-term goals.
I can’t advance the ball if the referee declares the game over at the half.
Just for clarity—American football was a game of symbolic warfare. A ball was advanced into the opponent’s territory if the defenders could be subdued. Gaining ground was the professed goal, but the real objective was money. Just like war. Also like war, the participants traded their blood and well-being in order to succeed.
I’m not making enough money to offer my blood.
“I have a list of frozen specifications, and a fixed budget. Get me more money, and I’ll put more people on it. Either that, or you’re gonna have to unfreeze my specs.”
“Not possible,” he says.
“Exactly.”
He smirks at me, as if his point has been made and he has won the conversation.
Time slows to a crawl. He walks away and I put my headphones back on, but I am nowhere near the zone anymore. It could take an hour or more to get my rhythm back. It would be amazing to chart efficiency versus foot traffic. Left alone, I can accomplish nearly anything. Need a complete rewrite of the level two harness mediation system? Not a problem. The toughest part of that task will be naming the variables. The rest is cake. My code is clean and well-commented. I can produce a set of files that someone right out of college could maintain without breaking a sweat.
I wonder if that’s what we’re coming to. I have to think that in the near future, programming will be on par with plumbing and electrical work. There’s no artistry anymore, at least not in a competent shop. Back in the day, coders didn’t have the science or rigor to know the most precise and efficient way to solve a given problem. Crack open source code and you will find ten different design patterns in the same project. None of them were empirically optimized. People worked by the seat of their pants and they could demand big money for work that was nearly useless unless they stuck around to maintain it.
We’re making widgets. We’re making commodity solutions to well-defined problems. We’re lucky they pay us at all. I wouldn’t be surprised if programmers were treated like landscapers in a few years. Stop in front of Office Depot and pick up a half-dozen to get some code done. Pay them fifty bucks a day, under the table.
“Pssst!” someone calls from the kitchenette.
I throw down my headphones in disgust, ready for a distraction.
A whole group of distractions are crowded around the coffee pot.
“What’s going on?”
“We’re putting ground glass in the coffee,” one of them tells me. She works in the Human Resources Department. A lot of people think that Human Resources is there to serve the workers. They’re not. They exist only to protect the company from lawsuits.
“Glass?” I ask.
They all giggle. There are about five of them conspiring on this little plot. It’s hard to tell exactly how many. They keep darting and weaving around each other. They all want a hand in the assault.
“Yeah,” one says. “Jerry crushed up a wine glass, and we put it in the carafe. Don’t drink anymore coffee this afternoon, unless you want glass in your gut.”
They all laugh again.
I push up to my toes and lean to the side to watch. One has an envelope, and they’re pouring the powder from the envelope into the coffee pot. It could be anything—crushed salt, or even baking soda. Who knows? They might be adding something completely harmless. If so, then who is the joke on? Me?
“Why are you putting glass in there?”
One of them frowns at me and motions for me to settle down. “Relax. It’s ground so fine that it’s not going to hurt anyone.”
“I don’t understand. Then why are you doing it?”
“For Christian,” one says. “Christian won’t even know.”
“Oh,” I say. I nod as if the whole thing makes complete sense. Meanwhile, I’m trying to take mental inventory of what’s under my kitchen sink. I think that’s where I stashed the big thermos I used to have. I’m going to need it. I’ll just start making coffee at home again, and then bring in a day’s supply. As long as I’m at it, I should stop putting my food in the office refrigerator. I’m not going to trust these savages to be alone with anything that’s going in my body.
As I wander back to my desk, I hear them giggling again. When I turn around to look, they all stop giggling at once. Whatever they said, it was definitely about me. To prove my suspicion, as soon as I turn my back on them again, more giggling.
Savages.
---- * ----
I have an alarm that goes off at five. I don’t leave at five or anything like that, but the alarm marks a change in my attitude. After five, I’m there for me. Nobody is forcing me to stay. The work I do after five is work that I want to do for my own personal sense of accomplishment. I’m careful to leave everything in good, working order for the morning. In the morning, I’m back on company time, and I can’t waste it cleaning up one of my little side projects.
The office clears by about five-twenty. Yes a few die-hards stick around, but they’re all courteous and quiet. Nobody is going to come up to my desk and stand there talking until I remove my headphones.
I chase down a bug that nobody is complaining about. It’s a good stopping point, but I keep going. I hate leaving right after a big mystery is solved. If I do that, then on my way home I’m not going to have anything interesting to think about. I’ll just turn the mystery over in my head, again and again, until I convince myself that my fix was actually wrong. That’s a terrible feeling—to be away from the source and realize that you’ve published a mistake? Terrible.
No, I would rather spot a mystery and do just enough investigation to get a sense of where it is. That way I can dig through the details as I walk and have a solution in mind for the morning.
“Hey. Can I talk with you?”
It’s one of the other night owls. I would say that he works for me, but this guy works for nobody. He stabs his keyboard like he’s playing whack-a-mole with invisible trolls that live under the plastic buttons. He’s fueled by tireless anger.
“Of course.”
“Seven won’t build.”
That’s what he said, “Seven won’t build.” It’s not a question. It’s a statement of fact, and I’m certain that he knows that I already know it.
For clarity—when you take all the source code that people have composed, assemble it into a project, and run it through the compiler, it’s called, “Doing a Build.” Here we are, already adopting the vocabulary of our future caste. We might as well stop calling them computers, and start calling them hammers.
Back to this guy—he’s telling me something I already know. Further, he knows that I know that he knows. So, what’s his message? Is he complaining about seven? Is he asking me to do something about seven? Clearly, if I could fix seven, I would have done it days ago and saved a lot of people a ton of work. I’m never going to figure out his point unless he offers me more information. By the way, we’re talking about Perigee Seven, a haptic controller block.
Here, in the first twenty percent of the twenty-first century, people are obsessed with touch screens. They put them on a watch, a phone, a refrigera
tor, and a car stereo. Cars are these big blocks of rolling metal, propelled by tiny, contained explosions. When driving these rolling, explosion-filled masses of kinetic energy, nothing is more important than paying attention to where you’re headed. There’s a control called a “brake pedal,” which can quickly convert the rolling momentum of the car into heat, but it only works when the driver has the sense to press it with his or her foot. In order to distract the driver from this solemn duty, car manufacturers build in little touch screens into the dashboard.
In order to operate the navigation, audio, or even the environmental controls, a lot of cars require fine motor skills and undivided attention.
Imagine someone performing heart surgery on your beautiful, helpless infant. Now imagine you put your hands over the surgeon’s eyes. These touch screens are the hands over the driver’s eyes.
The company I work for is building haptic control support circuitry. Unlike a touch screen, a haptic control provides tactile feedback to the user so they can feel the control they’re trying to manipulate. The screen might show a picture of a knob, and when the operator turns it clockwise to its limit, the knob will hit an imaginary stop that he or she will feel. Perigee Seven is one of those control systems.
“I’ll get Aaron to look at it tomorrow,” I say.
“He looked at it today.”
It’s true. Aaron spent a good hour on the build today, and his only conclusion could be summed up in a sound and a word.
“—sss broke.”
Why is tomorrow different? It’s not. I just want to get this guy out of my hair, so I can get back to what I’m doing. Just because he’s stymied by a bad build doesn’t mean that I can’t finish and feel good about what I’ve accomplished. Technically, I already accomplished something. Technically, all I’m trying to do now is find a new can of worms to upend on my desk so I have something to think about tonight while I’m walking home, fixing dinner, and taking a shower. Still, I’m resisting this man’s unspoken request because debugging the build process doesn’t sound like fun. Frankly, it seems beneath me, and I don’t want to do it.
He simply stares at me.
I try to go back to work, but he’s not leaving.
---- * ----
Aaron’s office shares a wall with the build room.
Just for clarity, the build room is where the software is compiled. The lab, on the other side, is where we build physical things. The terminology would be confusing, if I paid attention to it. I start in Aaron’s office. Any machine can kick off a build, but Aaron’s machine is the one that triggers the recurring builds, so it’s the best place to start.
In the old days, when files were paper and work was done with a pen, would it be okay to sit down and go through someone’s drawers? Probably, right? Everyone would share the expectation that only work went in those drawers. Sure, you might push apart the hanging folders and find a bottle of booze, but the stuff in the files would just be work, right?
A computer is different. Logging in to Aaron’s machine is somewhat like borrowing his toothbrush, or flipping through candid photos of his family. Actually, that second example isn’t right. It isn’t “like” flipping through photos, it is flipping through photos. His machine is set to flip through his family photos as soon as it comes up. I don’t know why he has it set to do that when a guest logs in, but it’s likely he doesn’t realize what he has done.
I watch the photos go by.
His wife looks like she may have been attractive, back when they got married. His daughter is… a work in progress.
Oh Jesus.
My legs straighten and the chair rolls back from Aaron’s desk when a photo of his son pops up. I turn away until the photo changes. The next one is his wife and dog. I think I can guess who Aaron Junior’s real father is. Sheesh.
With two careful fingers, I reach forward and minimize all the applications. Mercifully, the slideshow goes away.
It takes me about twenty minutes of banging away, but I finally find the error message.
The build is breaking on a custom step when the firmware is loaded to the prototype device.
Figures.
In the interest of clarity—firmware is a little bundle of instructions and data that we send over to a device so it will work. The device itself is like a little, special-purpose computer. When we load the firmware onto it, we’re teaching it how to operate as a Perigee Seven haptic control subsystem. Clear, right?
In one of the final build steps, the firmware is sent to the prototype in the lab. Aaron never goes in the lab. If he even tracked down the error, I’m sure he ignored it.
---- * ----
I don’t like the smell of the lab. It mostly smells of burnt soldering flux. Most people claim to love it, but they’re probably lying.
“This won’t hurt a bit.”
“It tastes like chicken.”
“The water’s not cold at all.”
“I love the smell of burnt soldering flux.”
Those statements are all equivalent. They appear to convey information, but all they convey is that the speaker is a liar.
I sit down at the bench where the Perigee Seven is racked. The control cable comes up through a hole in the bench. At least the lab people keep everything neat, even if they are liars.
When I’m looking for something, my natural inclination is to scan and dismiss. If I’m looking for a red book, I’ll walk into a room, let my eyes jump from surface to surface, and evaluate every red object.
Book? No, plastic cup.
Book? No, tape dispenser.
Typically, this method results in finding the book ZERO percent of the time. Here’s the problem—I’m looking for a red book, because the jacket is red. Unfortunately, I removed the paper jacket after I got the book, because the corner got folded over and I didn’t want to damage it more. Or, the book was never red, but it’s entitled The Red Menace, so I just assumed it was red.
My point is this—I’m terrible at finding things.
I’m trying a new approach. Instead of scanning and dismissing, now I simply walk into a room and see what I see. I try to have no preconceived notion of what I will find. I will experience the world and then evaluate the truth of it, leaving my expectations behind.
With that in mind, I take the cover off of the Perigee Seven. I expect that one of the components has burned up, preventing the firmware from loading. It happens all the time. If that’s the cause of the error, I can submit a work order for the lab staff and I’ll be done with this task.
What I find inside is nothing like what I expect.
The circuit board is green with tan traces connecting all the soldered components. Where the chip should be, I see a tiny, bloody heart, the size of dime. It looks like maybe it came out of a mouse or a squirrel. I’m not versed on rodent anatomy. Tiny gold wires connect the heart to the circuit board. As I stare, mouth agape, dumbfounded, the heart contracts and makes a barely-audible squishy sound.
“It doesn’t work,” a voice says from the door.
I don’t know why, but I spin around, putting myself between the tiny heart and the “seven won’t build” guy. I don’t want him to see it.
“Give me a minute,” I say.
He shrugs and wanders off again. I shut the door to the lab and lock it. I come back to the Perigee Seven slowly, almost superstitiously. Part of me wants the heart to be gone, but most of me doesn’t. I can’t figure out which scenario would make me feel less insane.
It’s still there.
I find a set of tweezers and I start pulling the wires from the beating heart. Once I remove the organ from the device, I put it on a lint-free wipe and fold it carefully into a plastic bag. I clip back the loose wires and use cotton swabs and alcohol to clean away the blood. The processor was still under the heart. Once cleaned up, it looks fine. I bring up a terminal and remotely fire off the build again. I don’t clean away any of the object files, so the process runs fast. In no time, the little light on the Pe
rigee Seven is flashing—the firmware is loading.
Success.
I unlock the door and track down the guy at his desk.
“Try it now.”
“Yeah, it’s working,” he says, without looking up. “It has been fine for like ten minutes.”
He must be exaggerating. I only fixed the thing two minutes before.
Chapter Seven
* Puzzle *
I BRING THAT PLASTIC bag into my house. I put it on my end table and I let it sit there while I watched TV. Before DVRs and On Demand, television used to be comforting. Have I explained TV yet? For clarity, TV is a two-dimensional window into an imaginary world. Flattened, color-balanced, and turned into pixels, a visual representation of life was offered in order to educate and entertain. When I was a kid, we would leave this window open all the time. It connected us to a fake community. It provided the noise necessary to convince us that we weren’t isolated within our walls.
I don’t leave the TV on anymore. I turn it on for a very specific purpose—to attend to my queue. Recorded onto a little box are all the things I thought I might want to watch. Now, I have to beat them back with my eyes and ears. I can delete a program only after I’ve paid tribute to its useless messages. With these images and themes hammered into my brain, I will be equipped to have deep conversations with my co-workers about what is happening in the world.
I sound like a college student who has recently realized that they have it all figured out. I’m aware of this.
Finally, I hear Adam stirring. I mute the TV.
“Hey,” I say.
There’s no answer for a bit, and then footsteps from the other side of the grate precede his greeting.
“Hey,” he says.
“You’re never going to be believe what I found in the lab tonight.”
“Yeah?”
“There was a rodent heart wired up to one of the circuit boards. There’s some psycho working at that place.”