Radio WTF: A Day of Mei
Soundcloud Links:Radio WTF: A Day of Mei
Direct Download:ADayOfMei.mp3
Starring (in order of appearance)Devin Sweeny... as MeiAlex Papadimoulis... as Nathan
Lorne Kates... as Luke
Patrick Roach... as Phillip
Remy Porter... as Samuel
Featuring the voice of Paul Rousse of VoiceByPaul.com, and the song "Slow Burn" by Kevin MacLeod of Incompetech.com.
TranscriptScenes
- Intro
- A Great Morning
- Meeting Expectations
- You Blue It, Nathan
- All Hands On Deck, Pointing Fingers
- The Remains Of The Day
NARRATOR
Radio W.T.F. presents...
SOUND: Intro music sting
NARRATOR
The Daily WTF
SOUND: end of intro music sting
NARRATOR
Today's episode, "A Day of Mei", adapted for radio by Lorne Kates, from a submission by Nathan B.
NARRATOR
Mei is a great manager-- the greatest that Initech Corporation has. Like all great managers, she doesn't just lead-- she inspires greatness in those under her. Constant, vigilant management is the only difference between a well-oiled machine... and a herd of oil-soaked cats hopped up on caffine.
NARRATOR
Though she's been blessed with some young, whip-smart upcomers-- her job was also kept "intersting" by certain senior-level old-timers who, despite themselves, may just be past their prime...
Scene: 2 - GREAT MorningSOUND: Nathan running into lobby, people milling about
MEI
Good morning, Nathan
NATHAN
(startled)
Um, good morning, Mei.
MEI
Good morning indeed, since we're well into it. Does not the workday start at 9am, or am I wrong?
NATHAN
Sorry, there was a bit of traffic in the parking lot and-
MEI
(interrupts him)
If I made an exception for you, everyone else would want an exception, and pretty soon everyone would be coming in at 11am.
NATHAN
But it's only 9:03...
MEI
Van Gough never had someone tell him to come to work on time, because he was passionate about his job.
NATHAN
Didn't Van Gough go insane and kill himself at 37?
MEI
And he'd made dozens of great paintings by then. And look at you, you're already well past that age.
NATHAN
I'm only 32!
MEI
And still just a programmer. At this rate you'll never succeed into Management.
NATHAN
I'm senior project lead-- and that doesn't even matter because I don't want to be a manager.
MEI
And you never would be with your attitude. I mean, showing up late for work, come on, Nathan. You need to be punctual-- reliable. I'm sure you still think you can play video games until whenever and wake up on time, but you're getting older now, Nathan. You need to make schedules and stick to them. I want to put more structure in your life-- to help you be successful.
NATHAN
But--
MEI
Now, I think you've wasted enough company time standing here talking instead of working. Get to your desk for now. Will you be on time tomorrow morning, yes or no?
NATHAN
The traffic--
MEI
Yes or no?
NATHAN
(pause)
Yes.
MEI
Excellent. Glad to hear that. Now run along.
NATHAN
(walks away)
SOUND: Nathan walking away
MEI
(stage whisper to self)
A manager inspires.
Scene: 3 - Meeting ExpectationsNARRATOR
Mei, like all great managers, knew that communication was the absolute key to keeping a team focused. Left to their own devices, developers would fly off on tangents, chasing down whatever shiny bauble that caught their eye. Constant communication HAD to be maintined-- dilligent, regular communication. And there was no greater, more effective form of communication than the face-to-face meeting.
MEI
Now that we're all here, and no one certain person is late, we can begin this meeting-- wait, hang on. Nathan, your Lync instant messenger status is still set to Available.
NATHAN
Uhh-- sure, I guess so?
MEI
But you aren't available. You're in a meeting.
NATHAN
But anyone who needs me via Lync is in this meeting.
MEI
I'm not looking for excuses, Nathan. Just action.
NATHAN
... okay.SOUND: click, signoff sound (repeated by every other laptop in room)
MEI
And Phillip, I didn't receive your Away from Desk email.
PHILILP
Sorry-- I just though that, like Nathan said, since everyone would be in this meeting--
MEI
I'm not interested in excuses, Phillip. We have protocol so you don't have to think. It just leads to second guessing best practices and making mistakes. Please send your email before we begin.
PHILILP
Okay--
SOUND: PHILLIP typing
SOUND: multiple outlook bings
MEI
As always, Luke will be taking the minutes. Thank you Luke.
LUKE
Glad to help.
MEI
See, everyone? Luke's positive attitude is the difference between earning his way into management, and being stuck a junior developer forever. You can all learn something from him.
LUKE
I put in the notes, by the way, that Phillip and Nathan were reminded of proper meeting attendance protocol.
MEI
Thank you, Luke. Now we can begin properly. The agenda of this meeting is the rewrite of Acme's web application.
NATHAN
I have the conference call dial-in info. Can you pass me the phone?
MEI
I already have Acme on the line.
NATHAN
Wait-- What?
SAMUEL
(on speakerphone)
Samuel from Acme Corp here
NATHAN
(recovering from that, switching from casual to professional tone)
Hi, Sam! Didn't realize you were already online. Sorry for all the internal chatter there.
MEI
It's important that Samuel understands how disorganized the developers are, to know why the project's timelines are slipping. That's why we're having this meeting, and another one every day, to get this project on the correct track. The last iteration of the project was an utter disaster, which is why I'm in charge of it now-- and the developers who worked on it are not only off the project, but gone from the company. You've got the bright, young mind of Luke working on the project now-- and also the other two. Developers will be developers, so let's all stay focused here.
NATHAN
Uh, sure. Sam, something you had flagged in the existing system was the backorder fulfillment logic. When someone places an order for more stock than you have, you want to tell the person when their order will be ready-- based on the expected arrival date of the earliest Purchase Order with sufficient stock. But I understand the current system doesn't always present the correct targets, is that right?
SAMUEL
Yeah, it'll do dumbass stuff like promising the same upcoming order to multiple people.
PHILLIP
Hi, Sam, this is Phillip. I reviewed the existing code, and I can sorta see where that's happening. I drafted a design document that should cover these use-cases, and...
MEI
Hang on, why is this is the first I'm hearing of this?!?
NATHAN
Uh-- this was discussed in the kickoff meeting--
MEI
No, not the feature! I'm not an idiot, I know about the backorder feature. I mean this "design document". No one authorized you to make design decisions.
PHILILP
This isn't a decision-- it's a design proposal for some architecture we can use to--
MEI
How can you possibly "design" or "document" anything before the code is written? We're an agile environment. We make up our design and architecture as we go!
PHILILP
The document is what we're going to code against...
MEI
And by the time the code is finalized, the design will have changed. Your document will be out of date and wrong. All you've done is waste time and confuse any future developer who has the misfortune of reading your incorrect document. Get rid of it! Luke, put it in the minutes that Phillip is to delete the documents he wasted company time creating.
LUKE
(typing)
Done. I'll start keeping track of features that we actually discuss as a team, rather than making up willy-nilly.
MEI
That's an excellent idea. Luke will track all the features from now on. But for this call,the only thing to discuss is this fulfillment feature.
PHILLIP
The issue is that we have to--
MEI
No, Phillip, you already had your chance to contribute, but wasted it on a design document. You just sit there and listen while we come up with a SOLUTION, rather than a design. Why doesn't this feature work, Luke?
LUKE
It's caching all the Purchase Orders when someone puts an item in their cart, then looping over each one to determine which one has enough quantity. As we all know, loops are inherently slow. We should always be querying live data, because SQL is faster than loops.
MEI
And caching never works properly with real-world data. This is what happens when you let programmers "design" without proper oversight. They just waste time on academic exercises like this, instead of being practical.
SAMUEL
So that's why multiple people will get promised the stock from the same purchase order?
LUKE
Yes, absolutely.
NATHAN
Uh-- yes and no. The system is identifying which purchase order to use, but isn't earmarking that stock for one specific user.
LUKE
Which is why we're just doing a SELECT TOP 1 purchase order that matches. That way we can earmark that one record.
NATHAN
But that still doesn't solve the concurrency issue where two users grab for the same one record. And I don't think it address the new feature, where the order can be fulfilled from MULTIPLE purchase orders. You really have to lock the PO table, and start earmarking stock over and over again until the order is fulfilled.
LUKE
All you've done is put a loop back in! Queries are fast, and loops are slow. You never use loops and SQL at the same time.
MEI
And I don't know what a "table lock" is, but it sounds like you're just trying to come up with something fancy and complicated. We need a clean, simple solution-- not more head-in-the-clouds fantasy. Your over-engineered complex idea will be impossible for other developers to maintain.
NATHAN
You can't work with multiple database records without a loop. And you can't do multiple database operations without locking the table.
MEI
(angry)
I've had enough of this, Nathan! The rest of us are coming up with solutions, and you're still prattling on about this non-starter. Sam, unfortunately, it sounds like it's literally impossible to fulfill a backorder from multiple purchase orders, so the system won't be able to support that feature.
SAMUEL
Um, that's a key feature that my customers want.
MEI
Your customers don't want it. They don't even know what a purchase order is.
SAMUEL
But they know the difference between getting two small fulfilments versus all at once later.
MEI
Sam, your customers have been dealing with OUR system for years, and we are the experts at knowing what they want. No one has ever asked for this feature before, and it's silly to force them into it just because you feel they want it. It's a whole bunch of extra hoops to jump through for NO benefit. Now my way-- the RIGHT way-- is better. This way your customers get their deliveries all at once, instead of sitting around like jackasses waiting for heaven-knows how many different UPS trucks to arrive. Keeping the logic the way it is is the best, cleanest solution. I like it.
SAMUEL
Actually, Mei, Nathan sounds like he has a solution.
MEI
No, Sam, that will crash your entire system and break ordering entierly. You should know better than that. Unless you've suddenly become a programmer overnight? Have you, Samuel?
SAMUEL
You don't have to be a programmer to realize--
MEI
Yes or no, Samuel. Do you suddenly know better than me how a programming project should run?
SAMUEL
No, I just think--
MEI
Exactly. No. Luke, do you think you can explain your SELECT TOP ONE in a way that even Phillip and Nathan can understand?
LUKE
Hmm, yeah, I can dumb it down for them, sure.
MEI
Good, then we have a (sarcastic) "design". Sam, we'll have an update for you during the next status call.
SAMUEL
Okay, I suppose. Until then.
(he hangs up)
MEI
As for you two-- since we can't risk you going off-track and wasting any more time, I'm making Luke interim project lead. He'll tell you the exact feature you should be working on. But don't even dare to touch your keyboard before bringing your solution proposals to me. I will tell you if it will work or not. I think this will keep us from wasting any more time. Now, all of you back to your desk, and I'll see you in a half-hour for the mid-day status meeting.
SCENE: 4 - YOU BLUE IT, NATHANNARRATOR
Like all great managers, Mei knew that quality lived in the details. And yet, too many managers got lost in the big picture, and couldn't see the trees from the forest. The finer details wouldn't perfect themselves. Details were vetted by the person best suited to vet them: Mei herself.
MEI
(heavy sigh)
Can no one do anything right around here?
SOUND: Stand up, walk out of office, over to Nathan's desk
NATHAN
(muttering as he types)
Select... top... one... from... purchase orders...
MEI
(Over his shoulder)
Nathan!
NATHAN
(jump)
Ah what no what uh yeah?
MEI
Nathan, I sent you an important email. Why do I not have a response yet?
NATHAN
(coming out of code haze)
What-- sorry, I didn't even notice the new mail icon. Let me check-- what? This one? From five minutes ago?
MEI
I've been waiting for your response, and now you've thrown my entire afternoon schedule off. I expect a prompt response to a mission critical email.
NATHAN
I was trying to focus on the Purchase Order feature. Why didn't you just Lync me? It'd pop up right away. That's why we have it!
MEI
If you aren't checking your email at least every five minutes, you are doing the whole team a disservice with your tardiness. Now open the attachment. There is important work being held up by some simple fundamentals that aren't done properly.
NATHAN
What is it?
SOUND: Double click
NATHAN
It's-- a big blob of blue?
MEI
It's the background for the logo for the website, and it's completely wrong.
(her tone of voice switches to partly accusatory, partly pandering-- even though nathan has nothing to do with the color choice)
Tell me, Nathan, what color is that?
NATHAN
Umm... blue?
MEI
No, not just "blue". What is that EXACT color?
NATHAN
Oh-- um--- let me pull up the colorpicker-- that's hex 008081.
MEI
Nathan, do you think real people think of colors as number gobbldy-gook? No. Use your brain. What is the NAME of that color?
NATHAN
There isn't a named HTML color for that. The closet HTML color would be-- here's w3school's hex chart-- uhh-- hex 008080-- that is Teal.
MEI
Yuck. Ugly. No wonder it got screwed up. I explicitly asked for Cobolt. Change this to Cobolt.
NATHAN
Do you have the hex code-- I mean, there isn't an HTML color called "cobolt"
MEI
Unacceptable. Install a different color pack.
NATHAN
That isn't how css works.
MEI
Then css is wrong! That color isn't what I asked for. It isn't anywhere near what I want.
NATHAN
What's wrong with it?
MEI
It's too blue.
NATHAN
The blue is-- too-- blue?
MEI
Yes.
(pause a beat)
Well? Fix it.
NATHAN
(giving in to the madness)
Fix it. Right. Why not? Let's make this blue not so blue! Here, Teal.
MEI
Hmm, still too blue.
NATHAN
Of course it is! Let's make it DarkCyan
MEI
Yucky, too green.
NATHAN
Let's get some red all up in this BAM! Indigo.
MEI
Way too red.
NATHAN
Can't have it not perfect. Hey, let's try something radical. THREE COLORS TO PICK FROM: Navy, DarkBlue and MediumBlue.
MEI
Oh, they all look possible, hmm...
(In a sing-songy call)
Oh Luuuuke. Come here a moment.
SOUND: Footsteps coming over
LUKE
Oooo, is this for the new logo?
MEI
Yes, what do you think.
LUKE
Hmmm
(A moment of contemplative pause)
Navy. Definately Navy.
MEI
Yes, I completely agree. Navy. There, see, Nathan? Done in five seconds without any fussiness. It's nice to have a dev like Luke who can get things done without arguments. Make the background navy.
NATHAN
Sure. I'll do that RIGHT NOW. Changing it-- watch it go from hex 008081 to hex 008080! Look at that, such a change.
MEI
Looks much better. It is extremely important to ensure that the CORRECT colors get used. It's literally the face of the website. It doesn't matter what fancy academic brain-exercises you put in behind the scenes-- if it doesn't look right on the outside, then it creates a bad first impression, and that's all the end user really cares about. Now, add our company logo to that, make it 100 by 100, and deploy it to the Timesheet website.
NATHAN
Sure I-- what. (flat what) Timesheet?
MEI
Yes, Nathan, the timesheet-- where we all enter our time. You should know this.
NATHAN
Our timesheet website. Our INTERNAL timesheet website-- you just made me spend all this time to background of a site-- a site no one but internal employees will see-- by ONE SHADE OF BLUE? Mei, I have to concentrate on Acme's purchase order feature! It has to be my top priority.
MEI
Nathan, you aren't managemet-material-- you can't be expected to comprehend priority decisions, and that's okay-- it would be unfair to expect you to do something you aren't capable of. That's why your top priority is whatever I decide it is. But even then, Nathan-- sure the Acme system needs to be worked on, but come on-- this logo isn't a DIFFICULT task. I've already told you how to fix it, you just need to do grunt work to get it done. You shouldn't be having such problems with multi-tasking, Nathan.
LUKE
Yeah, Nathan, I guess this is hard for your because it just doesn't come naturally. I mean, look at me-- not only did I solve your color problem, but I've already got amazing code coverage throughout the entirety of the Acme system. Not just grinding away at one measly feature-- but the ENTIRE APP!
MEI
Code coverage is extremely important. So complete this simple task, reply to my email so I know it's done, then keep working on Acme.
NATHAN
(grumbling)
Logo-- stupid logo-- add the .png of the new logo-- css-- set background-color: NavyBlue. Save. Publish. There. Done.
MEI
That wasn't so hard. Now send me the email.
SOUND: keyboard as he types email, hard hit when he sends
NATHAN
But you just saw me-- uhg. "To: Mei. Re: Timesheet. See timesheet site. signed Nathan." Send.
MEI
Good. And Nathan, next time you get stuck, just ask Luke for help. You obviously need it.
SOUND: mei and luke walking away while they talk, with nathan's voice fading off
NATHAN
(grumble)
select... top... one... from... purchase orders...
SOUND: mei and luke closing door, sitting down in her office, refresh page
MEI
Timesheet site-- reload. (scoff, tsk, tsk) Such a simple task, and still. Look at it.
LUKE
Really, are you surprised he can't even get this right?
MEI
I guess not. So dissapointing.
SOUND: mei pick up phone, dial, ring
NATHAN
(off in the distance)
OH COME ON! WHAT THE F
SOUND: pick up phone
NATHAN
(fake pleasant)
Yes, Mei?
MEI
Get in my office. Now.
SOUND: Phone hanging up-- her hanging up on him
SOUND: walking over to office
MEI
Nathan, I do NOT appreciate being lied to.
NATHAN
What? Lying-- about what?
MEI
About changing the logo background.
NATHAN
I didn't-- what are you talking about?
MEI
You're either lying, or so incompetant you can't complete a simple task. Look at my monitor, Nathan. Look at my Timesheet. What do you see?
NATHAN
(mumbling)
Too many useless meetings.
MEI
What?
NATHAN
(aloud)
Nothing. What am I looking for?
MEI
USE YOUR EYES! Look at the logo.
NATHAN
Yes-- that's the new logo. I just published it, like I said.
MEI
I have you VERY SPECIFIC instructions about the color and you can't even get that right!
NATHAN
I don't know what to tell you. It's the new logo, it's the new color.
MEI
It isn't the right color.
LUKE
It's completely the wrong shade of blue. Even I can see that!
NATHAN
Oh really, Luke? Well, what color is it?
LUKE
(slight pause stammer)
Well-- it's the wrong color.
NATHAN
Uh-huh. What does the element inspetor say?
LUKE
"Element inspector"? Just because you messed up doesn't mean you get to call me sarcastic little names.NATHAN
For the love of-- here...
SOUND: mouse clicking
NATHAN
There, see? Background color is NavyBlue-- hex 008080, the exact one you picked out.
MEI
Impossible. You broke something when you deployed the logo because the shade is wrong. It looks NOTHING like the one on your screen. You must have deployed the wrong color pack.
NATHAN
Again, this is no how css works.
LUKE
Then obviously you don't know enough about the CASCADING part of css. Just because it says NavyBlue doesn't mean it is. It's probably being overridden somewhere.
MEI
That MUST be it. Fix the css.
NATHAN
Again, that isn't how css works. If it was being overriden, the element inspector would have said so.
LUKE
You keep relying on this "element inspector", and I've never even heard of it before. I don't trust some silly little Open Source tool that no one uses.
NATHAN
You've never used browser dev tools? Well color me a deep, full shade of "not shocked at all". Here, screen capture-- color picker-- there, NavyBlue, hex 008080. The color is right.
MEI
No it isn't! Stop making excuses and just FIX THIS!
NATHAN
There's nothing to fix. I don't know-- maybe it's just your monitor that's off.
MEI
Impossible. My monitor is expensive.
LUKE
It is definately your css programming code.
NATHAN
Css code-- you know what? I'll prove it to you. I'm getting my laptop.
SOUND: stomping off, grabbing laptop, stomping back, putting laptop on table
NATHAN
Look. Side by side, exact same website. Different colors. Every monitor is slightly different.
MEI
Then fix your screen so it looks correct like mine.
NATHAN
Actually, I think you just need to adjust the color temperature of your monitor. Mine is correct: I've already white balanced it.
MEI
I don't know or care what that is.
LUKE
This is what he always does, tries to baffle with bully technical terms. We're trying to fix a problem with the color blue, and he tries to confuse things by changing the topic to "white".
MEI
I'm tired of your excuses, Nathan. Give your laptop to Luke and he'll correct it.
NATHAN
I'd rather not hand my development laptop over to--
MEI
(interrupts him hard)
It isn't YOUR laptop. You work for me. That is MY laptop.
NATHAN
If we're being pedantic, it's the company's laptop--
MEI
I am your boss, Nathan! Everything you say, do or use is mine. Now stop being insubordinate and GIVE LUKE YOUR LAPTOP TO FIX.
NATHAN
You know what? Fine. Take it. I honestly don't care enough about the shades of colors to argue. Literally no one else does. Here. Spend more time from Acme's budget on your project. I'm sure the deadlines will understand.
LUKE
Give me that--
SOUND: working on the computer
LUKE
Monitor settings -- advanced -- ha. hahahaha. Oh my god, you can't do ANYTHING right, can you, Nathan. See, Mei? See. He has the color temperature set to "Tungsten" when we OBVIOUSLY have Flourescent lightbulbs in the office. I told you he doesn't know anything about colors.
MEI
That's why I have to dictate every little detail. Ah, there, much better, that matches my screen.
NATHAN
Wow. Amazing. Now I have to get back to the Acme project...
MEI
No. Stop trying to weasle your way out of work. You still have a logo to fix.
NATHAN
Seriously? Mei, if I don't get back to Acme--
MEI
I don't care. You need to learn to take responsibility for yourself-- take some PRIDE in your work. Now sit down, right now, and fix your mistake. Maybe this will teach you to do things right the first time.
NATHAN
(exhausted sigh)
It's your call. You're responsible for the projects.
MEI
I don't like threats. Now, show me the right shade of blue.
Nathan
Teal
MEI
Um, definately not
Nathan
Cyan
MEI
Not feeling it.
Nathan
DeepSkyBlue
MEI
Uhg, too blue
Nathan
Aqua
MEI
Too green
Nathan
DodgerBlue
MEI
Don't like it
Nathan
LightSeaGreen
MEI
Too close to baby vomit
Nathan
RoyalBlue
MEI
Yuck, gross
Nathan
SteelBlue
MEI
Too close to grey
Nathan
DarkSlateBlue
MEI
Definately not
Nathan
Cadet
MEI
Huh? What is that?
Nathan
Cornflower
MEI
That sounds gross
Nathan
AquaMarine
MEI
No
Nathan
Powder
MEI
Uh-- too much-- uhg-- I can't even
Nathan
Alice
MEI
What? No!
Nathan
Azure
MEI
Yuck
Nathan
SkyBlue
MEI
You already said that!
Nathan
Well, I said DeepSkyBlue-- meh.
Nathan
How about DarkCyan?
MEI
(pause)
There!
NATHAN
Okay! Finally. Background color: DarkCyan-- 008B8B.
MEI
Perfect. NOW publish it.
NATHAN
Done.
MEI
See how much easier it is to just do things right the first time? Now, Luke will be by later to check in to make sure you're on schedule for Acme.
NATHAN
I'd hate to fall behind on that.
SOUND: grabbing laptop, getting up
MEI
And Nathan?
NATHAN
Hmm?
MEI
This whole time you've been in my office, I intentionally didn't mention this, because I was hoping you'd have the good sense to fix it yourself-- but your didn't change you Lync status from "Available" for this entire meeting. Very, very dissapointing, Nathan.
NATHAN
(just exhausted for a beat, then leaves)
SOUND: footsteps going back to desk
NATHAN
(fading out)
Great, now my screen looks like yellow tinted crap. No time to fix it-- where was I-- SQL-- umm--
SOUND: office outlook appointment bing
NATHAN
(horrified)
No.
MEI
(calling out to entire office in singsong)
Afternoon progress meeting everyone, main boardroom! Chop chop!
SCENE: 5 - ALL HANDS ON DECK, POINTING FINGERSNARRATOR
Like all great managers, Mei knew that sometimes the major roadblock to a project's success were the stakeholders themselves. Lesser people thought with their egos. Mei had to keep a firm and unforgiving hand on the carrot, and-- if necessary-- use that carrot to whip the team back in line.
MEI
Okay, everyone is here-- time to go over how the day went. Luke, as always, is graciously taking the minutes.
LUKE
I'd love to record the attendance, but Phillip didn't give me the correct information. I don't know what meeting he's attending.
PHILLIP
What? I sent you the stupid email-- the "I'll be in a meeting" email. I even put WHICH meeting!
LUKE
Yes, but it just says "Afternoon status" meeting. It doesn't have the date or time.
PHILLIP
Just look at the time of the email!
MEI
No, Phillip, that isn't good enough. I expect you to write out the date and time, and not rely on lazy shortcuts like that. Computers are NORTORIOUS for losing time. We can't rely on that timestamp at all. Luke will fill it in this one time-- even though that ISN'T his job to fix your mistakes-- just so we can actually get this meeting started.
(sickly sweet)
But yay, look at that, Nathan remembered to set his Lync status properly. Very good job, Nathan. Looks like an old dog can learn new tricks.
LUKE
You just have to rub his nose in it a few times first.
NATHAN
Yeah. Ha. Whatever.
MEI
Now, you are all very lucky today, because I was just moments away from coming into this meeting extremely upset about the lack of overall progress. The inability of some people to adhere to timelines and schedules is mind-boggling. I simply can't understand how anyone can be so sloppy and careless and still be able to look themselves in the mirror and sleep at night. But thankfully, the law of averages works in your favor sometimes. Luke has put in some excellent work, completed a large swatch of the system-- and I'm happy to say the Acme project overall is ahead of my expectations for today's timelines. Luke has, single-handedly, completely 85% of the project.
PHILILP
What? I've been banging my head against just the START of the checkout process and Nathan's been doing the backorder bit. That IS the entire project!
MEI
You all are so focused on your little worlds you can't see the big picture around you. I ran a report, and Luke's code represents 85% of the system.
NATHAN
HOW? The checkout and backorder systems are 95% of the billable hours.
LUKE
I took the initiative, and carved out a roadmap for the rest of you to follow. It's all there in the source code repository. I have 85% code coverage.
NATHAN
Code coverage? Are we talking code coverage or CODE?
MEI
Don't nitpick Luke's work, Nathan. It's unbecoming.
NATHAN
But there's a difference. You said the work's in source control? Let me see.
SOUND: CLICKING
NATHAN
This? THIS? This is just code stubs-- placeholder methods-- TODO functions! This is what you're talking about?
LUKE
Exactly. I've already done all the hard thinking for everyone. Now all the rest of the team just needs to bang on some keyboards to fill the rest in.
NATHAN
Mei, come on-- this is just the equivilant of writing "build house here" without even providing details about what material to use-- let alone actually building the wall.
LUKE
No, this is laying bricks where a master architect has told you to build a brick wall. You don't need to know the "details". You just follow the path I've forged.
MEI
It's the 80/20 rule, Nathan. Luke's done 80% of the work with 20% of the effort. Has he not laid out exactly what needs to be done?
NATHAN
It isn't just a matter of saying some magic words and--
MEI
I asked "yes or no", Nathan.
NATHAN
This isn't a "yes or no" question! There's serious design and logical implications to implementing--
MEI
Yes or no. Luke has 85% code coverage, yes or no?
NATHAN
... according to whatever metric, yes, but--
MEI
Great. Why are you fighting me so hard on a simple compliment? Don't you realize you are benfiting from Luke's victory?
NATHAN
Fine, whatever.
PHILILP
(frustrated)
Oh my god, no! Mei, even if Luke's code stubs are great and forge the right path for the next three weeks of work-- which they're not, by the way, they're just not-- THERE IS STILL THREE WEEKS WORTH OF WORK TO DO! Code coverage doesn't change the timelines!
SAMUEL
(on speakerphone)
Wait, three weeks? This is the first I'm hearing of this.
PHILLIP
(exhasperated)
You have the customer on the phone AGAIN?!?
Samuel
Mei, what's this three weeks? I'm scheduled to see a demo of the system end of day TOMORROW.
NATHAN
What?
MEI
Oh, no worries, that's still on track for tomorrow.
NATHAN
WHAT?
PHILLIP
(simultaniously)
WHAT?
SAMUEL
How can that be when I'm hearing three weeks?
MEI
Samuel, you're just hearing wrong. Three weeks of effort doesn't mean three weeks of calendar days. This is a team effort, and team hours-- and you'll have a working beta demo tomorrow, and final delivery Wednesday afternoon.
SAMUEL
Only a Beta? I booked my people for user acceptance testing on Tuesday morning!
MEI
I don't appreciate you changing your expectations on me, Samuel. A demo CLEARLY insinuates a beta demo, not a deliverable.
SAMUEL
No! Demo tomorrow, deliverable by Tuesday! I've got a schedule too.
MEI
One that you made up all by yourself without consulting your primary stakeholder: me. And I'm sorry, but a lack of planning on YOUR part doesn't constitute an emergency on MINE. I manage my department PROPERLY, Samuel. I don't just make up timelines on the fly, like you seem to do. I invitied you here-- to this call-- so you could hear about the progress of your project, not latch onto numbers some random employee pulled out of his ass and try to threaten me with them. It's extremely rude, and extremely disrespectful to me as a manager. So you can behave and expect your demo tomorrow, or you can hang up and pout like a child.
SAMUEL
I'm not happy about this, Mei.
MEI
I'm not in charge of managing your happiness.
SAMUEL
(pause a beat)
Demo tomorrow, deliverable when?
MEI
Wednesday afternoon, as we already agreed upon.
SAMUEL
Fine.
SOUND: PHONE HANGING UP on other end, dialtone, done
MEI
As for the rest of you-- Luke excepted of course-- if you can bother to stop mismanaging your schedules, you won't keep wasting hours on other projects. There's a hard deadline, and you've all already pissed off the customer enough with delays. Get it done, and on time. Got it?
NATHAN
Yeah, about that. In all the meetings we've had about this project-- and boy oh boy have there been so many-- and all the times we've brought up the number of hours of effort remaining-- why has there never once, not even once-- and I'm sure Luke's oh-so-wonderful meeting minutes will confirm this-- has there never been a mention of a final delivery next Wednesday?
MEI
You're not management. You don't need to know delivery dates. They'd just confuse you.
NATHAN
There's nothing confusing at all. People knowing how much time they have to complete a task let's them know-- surprisingly-- how much time they have to complete a task.
MEI
No, if you give developers a timeframe, they just inflate the work to fill the time. I need tasks completed, not developers fooling around all day to "work on" a five minute task. That isn't how you manage.
NATHAN
Well, Mei, you've managed to manage us into a corner with more hours of work to do than there are working hours in the day. We just can't meet that deadline.
MEI
But that's the deadline. We've agreed to a delivery date.
PHILILP
No-- you agreed to it, without seeing if it was possible.
MEI
(pause, you can almost hear the wheels turning as her tone shifts from desperate back into "manager")
Okay. It's okay. I understand, I get it. I apologise, I thought you were capable enough to complete the project, but I was mistaken. It isn't fair of me to expect you to do what you can't do.
NATHAN
Whoa-- That isn't what Phillip was saying-- I mean-- it isn't a matter of not being ABLE to do it.
MEI
No, that's what you're saying, that's what you're telling me. You two can't complete this project-- it's beyond your skill. It's okay, I can reassign your tasks to Luke, he can finish your work for you.
NATHAN
Nonono-- You don't have to do that, Mei. It isn't a matter of skill.
MEI
So Luke isn't capable of finishing your work?
NATHAN
I'm not saying that
PHillip
I am. I'm saying that. This is really complex code we're working on, and I barely trust Luke to be able to find his own butt with a lit roadflare in it.
LUKE
HEY!
PHILLIP
There's no way he can take over what we're doing.
NATHAN
Again, Mei, it isn't a matter of skill, but just the reality of the number of hours in the workday.
MEI
Of course, I understand that, you guys both want to be out the door at 5pm sharp, no exceptions, no matter what.
NATHAN
If it was just a few extra hours, it wouldn't be a problem. And I'm not saying I'm not willing to put in some overtime, but...
PHILLIP
I'm saying it! What's that saying of yours, Mei? "I'm sorry, but a lack of planning on YOUR part doesn't constitute an emergency on MINE."
MEI
Well, Phillip, honestly-- with both Luke and Nathan's dedication-- you know, actual pride in their craft-- with those hours they'll put in, maybe we won't need your hours. You can leave. Your coworkers will cover your work.
PHILILP
If you're going to fire me, then just fire me.
MEI
I never said that. I'm just hearing what you're saying, and if you're saying you aren't needed here and that other people can do your job, no one is forcing you to stay. I'm sure it's a great job market out there.
PHILLIP
(another stand-off pause)
Okay. Just this once. Just this once, and only because I'm not willing to screw over Samuel.
NATHAN
Yeah, if we push hard over the next few nights-- worse case work from home this weekend-- it's doable.
MEI
Yay, we have a plan. Luke will provide guidance to see this to completion. I know it's only 3:58, but let's wrap this meeting a couple minutes early so you can all get right down to work. You've all got a schedule to keep!
SCENE: 6 - THE REMAINS OF THE DAYNARRATOR
As Five O'Clock rolled around, and the day came to a close, company-wide Lync statuses blinked from "Available" to "Gone Home"-- except for the few who remained; Mei's team working hard and diligently. But putting in the hours to clean up the mess they'd made of their own beds was just what had to be done-- for the good of the project.
Like all great managers, Mei's day ended promptly and on time. Mei went home-- right at 5pm, as she always did, no exceptions-- because a manager leads a healthy personal life by example-- as an exemplar for her underlings. That day, as with every day, she knew she'd done a great job, and that she would lead on with her management skills-- a legacy of greatness that would last until Initech Corporation's bitter end.
SOUND: music outro
NARRATOR
For The Daily WTF, this was "A Day of Mei", adapted for radio by Lorne Kates, from a submission by Nathan B.
In order of appearance:
- "Devin Sweeney" was Mei
- "Alex Papadimoulis" was Nathan
- "Patrick Roach" was Phillip
- "Lorne Kates" was Luke
- "Remy Porter" was Samuel
- and "Mark Bowytz" was the quiet guy by the cooler
Theme song was "Slow Burn" by Kevin MacLeod of Incompetech.com
NARRATOR
I'm your announcer Paul Rousse of "Voice By Paul dot com". This has been a W.T.F. Radio presentation.
[Advertisement] Manage IT infrastructure as code across all environments with Puppet. Puppet Enterprise now offers more control and insight, with role-based access control, activity logging and all-new Puppet Apps. Start your free trial today!