Well, it’s not a return exactly. Not in the ordinary sense of the word.
What I’ve actually been doing is reading some of my old anger diary entries. This feels like entering a time warp leading back to my old life, living out days as a technology worker, even though I’m still happily living without any paycheck whatsoever.
Mental. Return. Only.
At this point you’re probably wondering what an anger diary is. Good question!
An anger diary is simple word document that I’ve used over the years to dump off horrible experiences and clear space in my brain. This is sort of like the pensieve in Harry Potter, but used exclusively for negativity. I originally created it back in 2005 during my second year working for a big Financial Company that was slowly driving me crazy.
And you know what? More often than not, going to the effort of writing things out helped to compartmentalize the crazy, allowing me to leave it behind and move on. It’s sort of like writing an email to a nasty person to tell them what you really think of them, then deleting it before you hit send. It’s therapy.
Why was I reading this Document of Horrors? It happened almost by accident.
Last week I had an unusually rough day. Without going into too many details, I’ll say that my brother is doing a lot of stupid shit. To make things worse, he needs money to cover for said stupid shit. Guess who he is asking?
That’s right. It’s Captain Moneybags himself. Me.
I gave him the story I nearly always give him. Dude, I am your brother, not a bank. I do not loan people money. Now let me ask you a question. Do you need this money for reasons of personal safety? Or is it to instead cover up a series of regrettable decisions you’ve made over the last six months?
Guess which answer he was forced to give.
After we spoke, I opened up the Anger Diary and unleashed fifteen hundred words of bitterness into the ether. This winds up being a lot like shouting into a pillow, except much more time consuming and with the added benefit of being able to, afterward, articulate perfectly exactly how and when and why you became so incredibly upset. Another plus: Your face doesn’t get all dank and moist from hot air backsplash.
At any rate, that’s over, and it’s (perhaps surprisingly) not the focus of this blog post.
Once I had the bro-down out of my system, I stuck around in the diary, flipping pages, fascinated.
The previous entry was last June, and it related to the costs of selling a house and what an incredible racket most of the real estate business is.
Before that? Over thirty straight entries of OMG Work Sucks.
At this point it occurred to me that more than a few blog readers have been asking for more real life office-worker misadventures, similar to the Job Experience set of posts. This shit will is perfect! I thought. And so it is. I selected the longest and angst-iest of the bunch to be published today.
The only warnings I’d throw in are:
a) They aren’t perfectly edited — I changed names to (new word alert) anonify the thing, fixed painful-to-look-at spelling and grammar problems, and not much else.
b) It’s real-time-unfiltered-in-the-moment frustration so you’re going to have to cut me some slack for being a completely immature jerk at times. These are my internal thoughts, written in the heat of the moment, and they have not been edited for political correctness or to adhere to corporate standards for speech, etc. There is also no perspective. I’m 28 instead of 38. I do not remind myself that I’m grateful to have a job or live in a developed country or that I’m a privileged white male with a very easy life, all things considered. Back then, I didn’t practice gratitude or care much about trying to see the brighter side of things. Nope. I just let it rip because, well, that’s how the day felt to me as I lived through it.
c) As a result of a and b, it’s artless, just like the majority of real life.
If my Job Experience set of posts tried to take a step back and illustrate some generalities about working a full time Software/IT job, this one instead zooms closer to the action, providing a play-by-play of one challenging day. When I read it, I felt, briefly, like I was back in the slog again, and it made me very happy to be done.
If people like this sort of thing, I’ll consider posting another at some point. My guess is that if you liked those Job Experience posts, you’ll find this one interesting, and vice versa.
Push v Pull
Nine PM on Friday, finally home. What a day. What a motherfucking day. Law enforcement officials should be grateful I haven’t gone 1-8-7 on anybody yet.
I should go to bed but I’m too aggravated. Will start at the beginning. Up at 6. Went running. Drove to work.
Sounds all right so far.
But it’s never that simple, is it? Let’s unpack that son of a bitch. I woke up at midnight last night after a single hour of sleep because I got a pageout about one of our major trading applications being down.
Turns out someone on the systems team restarted the host to complete some emergency security patching routine and they didn’t notify us. So I had to do a full health check on the system and then open a conference bridge with Operations to confirm the outage and ask for people on the application team to wake up and do a sanity test to make sure that functionality was OK. Because that shit better be working in the morning when people on the business side start moving securities around, or my ass is grass.
Still, when these things happen, I just end up feeling like: Fuck. I made an awful lot of people unhappy last night by requesting those pageouts. We didn’t finish until close to 1:30. That’s what we all do at this place, take turns making each other unhappy.
So this morning when I woke up at 6 I was particularly bleary, coming off 4.5 hours of sleep, but I refused to skip my run so I chugged coffee in a hopeful attempt to add an energy overlay to my structurally unsound mood. It didn’t work that well – I barely felt the caffeine. My run became something of a hot mess. There was a lack of underlying juice to power the system. I swear there were portions of it where I put one hand on the rail just to help me stay stable and keep track of my position on the treadmill and while I did this I actually closed my eyes and felt like I was half-asleep again even while running. I read somewhere that some horses can maintain a trot while sustaining light sleep. Maybe humans can, too.
Then I had to hit the Operations meeting at 7:30 because no matter what the fuck you did last night, no matter what emergency you were working on, you are expected to be in the office and fully functional the next day. Actually, particularly if you were working an issue, you need to be in that meeting so you can report what happened and what steps you took for remediation: In English: people gotta know what went wrong, and what you did to fix it.
I give the full report and of course the question becomes: What can we do to never, ever allow this to happen again? It’s the Director of Operations asking this question, and it’s a common one after shit-hits-the-fan scenarios like this. Although I understand why it’s asked, it always rubs me the wrong way – there’s something in it that refuses to acknowledge the fallibility of both humans and machines that I don’t like. So I’m like: I don’t know. Stop using computers for trading. Move back to paper-based systems to perform transactions themselves. Instead focus application development on making it functionally impossible to perform any task at all without following procedures.
I meant it as a joke but it came off like teenage sarcasm and I was immediately filled with regret. I think if I was a little less tired and bitter I might have given the proper adult response (Systems team must take steps to enforce Standard Notification policies when patching, our team must be made aware in advance that these events are scheduled so we can coordinate the work, etc) but what I actually said wasn’t taken well at all. The operational director called me a wise-ass and asked if I had any useful feedback, at which point I provided the correct answer on the second try and he nodded agreement which allowed us to, I dunno, move on.
He’s lucky. What I wanted to do was choke him while asking how he slept last night. I mean, not a serious choke or anything. More like a little mini-choke, an adorable baby choke, isn’t-it-so-cute-that-I’ve-got-my-hands-around-his-neck throttle, like the way Homer chokes Bart, who never seems any worse for the wear afterward. In my fantasy, it’d be just enough to make him stop being a robot.
After the Ops meeting I’m at my desk. It’s 8:30. I’m reviewing my task list and reading emails and I have way way too much to do, just like always, but it hits me suddenly that I’ve really got very little drive. There’s something there, but not much. My engine is misfiring because of a lack of fuel.
So for about half an hour I fuck off. I get a coffee, email my mom and girlfriend, read Fark. It’s the best part of my day, by far. In the 50’s, office workers had a complete breakfast at home around 7:30 with a physical paper unfolded across a tabletop before lazily reporting into the office around 9. Here in the next century, in the aughts, we eat vending machine pop tarts, skim online news articles and slam coffee between our 7:30 meeting and our 9. (And the general consensus is that quality of life has improved over the duration. What a joke.)
Fark says Kevin Spacey = Lex Luthor in the new Supes movie. And Anna Kournikova flashed people by accident. The world is in Uproar. Hilarious.
Then it’s 9 and I have a checkpoint with Cthulhu, who is my manager if I haven’t mentioned it before. I stop by his office and he impatiently waves me away through a full plate glass window – he’s on the phone. What an important guy.
I head back to my desk and two minutes later he’s in my own office. He immediately launches into a bunch of questions about the incident last night and why didn’t I page him?
It was fine, I had it under control. I asked Operations to page the application team and we did the required functional testing, we followed procedure.
Wrong. You failed to follow procedure because you did not contact me.
What I can’t tell him – what I really want to tell him, and I swear I want to shout this directly into his ridiculous looking pug-nosed face – is that I despise him, that he’s by far the worst manager I’ve ever had, and every time he gets involved in system-down events, he adds additional always-unnecessary bullshit tasks which end up extending the duration you’re working, so I ‘ve learned to not call him as a time-saving measure because, like most human beings, I like to sleep. I know I’m crazy that way. We’re supposed to pretend at work that we do not need sleep. We run on coffee and testosterone and pure fucking guts, 24/7. It is our singular purpose in life to serve the business.
But since I’m a sane person, I instead try to shift blame by explaining that I thought Operations would call him and they must have missed it but he’s got me pinned, says that this morning he spoke to the Operations rep that actually opened the bridge to get the full story and I made no such request.
Perhaps <Ops Guy> forgot to make the request. It’s his memory against mine.
It’s more likely that you forgot. This isn’t the first time this has happened. It’s a pattern with you.
It was midnight you know. The call woke me up. I wasn’t exactly functioning at 100%. It is possible that I forgot, I suppose.
I’m recording these failures. Be sure it doesn’t happen again.
As he walks away, I’m thinking two thoughts very loudly in my head. They’re ricocheting off of the walls of my skull with such force that they crowd out everything else for at least a few minutes.
One: What was the fucking point of that exchange? He came over here just to point out failures and rile me up. Bastard.
Two: He didn’t even thank me for handling the off hours event. Fact is, I was home, I took the call, and I promptly did what needed to be done without any errors or oversight.
To get the company back, I waste another ten minutes on Fark reading more pointless news articles. Bevis Lake was renamed to Butthead Lake in Census Data. Bill Gates’ computer crashes at CES. (Har, har!)
Then I try to get some work done. I really try. I look at my emails and tasks and pick the hottest mini-project I have, which is to update some script that our Production Control team executes to add some functionality to it.
I’m just about to dig in when I feel something sort of disappear inside of me. The little bit of drive that I had when I woke up had suddenly vanished, Tank Officially on E. I felt incapable of doing anything productive. This doesn’t happen that often but today the sense of emptiness has been profound throughout, like an abyss opened up across my chest, swallowing everything. I sat and stared at my keyboard for I’m not sure how long.
But then the Windows notification noise starts pinging through the beige Altec Lansing desktop speakers book-ending my CRT monitor: Emails are flooding in. You know, the ones with URGENT in the subject. This shit is broken in this environment, that shit is broken in that environment, some application team needs a deployment RIGHT NOW ALL IN CAPS YES REALLY IT WAS. Cthulhu is CC’d on all correspondence. My instant messenger window simultaneously begins to pop.
The stupidity of the day is now full on me.
The good news is that I no longer need to drive myself. Instead, I will be pulled in various directions until the end of it.
I log into systems to check this and update that and send emails to Muppet Co-workers A through Z telling them that their stuff is all set and can they please check and confirm functionality. I rip through this stuff mercilessly. It’s easy enough. I’ve been doing this kind of work for over half a decade now. Fixing abstract broken crap.
After an hour of this Cthulhu shows up in my office again, asking for updates on the issues that just came in. I deliberately didn’t CC him on work requests just to upset him up some more.
This is a pattern of poor communication. We’ll need to talk about this in our next one on one.
No, you misunderstand. I know how important and busy you are and I don’t want to bother you with trivial stuff. None of these issues are production-level and you are well aware that I don’t ever let issues drop.
You let process items drop constantly.
I wouldn’t say constantly. But still, my point remains. Functionally I always complete these sorts of tasks quickly and you know it. Why should I clutter your inbox with so much noise? You have six other employees reporting to you, surely you can’t read all of this stuff. And it seems like a poor use of your time if you actually are.
I’d finally landed a punch. He walks away. This is the second best part of my day.
So it’s around eleven in the morning at this point and I’ve cleared out the most URGENT shit and I feel like: Okay. I can work on one of those longer term objectives now. I’m back to that script task that I almost started earlier. It was due two weeks ago – that’s how behind I am. People tell me it’s important to get it done. Me? I’m unconvinced.
Anyway, this is part of some overarching automation goal, to get some new functionality working using python and WLST (note: these are programming/scripting languages and apis) to plug into application servers running our trading systems. I open vi (note: this is a geek text editor) and get started. For the first ten minutes I’m reviewing progress to see where I am – loading the structure of the script into working memory, recalling where it was that I left off when I was last in here, on Tuesday. For the next fifteen minutes, I’m almost happy. My consciousness disappears as I get lost in the creation of the thing.
But then at eleven thirty or so, the joints in my hands start to feel creaky, fingers turning to lead. I’ve been typing for two hours straight. Right as I’m considering taking a short break my phone rings. I can see from the number that it’s my manager’s manager – my director. I’ve learned to not ignore these calls, so I pick up the phone.
He’s working with a consultant on some fucking front-end service webpage project that requires integration into our authentication system and they can’t get the crap working. I say I’ll stop by. There goes my five minute break.
Then I’m in his office and we’re looking at this issue and I can’t figure it out either, I say I need to open a ticket with the vendor for help, it might be a bug, and of course he’s like: I need this done by Monday, can you escalate the ticket.
By the time I’m done with this our little mini-meeting, it’s noon and I know should be going to get lunch but I’m mapping my day out: Production deploys starting at 5. I have about two hours of prep prior to those events. And I have to complete my weekly effort report in two different systems or Cthulhu will shit a brick. And send my project status report, which is a word doc emailed to Cthulhu directly. That’s another hour of high-focus boring-as-hell work or more.
I make a decision: I will open the ticket with the vendor now.
I get back to my desk and realize: I will not be making any more progress on that script today. I shut down all of the applications I’d been using for the work, conscious I’d just wasted a whole bunch of time. There’s a lot of overhead to switching tasks and well – I’ve just been asked to switch tasks. This is the practical fallout of being interrupted by Higher Priority Issues and other fake emergencies: Reduced efficiency.
It takes twenty minutes to open the ticket with our vendor. I have to type into little browser fields the full problem description, the business impact, the workflow, the expected behavior, the actual behavior, software versions, etc, into the customer portal on the vendor’s website. Then I upload logs.
My hands ache but I just crank through it and try to ignore the pain. When this is over, I submit the ticket and immediately call into the support center where I’m talking to another grunt, someone like me, someone who is basically paid to do what they’re told, someone who is under fire for large portions of every day.
I tell the grunt I need a response on this issue ASAP. He asks: Is there any production impact? I say no. He says: Well, I can’t guarantee a call today. The severity level of this ticket allows us a 24 hour business day response. So you’re potentially looking at mid-Monday at the latest for the initial response.
Will that response contain a solution?
Probably not. Most likely the tech will introduce himself and make a request for additional information to clarify the problem.
I decide to push. I can’t see not pushing – the fallout for not getting back to Mr. Director within his time-frame will be painful to deal with. Much more painful than applying The Push.
Right, I understand service level agreements. But this work is extremely high priority for my director and I’m going to catch hell if I don’t have something. Is there anything you can do to help me out here?
I can make an exception if it’s really urgent. I’ll put a note in the ticket and increase it to an internal severity level called “Development-1”, it’s reserved for blocking issues.
Okay — wow, thanks! That sounds absolutely perfect.
Please be aware that for tickets of this status we expect you to be available 24/7 to work with our engineers on it. This includes evenings and off-hours, it is not restricted to business days. Is there a number we can reach you at?
I provide my cell, thinking: There goes part of my goddamned weekend.
It’s now twelve forty and I have a 1PM meeting with my co-worker [Statler] to talk about some problem he’s been unable to solve. And I realize: If I don’t eat now, I won’t eat until 2, and I’ll be a low bloodsugar mess.
I run down to the first floor cafeteria because I forgot to bring my lunch on account of being exhausted in the morning and pay seven dollars for a turkey sandwich with limp lettuce and a mushy, tasteless tomato, wolfing it down while climbing stairs back to my floor, all the while suspecting the veggies are going to give me intestinal issues later on.
Then I’m in a small conference room with [Statler] and [Waldorf] and we’re talking about that issue. Some production incident happened back on Monday, and it’s so far in the past I can barely remember it but of course they have been tasked to ensure it NEVER EVER HAPPENS AGAIN. After forty minutes I’ve traced the fucker. Inconsistent shell settings. The solution is to update the group account environment settings to set an environment variable explicitly so you’re not relying on inherited values. I show them how to do it.
[Statler] is really grateful. He’s a good guy and I generally like working with him. When we’re done working on the script he starts getting friendly, just shooting it around a little.
Saw you had to answer that event last night, sorry man, that sort of sucks. Everything OK?
Yeah, it’s fine. At least I didn’t cause the issue. Those are the worst, when everyone’s blaming you for what happened.
True. Well if there’s anything I can do to help, let me know.
Actually, there is. If you don’t want me to go to jail, consider preventing me from murdering our fearless leader. He’s driving me nuts.
As it happens, I can help with that by taking him down before you. You can’t kill someone who’s already dead. Then I can go to jail and I don’t have to work anymore. Wins all around.
Good points. Thanks for looking out for me. See you later.
Hey, btw, man – just remember. You can choose to be happy. Just – poof – choose it. You control how you react to these things. Turn that frown upside down, it’s all good and all that. Synthesize happiness.
[Statler] can’t keep a straight face all the way through his little advice session – he starts smiling midway through and by the end of it we’re both laughing hysterically. I tell him he’s my absolute favorite asshole on the planet and we each go back to our offices.
This is the third and final best part of my day.
I get back to my desk and start prepping for the 5PM work but realize there are additional 1-off tasks that have magically appeared in my in-box and just like that morning, they’re all urgent. Feedback requested on technical document by EOD. Messages stuck on queue for [TradingApp] in QA environment. Consultant wonders if we’re doing cross training at 2PM like we had scheduled. (No, due to unforseen events today, I no longer have the bandwidth. 2nd week in a row we’ve punted this meeting. He asks me to suggest an alternate time. I let it sit in my inbox, adding it to the Pile of Dread that I’ll have to sort through next week but in the meantime will act as invisible weights, dragging me down all weekend. Joy.)
At two thirty Cthulhu pops in my office and asks if we’re ready for the evening production work. I lie, hoping it’ll make him leave quicker.
Yeah, pretty much.
Great. Then you can work on reviewing this guy’s resume. I want to know if it’s worth talking to this guy on Monday or not. It’d be a hire for our team but on the messaging side. Let me know in an hour.
He drops a document on my desk, two pages of qualifications. He seems to be a decent match on paper I do notice that his certification list is stale, on older product versions, and there’s nothing new added in the past 4 years which probably indicates a growing disinterest with the work, perhaps burnout. I look at how long he’s been going at it – the years of employment date back to 1984. Math says he’s close to 50. No one else on our team is over 35 and most of us are late 20s — the perfect age for cranking. Old enough to be experienced, young enough to hack away constantly, to rebound quickly after failures, to continually produce.
It’s an intense job and requires cutting edge skills and a lot of energy. I feel horrible making decisions which are clearly discriminatory, but I can’t be held responsible for recommending we move forward with a candidate I have these sorts of concerns about. If he gets hired and doesn’t work out, people will absolutely ask who the hell approved him. I won’t be held liable for these things, and I can’t ignore the risk. But for the record I hate that I work at a place that seems to obligate me to behave this way. HR policy says I can’t do this, but the reality is that I must.
I can’t mention all of my concerns on via email because of legal concerns and I won’t allow them to be documented. I find myself stopping by Cthulhu’s office to have the discussion face to face. He’s in agreement on all points — especially the age, which he hadn’t noticed himself — and we’re done. Another half an hour of my day burned.
It’s close to 3. I now officially barely have enough time to prepare for the production work at 5. It is exactly at this time that I get a call on my desk phone from Operations. There’s an issue with our second most important trading application.
I’m suddenly on a bridge call with ten other people. Cthulhu’s voice cuts through – he likes to take ownership of these issues and boss people around. He asks if I’ve checked the logs.
Not yet, joined the call literally thirty seconds ago. On it, though, please stand by.
I review the logs. They’re fine. I say so on the bridge. Cthulhu asks if we should restart. I say yes, but we should probably collect additional diagnostics prior to that action, so we have some footprint of the problem to analyze. If we restart, the evidence may disappear.
I take a thread dump and it shows all threads are in use in a certain pool. It’s a pool reserved for external calls – there are essentially fifteen calls all out to the Bloomberg feed. I know that there’s only supposed to be one of these.
I mention this on the bridge.
Guys, tons of threads stuck on Bloomberg, looks like pool exhaustion. Did anyone check to see if the feed is actually running at source?
Bloomberg’s never down, someone on the app team says.
Well it’s never been down before. That’s different from stating that it can’t go down. Did someone actually check it?
There’s a pause. We wait ten minutes. During this period I’m prepping for the production work, the 5PM stuff that looms at the end of each and every workweek like a Guillotine specifically designed for slicing through souls of employees. This work consists of opening terminal windows into machines and documenting specific steps that need to be followed, a playbook of sorts for my team’s end of the work. Every production change requires all of this fucking paperwork to be submitted that outlines all aspects of the updates, and if you don’t upload it to the designated central server, then we could fail an audit. Compliance and controls, baby. Hate this shit.
Okay, so what I found was Bloomberg is down, there’s a report on the support site. (The app team guy says this like it was his idea to check the fucking thing in the first place. )
Will the servers automatically reconnect to it when it comes back up?
I don’t know, we’ve never tested this. It’s untestable. You would have to take Bloomberg down intentionally to test it, and we can’t.
Wait, is Bloomberg back up though?
Uhhh, maybe? Wait… I think so yeah.
C’mon guys. Can we know for sure instead of thinking so? Check it.
I hate myself for acting this way but it’s something I’ve accidentally picked up over the years. It’s unintentional. The dicky-ness. It pops out at weird times and it’s only after the fact that I’m able to see what I just did — that I was just being a dick. There are nicer ways to communicate, and I’m choosing to be mean.
There’s another couple minute delay. I’m typing into word documents, multitasking. Part of my consciousness briefly flickers to take stock of my face for a moment, for what reason I have no fucking idea. It feels heavy, the whole of it, the flesh hanging around my eyes and cheeks, like someone injected a concrete slurry into it. I’m now peering out eyeholes cut into a motionless, virtually inanimate slab.
It’s up, the feed is up.
What do you want to do, then?
We need to restart, the app will reconnect. I’ll notify the traders.
At least we got our answer – the app will not automatically reconnect when the feed comes back online.
You know you have to fix this so it never happens again, right? (there’s that dicky-ness again…) Next time Bloomberg’s down, the app needs to auto-reconnect when it’s back up. Also you really should log something. You can then configure <logging application> to scrape and notify you on this condition.
Okay, makes sense. Are you filing the incident report?
No, I expect you to, being that this is ultimately an application related issue – you guys own it.
OK. I’ll give you the ID when I’m done so you can review it and add comments. Can you include your suggestions, they’re reasonable and I don’t want to forget them.
At this point, it’s over. It’s 4:30. It occurs to me that I’d better start cutting corners in my prep work for the 5PM changes. I type furiously. I omit steps. Bad English creeps into the text. Incomplete sentences, abbreviations. This is another thing that happens when someone is overloaded: The quality of work goes down. I find myself wishing I didn’t waste half an hour working on that script from eleven to eleven thirty this morning. I should have been working on the production cutover work instead. I mentally ding myself for poor time management. Bad, bad [my_name].
At 4:58 I submit the last of the paperwork to the central server, which clears me to do the actual changes in 2 minutes.
Although it’s already been a fairly horrible day, this is when the real fun begins.
I open a conference bridge for the primary change. It’s an update to our main production app. There are four people on the call – an application developer, his manager, a user, and someone from operations.
Cthulhu stops by just as the call starts. He’s got his jacket on and a laptop bag slung over his shoulder. Heading out page me if anything unexpected happens, he says.
We make changes, deploy the new version of the trading app. Once it’s live, it’s turned over for users to run a set of functional tests against it to validate that both old and new features continue to work. We call this smoketesting.
User reports a fuck ton of smoke, so we know there’s fire, meaning: bugs. I ask why these problems weren’t caught in our non-production environment. The developer sheepishly admits that they didn’t have time to run the full test suite during the week. (In other words, they broke process and shoved this version into production without following standard operating procedure.)
They make a decision on the spot: Roll back to the previously working version. Fix this version, attempt redeploy on Saturday. The business has been promised this new functionality for use on Monday morning. Failure is unacceptable.
Will you be around to help with the work tomorrow? We can do it early, 7AM. We think we know what to fix, we’ll work all night and get ‘er done. With any luck we’ll be all set by 8 or 8:30 and you can enjoy your weekend.
Yes, of course, I say. (There’s really only one acceptable answer to give here and I give it to satisfy expectations despite feeling a hard knot growing in my stomach.)
It’s the worst thing that’s happened to me so far today because it’s ruined part of my weekend. Prior to this, I had this fantasy of actually relaxing – actually getting enough sleep, actually waking up next to my girlfriend at like 11 in the morning, a beautiful, lazy day ahead of us. Instead work is getting in the way of things, as usual, the world’s most unwelcome third in the least sexy threesome possible. And the really crazy thing is, even though it’s the worst thing to happen so far in a day full of absolute shit at the end of an excrement packed week, it’s only the third worst thing of the day.
I just don’t know about the other two, yet.
At this point it’s six in the evening and I’m supposed to start on the production change for the second and third applications (we’re doing three rollouts this evening) but instead I’m working to revert to the previous version of this trading application first. We can’t leave things in their currently broken state.
I am now juggling between three different conference bridges – one per app – logging on and off as I swap through tasks. These exercises, thankfully, complete successfully, although one of the other apps does take a really long time to validate and sign-off.
While I’m waiting for that last app to complete, I take a few minutes to log into my Vanguard account and check the balance. There’s about seventy five thousand dollars in there. I figure, I spend about 28K a year right now. So that’s almost three years of freedom. At least I’m moving in the right direction. If I keep it up, there will eventually be an end to this shit. Right? Right?!?! There’d better be. Because this life pretty much blows.
It’s eight thirty when I’m done. I’ve been working for basically thirteen hours straight. I worked nearly thirteen the day before as well, and about twelve the day before that. I don’t know why my brain records these things, but it does.
The only thing that’s keeping me sane is that I’m supposed to meet my girlfriend tonight. I told her I’d call her when my changes were done and then I’d pick her up and we’d hang out, she’d stay over, then we’d have most of the weekend together. Except for a couple of hours tomorrow morning. Which I could probably live with.
I’m late though. We were supposed to be done with the work at six thirty or so, and it’s two hours past.
I consider just for a second calling my manager and telling him about the weekend work and then think: fuck it. I’ll send him an email in the morning when it’s all done. That way he can’t get involved.
I shut Winblowz down, pack up my shit and leave, suddenly aware of just how amazingly exhausted I am. Everything feels heavy. My shoulders slump. My laptop bag feels like a million pounds. And my hands. God, my hands. They’re tingling and stiffening. I wonder if I have to see a doctor or something.
Then I remember I never did get time to file my effort reporting docs or update my weekly status: More work for tomorrow. If it isn’t done by Monday, I’ll have hell to pay. Plus those support guys could call back at any time to try to make progress on that ticket for my director.
Everyone else on the planet is happy tonight. It’s Friday night. TGIF.
Except me. FFSIF.
I walk down the corridor to the stairway leading to the ground floor, past mostly empty offices. Then I see a light on in one. It’s Cthulhu’s.
Shit, I thought he was leaving, I think. I take an alternate path, darting left then right, making my way toward the kitchen.
And then I see him. He’s in there, in the kitchen, stirring the contents of a paper cup. I can hear an alarm blasting in my head: Error! Error! I’m just about to turn around when he sees me. (Fuck!)
Hey. We need to talk.
Sure, but I only have a minute. Work done, gotta get home now.
It’ll only take a minute. So, two things. One: Are you done with that script? It’s two weeks behind and I renegotiated delivery to this coming Monday.
(This is the script I’d tried to work on a bit earlier in the day.)
I was planning on doing it this weekend, I just haven’t been able to find the time during the week, it’s been extremely busy.
Fine. Moving on to the second thing: I was on that bridge, listening.
(shit shit shit)
You should have paged or called as soon as you found that the trading application deploy failed. I needed to know. This is the third time in a single day that you’re leaving me out of the loop. I can’t have this, you know that. I need to be aware of absolutely everything that’s going on.
I was about to email you and then decided I’d do it from home.
Unacceptable. If this happens one more time, I’ll be forced to take official action. You must do exactly what I tell you. Like it or not – and I’m beginning to suspect you don’t like it – I am your boss. I can’t have insubordination. You need to do what you’re told and I need to be more involved in your work. Period.
Just out of curiosity, what would you have done if I paged you immediately?
I would have joined the bridge.
Okay. And then what?
The application owner said they didn’t test in the quality assurance [AKA QA, ie non production environment] environment. I would order a full regression to be run in QA after they update code. Only after their QA tests complete would I allow a deploy in production. You need to ask for written validation that the testing in the QA environment completed successfully before you re-try the production deploy.
Since I’m telling you to do it.
Fine. (I say “Fine” a lot when what I really want to say is “Fuck you.” I suspect this is true for many people at work.) Actually, I’ll send an email tonight so they know what I’m expecting.
Call them now. No email.
I really need to go home now Cthulhu. It’s almost eight thirty. I’ll call when I get home.
Call them now.
Despite my incredible fatigue, this gets a rise out of me. My face flushes and I’m hot, ready for action. I realize in this instant that I absolutely hate this man, this ambitious, controlling, overbearing and sadistic piece of human feces that is my manager. I wasn’t sure until this moment — I thought it was just dislike prior — but this exchange has helped to clarify my feelings. It’s hate.
I figure I’ve got two basic choices: I can either make the call, or I can quit, which would free me to jump him in the parking lot and pound the living crap out of him. In half a second, my eyes flash up and down and I find myself actually considering it. He’s taller than me but skinnier. There’s no way he’d be able to push me off in time, not with those scrawny arms. The whole thing would be easy and fun.
But I’m not ready to quit.
Decision made, I whip my cell phone out and I call the application team guys, telling them about what I’m going to need. They say fine (I hear: fuck you!), but they’re going to need me to do the QA deploy at 7 instead of the prod deploy. Then they’ll run tests and assuming they pass, we can re-try the prod deploy around 8. With any luck, we’ll now be finished around 10 or 10:30. And Cthulhu wonders why I exclude him from these events whenever possible.
Two hours added to my early morning Saturday work. Then I add additional pain to my day by projecting the future: I’m going to have even more involvement with Cthulhu moving forward because I can now never ever ever leave him out of the loop. Because if he catches me even one more time, he’s going to go absolutely batshit.
This series of realizations constitutes the second-worst part of my day.
I shut the lid of my phone and walk out of the building without saying another word. He calls my name but I don’t look back. I need this day to be over. I need it like I haven’t needed anything in a long time. I also need a drink. [I was drinking while writing this.]
I get in my car in the parking lot. It’s pitch black out and I’m shivering from the cold.
It’s then that I remember I was supposed to call [girlfriend’s name] around seven and now it’s past nine. I dial her number under the dim glow of my interior lights and ask if she’s ready to be picked up.
Oh there you are. It’s about time.
Yeah, I’m really sorry about that.
You were supposed to call before seven. What happened?
Work ran late. You know how it goes.
Listen, I know we were supposed to get together tonight but I think we need to change plans. I’m already in bed, I’m exhausted, long week.
Okay. I understand. I’ll call you when work’s over tomorrow. I have some morning stuff to do.
Again? Didn’t you have to work just two Saturdays ago?
I know. It sucks. I’ll give you the details later.
Yeah, I guess so. I mean, no, not really. I don’t know.
Just go home and go to bed. Things will look better in the morning. Oh! And don’t forget to eat something first.
I won’t, I say, thinking that I’ll be having a liquid dinner. See you tomorrow, miss you.
Sounds great, gorgeous. It’s a plan. Bye.
When I started the engine, it finally settled in that I won’t be waking up next to her tomorrow morning.
And in a day full of lousy realizations, this particular one ends up being the absolute worst of the worst. It doesn’t even make me angry. Just sad, you know? I’m home alone typing this garbage into a word document instead of being happy.
It’s all because of work. This job owns my life. I don’t want to accept it – part of me is still trying to fight this hideous fact.
But the evidence sure is mounting, isn’t it.