Update 2014-04-02 10:07pm (EDT): direct downloads are now hosted on thedailywtf.com instead of Soundcloud. Break out your decoder rings, mix up a glass of Ovaltine, and don't touch that dial! It's time for...

Radio WTF Presents!

Today's episode: "Make It Work", adapted for radio by Lorne Kates, from a submission by Mitch G.

Links To Downloads

"Make It Work" on Soundcloud (320k, mp3, 73.7mb), ... Direct Download
"Make It Work" on Soundcloud (128k, mp3, 29.5mb),... Direct Download
"Make It Work" on Soundcloud (96k, mp3, 22.6mb) for dial up, yo!... Direct Download

Starring (in order of appearance)

  • Remy Porter... as Mitch G
  • Mark Bowytz... as Steve
  • Alex Papadimoulis... as Bossman
  • Lorne Kates... as JJ

Featuring the voice of Paul Rousse of VoiceByPaul.com, and the song "Slow Burn" by Kevin MacLeod of Incompetech.com.

JUMP TO COMMENTS

Transcript

NARRATOR

Radio W.T.F. presents...

SOUND: INTRO MUSIC STING

NARRATOR

The Daily WTF

SOUND: END OF INTRO MUSIC STING

NARRATOR

Today's episode, "Make It Work", adapted for radio by Lorne Kates, from a submission by Mitch G.

NARRATOR

The place: the bustling offices of Intertrode, a solutions partner for Microsoft Dynamics AX. The company was large enough to have an org chart, but small enough to still have the budget to be understaffed. That didn't stop them from taking on big projects for large clients. And now, with the deadline closing in on the biggest project for their largest client, we join senior developer Mitch G in his cubicle...

Scene 2: The New Hire

SOUND: TYPING

MITCH

(GENERAL MUMBLING ABOUT CODING, LIKE HE'S AT THE END OF SOMETHING. TYPES IN A PHONE EXTENSION)

SOUND: PHONE RINGING ON OTHER END

STEVE

Hello, IT services, this is Steve.

MITCH

Steve, it's Mitch. Did you get the specs I sent you for the new Staging server?

STEVE

Indeed almost got it running, I'll email you the login info when it's done. And-- hey, heads up. Bossman's in the hall giving someone the tour.

MITCH

(PANICKED)

What? We're not ready for a demo! What's a client rep doing here.

STEVE

I don't think it's a client. Not unless those stuff-bags have lost twenty years-- and their power suits. Heads up, they're heading for your office.

SOUND: DOOR OPEN, FOOTSTEPS ENTER OFFICE

(PM AND JJ ARE IN "MID CONVERSATION")

BOSSMAN

... y'know how it goes with office space. Your cube's back there, this is where the core AX team is, oh and here's Mitch, he's busy as a basket as always. Mitch, THIS is JJ.

SOUND: STANDING UP

MITCH

Uh, hi...

BOSSMAN

So Mitch is the lead developer here.

JJ

(LOUD, WAY OVERCONFIDENT)
Ah, so you're the one whose going to be jealous of my code.

MITCH

(AWKWARD LAUGHTER)
Um

BOSSMAN

JJ here, he's here's on a contract to help with project-- y'know the old takes some of the plates off your hands and carry them out of the infield.

MITCH

What? Boss, I asked for more developers at the start of the project. We're in so deep now I barely have time for my own work, forget about training someone on Dynamics ...

JJ

Don't worry, I don't need training like a noob. Actually, I'll probably be schooling YOU on a thing or too. See, I've got OVER THREE years of solid Dynamics AX experiencre. Got it while working at Initech.

MITCH

Three years?

JJ

OVER three years. At Initech.

MITCH

(IS STILL VERY LEARY, LIKE HE'S NOT SURE IF PM IS PLAYING AN APRIL FOOLS JOKE OR SOMETHING)
I'm, uh-- I'm not familiar with Initech

JJ

All real Dynamics developers know them. They're in New York City

BOSSMAN

Oh, yeah, yeah, Mitch. They're a big shop up there.

JJ

In New York City.

BOSSMAN

Yeah, yeah, in New York City. I mean, they gave JJ excellent reference. Several. They couldn't have sold him harder to me if they tried.

STEVE

(SARCASTIC)
Oh, that's an encouraging sign.

JJ

What?

STEVE

What?

MITCH

Um, sorry, forgot to hang up. That's Steve, head of IT.

BOSSMAN

Hey, Steve, Actually, since you're on the line, can you get JJ bunkered down and homebased in the office across the hall? Make sure he has computer so he can hit they sky running.

JJ

And I need a GOOD computer, not the junk you use for helpdesk.

STEVE

Wow, yeah, I think I know EXACTLY what you need...

BOSSMAN

(TALKING OVER, BACKING AWAY)
Hey, great! Hey, intros all around, good stuff. Now you settle in and thumbs up.

SOUND: CHAIR SCRATCHING, STANDING UP, FOOTSTEPS

MITCH

(STAGE WHISPER FROM *)
Whoa, boss, one second-- *-- look, I know we need developers...

BOSSMAN

(STAGE WHISPER BACK, THOUGH SLIGHTLY LOUDER)
And I got you one.

MITCH

Yeah, but, the team...

BOSSMAN

Needs another Dynamics developer.

MITCH

And this guy...

BOSSMAN

Is fully trained, in a rare skillset that we desperately need. Look, It's rare enough to find a dev trained in Dynamics, let alone outside of Silicon Valley, let alone willing to do a short-term contract. This is a find. Make it work. Three words, my friend. Make. It. Work. Three words... (prompting)

MITCH

Make it work.

BOSSMAN

Yeah, you got it. Hey, I'll catch up with you later. Peace out.

SOUND: FOOTSTEPS WALKING AWAY

MITCH

(TO SELF)
Make it work... (TAKES A DEEP BREATH GOES BACK INTO OFFICE)
JJ, welcome aboard. Well, we're just about to deploy a build to staging. You might as well go heads-first and join in.

JJ

Actually, it's already 4pm, so I'll just get started tomorrow morning.

MITCH

Umm... but we're a bit short on "tomorrow mornings", so we're doing the deployment now.

JJ

Actually, YOU are doing the it. I didn't EARN over three years of experience in New York City to have to but stuck working eighty hour weeks like some noob lackey. I'm out for the night.

SOUND: RECEEDING FOOTSTEPS

JJ

And what's your name on the phone-- IT guy-- make sure my comptuer's completely ready when I get in tomorrow morning. Don't waste my time.

SOUND: JJ's FOOTSTEPS FADE AWAY

(BEAT)

MITCH

(OVERWHELMED)
Make it work.

STEVE

Oh yeah, this is going to work out great.

SCENE 3: Fitting In

(INTERSCENE MUSIC BUMPER)

NARRATOR

The next morning, Mitch emails JJ the new developer's handbook and a pile of outstanding project items. Finally able to focus on some complex tasks, Mitch settles down for some deep-thought problem solving...

MITCH

(AGAIN, CONCENTRATING ON CODING, MUMBLING TO SELF)
Okay, problem solving time. (typing)
If... quantity times price over in-cart is greater than threshold...

JJ

(SHOUTED FROM ACROSS THE HALLWAY-- MUFFLED APPROPRIATELY)
HEY MITCH!

MITCH

(BREAKING OUT OF A CODE STUPOR)
Huh, what---

JJ

MITCH! Your database don't work! Come here!

MITCH

(ALMOST OUT OF STUPOR)
Uh, yeah-- hang on a second...

SOUND: CHAIR SQUEAK, STAND UP, WALK ACROSS CUBE/HALLWAY

MITCH

What's the problem?

JJ

Your dumb code won't connect to the database. Come on, this is noob stuff I shouldn't be wasting my time with.

MITCH

Let me see...

SOUND: MOUSE CLICKING

MITCH

Hmm, the db config file I sent you is missing...

JJ

No, it's on the dev server right THERE.

MITCH

It's on the Dev server, but the checked out branch is on your local machine. The config file needs to be copied local...

SOUND: CLICK CLICK

MITCH

See? Look. It connects.

JJ

Local database config? That's stupid. I'd expect it to be done correctly with a central server. It's what Initech did in New York City.

MITCH

(IS JUST STARTING TO GET ANNOYED, BUT SWALLOWS IT)
Well, uh, everyone's set up a little different.

JJ

Yeah: some of them are done right and others just waste time. You're lucky I'm willing to put up with it, or you'd be short a developer.

MITCH

Umm-- right. And speaking of developing, you're connected, and I need to get back to what I was doing--

JJ

(DISMISSIVE)
Yeah yeah yeah-- I'm done with you for now.

SOUND: OPPOSITE OF LAST SOUND-- WALKING BACK TO OFFICE, SITTING DOWN

MITCH

Uhg, now where was I? Quantity-- threshold. Threshold, threshold-- right, threshold.

SOUND: TYPING

MITCH

If... the threshold is less than or equal to supplier uncertainty...

JJ

(SHOUTED FROM ACROSS THE HALL)
OH COME ON! Mitch, what is this crap?

MITCH

For the love of... what now?

JJ

Come here and fix this crap, Mitch!

MITCH

Coming!

SOUND: AGAIN, STAND UP, ACROSS THE HALL, ETC

MITCH

What is it?

JJ

Your stupid code doesn't compile

MITCH

What? Let me see.

SOUND: CLICK CLICK

MITCH

The heck-- cannot access C:-- you need to run the IDE as administrator. That was in the email-- along with the config file instructions.

JJ

Runas admin? That is stupid dumb.

MITCH

Well, that's how it works.

JJ

I didn't rely on hacks like that in New York City.

MITCH

(STARTING TO LOSE PATIENCE, BUT STILL HOLDING ON)
This isn't New York City.

JJ

(ANSWERING LIKE MITCH IS AGREEING WITH HIM)
Yeah, I know, right? I get what you're saying. I'll have to make due.

MITCH

(SILENT FOR A BEAT)

MITCH

Right. Right.

SOUND: MITCH GOING BACK TO HIS DESK, SLUMPING DOWN

MITCH

(SIGH, WORN OUT)
Back to work... uhh-- quantity-- umm-- what was I even working on?

JJ

(SHOUTED FROM ACROSS THE HALL)
I can't believe this crap, Mitch! Why isn't there a data layer? Mitch!

MITCH

(SLAM KEYBOARD, TO SELF)
There is a data layer, what the hell?

JJ

Come on, Mitch, even PHP monkeys use N-Tiers. Where's the data layer?

MITCH

(SHOUTS BACK, BUT NOT TOO LOUD)
It's in the DATA LAYER project

JJ

What?

MITCH

IT'S IN THE DATA LAYER PROJECT!

JJ

I can't hear you. What?

MITCH

It's-- for the love of--

SOUND: ANGRY GETTING UP, FAST STOMP ACROSS HALL

MITCH

IT'S IN THE DATA LAYER PROJECT!

JJ

(INDIGNIANT)
How am I supposed to know where you hide things?

MITCH

(VOICES STILL ELEVATED)
It was in the email with the config file and the runas instructions and everything else you need to work on the project.

JJ

(VOICES STILL ELEVATED)
I don't need to read a novel! I worked for over three years in New York City and didn't need to work around a ton of hacks to get my work done. Just show me.

MITCH

I...

SOUND: JJ'S DESK PHONE PHONE RINGING, MITCH STABS THE SPEAKERPHONE KEY

MITCH

What?

STEVE

Will you knock it off? Some of us are trying to get work done!

JJ

Yeah, I know, that's what I've been saying!

STEVE

I know, everyone heard you! Just use email!

JJ

Forgeddaboutit. Email's too slow.

STEVE

You think what? Wait-- I don't care what you think. I'm telling you to stop yelling across the hall and send a damn email.

JJ

HEY! Us programmers don't get told how to practice our craft, especially not by someone who's only in IT, right Mitch?

STEVE

"only"-- you know what, you're right? Programmers should be making this call. Well, Mitch?

MITCH

(BEAT OF NERVOUS SILENCE)
Umm-- I-- uhh-- let's just make this work, okay? I really need to get JJ up and running and producing code.

STEVE

Wow.

MITCH

JJ, just tell me the issue you're having with the data layer.

JJ

Bah, now my whole train of thought's been completely thrown off. Thanks for interrupting, Steve! Don't you know programmers need to CONCENTRATE? I need to go get my head back in the zone!

SOUND: STANDING UP, STORMING OUT OF CUBE AND DOWN HALL

JJ

(FADING OFF AS HE STORMS OUT)
Way to waste my time...

STEVE

... aaaaand he's out the front door, ladies and gentlemen.

MITCH

You're not helping, Steve.

STEVE

Hey, don't put this on me. I tried to set him straight. You needed to back me up.

MITCH

I don't need to "set him straight". I need him to start coding and put his training to work.

STEVE

You mean his OVER THREE YEARS in NEW YORK CITY?

MITCH

It's just-- (sigh)
-- bad habits. Bugs to work around.

STEVE

Mitch, you don't work around bugs, Mitch. You stamp them out so things work right. And the longer you wait to fix a big...

MITCH

I know. It only gets worse.

SOUND: BOSSMAN FOOTSTEPS COME UP TO THE CUBE

BOSSMAN

Hey, Mitch, I just saw JJ. Looks like you guys are really putting the hammer to the screws here. You guys making it work?

MITCH

Uh, yeah-- yeah, y'know, we are-- making it work.

BOSSMAN

Great! Y'know what I say. Make it work.

MITCH

Make... it... work.

SCENE 4: Assurance of Quality

(MORE BUMPER MUSIC)

NARRATOR

As the week goes on, Mitch focuses on his tasks, and leaves JJ to his. The code flows, and task after task gets marked as completed, leaving Mitch cautiously optimistic about JJ. The project reaches its next milestone-- a full test deployment to Staging...

MITCH

Looks like everyone's check-in. DB scripts are ready to go. Staging server-- [MOUSE CLICK] dang.

SOUND: DIALING INTERNAL NUMBER, RING, PICKUP

STEVE

IT server services, this is Steve.

MITCH

Hey, Steve. All the RDP sessions on Staging are taken, can you clear one for me?

STEVE

Yeah. sure sure, give me one sec.

SOUND: MOUSE CLICKS ON STEVES END

STEVE

Yup, there you go. You can deploy and test the build.

MITCH

Thanks, I'll let you know if--

STEVE

Hey, uh--- you know your little make-work project's heading for the front door with his jacket, right?

MITCH

What?

SOUND: GETTING UP, HURRYING TO OFFICE DOOR, CALLING DOWN

HALLWAY

MITCH

Hey! JJ! Hold up! Come here for a minute.

SOUND: JJ COMES BACK TO MITCH'S CUBE

JJ

Yeah yeah yeah, what is it? Make it quick.

MITCH

I-- well, we're kinda doing a big build of the whole system to Staging.

JJ

Yeah, I know. I already deployed my part.

MITCH

Oh, uh, normally we like to do it all at once rather than--

JJ

Yeah, of course, you probably don't know about things like standard practices for deployment. We had it all figured out in New York City--

MITCH

(AT SAME TIME)
New York City.

JJ

Yeah, exactly. New York City.

Mitch

Yeah, I get that, I appreciate that. I'm sure there's lots of different ways we could be doing things--

JJ

-- better ways --

MITCH

-- but for now-- time crunch, established procedures, and all that. We deploy all at once, and everyone tests.

JJ

I already told you, I did my part.

MITCH

We still do testing and QA on the build.

JJ

I already checked, my code's perfect. Doing it again is just going to be a waste of my time.

MITCH

Umm-- I'd, ah-- I'd like to see it. Do a quick code review.

JJ

Hey, if you want put in an eighty hour week to admire my code, go ahead. But I'm done my part. It's past four, I'm heading home before I have to waste a bunch of time in traffic.

STEVE

(STILL ON PHONE)
Then you're going to love driving right back in when your code breaks the build.

JJ

(HUFF)
My code doesn't break, I'm not some noob.

MITCH

That isn't what Steve meant--

STEVE

Yes it is.

MITCH

(TALKING OVER HIM)
-- it's just that, as I'm sure you know, this is an INTEGRATION test-- and I really need to make sure your code is-- (sigh)
-- that everyone else's code fits in with yours. Please, JJ, stick around just for a bit and let me see what you've written. I'd really appreciate it.

STEVE

(STAGE WHISPER TO SELF)
Oh brother.

JJ

Fine, I'll put in some overtime. You better appreciate this. Let's make this quick.

SOUND: MITCH SITS DOWN AT HIS DESK, JJ STANDING BESIDE HIM

MITCH

Steve, I'm going to let you go.

STEVE

Oh no please let me listen in-- (HUNG UP ON, DIAL TONE)

SOUND: CLICKING AS MITCH GOES THROUGH JJ'S CODE

MITCH

Okay, let's see what you checked in-- open the class-- {sound of reading muttering}-- okay, not bad-- maybe onload could use a few less DB calls-- {speaks quickly to quell any potential conflict} butitisokay-- just my preference. Moving on-- {scroll scroll}

JJ

See, I told you it's all good.

MITCH

Let's just look at the next class-- {scroll click}-- hmm, this one doesn't have comments... {click}... or neither does this one.

JJ

No no no, nah, I don't believe in using comments.

MITCH

What?

JJ

Comments are bad practice. If someone changes the code, then the comments are wrong.

MITCH

Changes-- what? If someone changes the code, they'll change the comments to match.

JJ

No no no, they won't. I mean, I would, obviously. But, ok, look... lesser, if they can't be bothered to learn to read code without comments to explain things to them like a simpleton, obviously they're too lazy to remember to update those comments when they dump their hacky little changes into the code base.

MITCH

I-- (quiet, trying to keep from being angry)
-- that isn't exactly a fair assessment of my team.

JJ

Maybe you just haven't noticed then, but by my experience, one code monkey is just as hacky as the next.

MITCH

Okay, my apologies for not being clearer. I can guarentee none of the developers on my team would pull stupid crap with comments-- because if they did, I would kill them where they stood.

JJ

...

SOUND: THEY SHARE SOME AWKWARD LAUGHTER

JJ

Umm-- well, look, my code's already passed QA, ok? You've got things under control, and I'm already going to be stuck in traffic.

SOUND: FOOT STEPS AWAY, JJ'S VOICE IS FADING AS HE BACKS AWAY

JJ

But-- umm-- just for you, just this one time, I'm going to keep my my cell phone on, just in case someone else's code breaks things. Ok? Bye.

SOUND: HURRIED FOOTSTEPS OUT OF OFFICE

SOUND: PHONE RING, MITCH PUTS ON SPEAKER

MITCH

What is it, Steve?

STEVE

Getting your code reviews done in under five minutes now? Wow, Mitch, that's impressive. Did you get training or something-- maybe over three years of it in New York City?

MITCH

... City. Steve, please-- you just wouldn't understand.

STEVE

So you also think I'm too dumb because I'm "only" in IT?

MITCH

Yes-- I mean, no--

STEVE

I see.

MITCH

Steve! Look, this isn't easy.

STEVE

Sure it is. Here, watch. "JJ, you suck, goodbye." Done. There, see that wasn't so hard, was it?

MITCH

And then we're short staffed. Again.

STEVE

So rent some code monkies to pound on a few keyboards. I'm sure a team of them in a room together will have over three year's training--

MITCH

No they won't. That's the problem, that's the whole problem. I'm not trying to insult you, but you really, really don't get it. Dynamics AX isn't just some PHP thing you can throw a junior coder on with a copy of "For Dummies". Like, imagine you have a webserver made up entirely of uncompiled code-- and to add features to the website, you made changes to the WEB SERVER's CODE ! Except you have all of Microsoft's code is there too, and most things you do just add to the code, but sometimes you the existing code, and it all comes down to good judgement and experience. And that's just the start of it. So yeah, over three years of training in Dynamics AX is something I want to leverage. He's an asset, and I really need to make this work.

STEVE

Yeah, he sure is an ass-- (holds this intentionally long)
-- set.

MITCH

Real mature. He's got highly specialized skills, and we need. Without him I'm pulling overtime every night until the project's done.

STEVE

Listen, he's a tool, Mitch. He's a specialzed tool, but he's still just a tool-- and the sooner you recognize he's a crappy tool that can't get the job done, the better.

MITCH

It's a poor worksman who blames this tool.

STEVE

It's a fool who can't see when the tool is using him. Cause even with his specialized skills, here you are, pulling overtime-- doing the development all by yourself. Still.

SCENE 5: THE FINAL MELTDOWN

(BUMPER MUSIC)

NARRATOR

And so Mitch "Made it work" the best he could, balancing JJ's personality with the fact that at least JJ was producing code. Flash forward to "far too few days later"-- deadline day. The clients are eagerly awaiting their product, already lining up a pilot program of users to begin training.

SOUND: BUSY OFFICE

BOSSMAN

Guys, today is the day! We've been waiting for months for this-- we've got all our ducks on the launch pade, we're dancing at the finish line. Houston: we have a deployment. Guys-- let's get ready for D-Day.

STEVE

(ON PHONE, OF COURSE)
Oh jeez, he's still calling it that?

MITCH

Bossman, come in.

BOSSMAN

Mitch. JJ. My Dynamics Duo! Just checking on, getting a pulse of the heartbeat-- seeing if you've got enough on your plates to keep them spinning. The hourglass is about to ring, so tell me now-- (A HINT OF DOUBT IS IN HIS VOICE. HE HAS A SENSE JJ ISN'T WORKING OUT, BUT TRUSTS MITCH AND NEEDS REASSURANCE)
-- is this project ready to deploy?

MITCH

I--

JJ

Yeah, Bossman, things are GREAT, sir!

BOSSMAN

JJ--- uh-- great. Uh, Mitch? Are things going good? Are you-- making it work?
(IT'S ALMOST LIKE MITCH IS BEING GIVEN AN OUT, LIKE THE BOSS IS AFRAID JJ WOULDN'T BE A GOOD FIT, LIKE THIS IS AN OPPORTUNITY TO BE ABLE TO JUST HIT THE PANIC BUTTON. BUT...)

STEVE

Yeah, Mitch-- making it work?

MITCH

Uh-- Yeah-- making it work.

BOSSMAN

(EXCITED)
Great then!

STEVE

(DISSAPOINTED THAT MITCH DIDN'T TAKE THE LURE)
Yeah-- great.

JJ

In fact we're going to push the deployment right now! Hey, why don't you sit down and watch it all go live with us?

STEVE

Umm...

MITCH

Actually...

BOSSMAN

Really? Oh, great! Normally I'm pacing in the hallway, waiting for the news like a mother in the maternity ward. I wanna see this go live. This is what we've been waiting for, right?

MITCH

Great. Well, okay then-- let's do this. Steve, deploy the package.

SOUND: A SINGLE CLICK

STEVE

Done

BOSSMAN

(SEEMS A BIT ANTICLIMATIC)
Oh. That's it. Already?

MITCH

Yeah, builds go so much faster since we implemented BuildMaster. (aside)
"It's an amazing product from Indeo"

BOSSMAN

Hey, and I hear it's run by a great guy.

(BEAT)
BOSSMAN

So we're live, then? Great, success everyone!

JJ

Success! I knew I could do it.

SOUND: PM'S PHONE RINGING

BOSSMAN

Oh, uh, actually, hang on guys-- this is the client. I have to go take this.

SOUD: PM ANSWERS PHONE

Hi, you've reached-- oh. Um. Umm, I'm going to take this outside. I'll be right back.

SOUND: STEVE'S EMERGENCY PHONE RINING

STEVE

Hang on-- hang on, uh---

SOUND: STEVE ANSWERS PHONE

Systems, Steve. It-- it is? Umm, let me go check...

MITCH

Steve, what's going on?

STEVE

The uh-- the site's down.

MITCH

What?

(CHAOTIC, OVERLAID VOICES AND PHONE RINGING)

SOUND: STEVE'S EMERGENCY PHONE RINING

MITCH

Can anyone get on the site?

BOSSMAN

It's just a little hiccup, nothing out of the ordinary...

STEVE

Yes we know the site's down

MITCH

I need an error message, an event log, something!

SOUND: PM'S PHONE RINGS

STEVE

Yes, we are working on it.

BOSSMAN

It's just a little set of backs, not a molehill, I assure you!

MITCH

Steve, I need an error message.

SOUND: STEVE'S EMERGENCY PHONE

STEVE

IT, yeah yeah yeah

MITCH

Steve, steve, steve, I need an error message!

JJ

This never happened in New York City.

BOSSMAN

We're working on it. Of course, I'll get right back up to you.

STEVE

Got it-- check your email.

BOSSMAN

Yes, of course, our whole team's working on it right now.

SOUND: MITCH'S PHONE BEEPS, THERE'S AN EMAIL. CLICK TO OPEN

MITCH

Umm-- {mutter mutter}-- a conflict occured-- stack track stack trace-- where's the stack trace?

BOSSMAN

Uh, guys, Do we roll back? I don't want to roll back.

MITCH

Give me a second-- stack trace-- exception, more more more

STEVE

I need to run a training session soon, Mitch-- what's the issue?

SOUND: PM'S PHONE RINGING

BOSSMAN

Mitch! What's going on here? I mean, the client is breath down my butt over here!

MITCH

Ah-- something compilatin error something missing component-- never seen this one before.

BOSSMAN

This isn't working. Make it work, please.

MITCH

The error is coming form the inventory subsystem.

STEVE

Let me guess...

MITCH

JJ, that's yours.

JJ

What? That's impossible. My code passed QA just fine.

MITCH

Something broke in the build. Did you check EVERYTHING in? Code, database, everything?

JJ

Of course. I'm not some noob.

MITCH

And everything got into the deployment package?

JJ

Yes. OF COURSE. Someone else's code must have broken mine.

STEVE

I don't think that's a thing.

JJ

Hey! Watch what you're saying, IT.

MITCH

Okay, enough. I'm not trying to blame-- anyone-- much. But we need to track this down now. A hotfix is faster than a complete rollback. JJ, please, just look at the error message. It's being thrown from your code.

JJ

Fine. Show me the stupid error message.

SOUND: CLICK

MITCH

Here.

JJ

(READING)
Something something compilation error message--

STEVE

I need to run a training session soon, Mitch-- what's the issue?

BOSSMAN

(PANICING)
I thought you guys made it work!

JJ

(MUTTER MUTTER READ)
Oh, please, is this what the whole fuss is about? It's just a non-code component that needs to be done. It's easy.

MITCH

Everything should have been in the deployment package.

JJ

It's a manual change I need to do. Five minutes, easy.

BOSSMAN

Five minutes? Great! Okay! Let's do it!

MITCH

Umm-- what change?

JJ

Oh, just another piece that needs to go into the AX server. Easy. Super easy. Don't worry about it.

BOSSMAN

Oh? It's easy?

JJ

Super easy.

BOSSMAN

Oh I like easy! Easy is good, right?

MITCH

Wait, I don't understand, the server? Why is the AX server even part of this?

JJ

It's really a complex process, but I can do it myself. Easy, right bossman?

BOSSMAN

Easy! Come on, let's do this! What are we waiting for?

MITCH

Wait, I still don't get what's--

JJ

Great, I'll just do this, just give me access to the server...

STEVE

Um, the server? What do you mean "the server"?

JJ

I just need to terminal into the production environment.

STEVE

(MASSIVE HUGE WTF REACTION)
WHAT?

MITCH

You're joking, right?

JJ

What's the admin password?

STEVE

Are you insane? There's no devs in production! Simple.

JJ

But it's a quick fix. Easy.

SOUND: PM PHONE

BOSSMAN

Hey, guys, I just got another email from the client. We can't have them down. Steve, this sounds like a really quick fix.

STEVE

No. No chance, bossman. Client says no devs in production.

BOSSMAN

Hey, don't worry about the client. I can convince them, it'll be fine.

STEVE

I say no devs in prodction. Doubly so for this one.

JJ

Why are you being so difficult?!? I can fix this!

BOSSMAN

I think we can make an exception this time, Steve.

STEVE

No. Mitch-- come on.

MITCH

Umm-- Steve has a point, we don't normally let ANY developers in production. There's too much risk.

JJ

What risk? It's already broken because you didn't do the deployment properly, and I ALREADY HAVE THE FIX!

MITCH

JJ, maybe if you just document what needs to be done, we can interface with the client and have them do it?

JJ

No. It's too complicated to explain, I have to do it myself. It's what I did when we deployed to QA. bossman, I can-- (excplictly saying this)
-- I can MAKE THIS WORK

BOSSMAN

Umm, okay, Steve, Mitch, let's let JJ do what he needs to do to make it work.

MITCH

Umm-- (beat)
-- no.

BOSSMAN

What?

JJ

What?

STEVE

Good.

MITCH

Not yet. JJ, no development in prod is a rule for a reason-- and preventing out of control and unknown changes is one of them. I really need you to at least show me what you did on QA. Please?

STEVE

Mitch, you aren't seriously concidering...

MITCH

That's my call. Here... {click click}... there's a terminal to QA. Show me what you did.

JJ

Fine. {sound of sitting down-- click click click}... there, all you have to do is comment out those lines, and it'll work.

MITCH

What... what is this? This is part of the AX server-- scroll up-- sys dot something--- wait, sys. SYSTEM? The core AX system?

JJ

Yeah, that's it.

MITCH

System-- JJ, what do those lines do?

JJ

I don't know, but everything runs fine without it, so it must be extranious.

MITCH

Wait, so let me get this straight-- to get your code to run, you're saying we need to comment out a block of system code-- something that is part of system-with-a-capital-S-- the CORE OF THE SERVER?

JJ

Yes. It kept erroring out when my code stepped into it. So I commented it out and everything worked fine. Just comment it out in production, and that'll make it work.

MITCH

What. The. Fu---

BOSSMAN

Sounds easy, right? If I understand it's just like commenting out a vegetable organ, like a kidney or and appendix or something.

MITCH

I don't-- what?

JJ

It worked in staging, and in QA. That's all it takes.

BOSSMAN

Okay, let's do it. Steve, get him access.

MITCH

No.

BOSSMAN

What?

MITCH

(HERE'S MITCH'S BREAKING POINT)
No. In so many ways, no.

JJ

But-- it worked in QA--

MITCH

(CUTTING HIM OFF)
No! I don't care if it works or not, it's WRONG! Your code is WRONG, the solution is WRONG, your entire line of thought is WRONG! I can't believe you would even think of suggesting we just-- comment out-- two dozen lines of SYSTEM CODE that you don't even know what they do-- and just think "oh, that's okay, they don't do anything anyways"-- like core system code are leftover parts from an Ikea table!

BOSSMAN

But the client--

MITCH

-- is going to explode if we try to pass this off as a fix-- and they'll go absolutely supernovae if they ever discovered it after the fact because their entire system implodes because CORE SYSTEM CODE IS MISSING! This isn't a solution. This isn't an idea you would even suggest in passing during a drunken brainstorm session. This isn't even something you would bring up for a laugh as an April Fools joke! This "fix" is the entire reason developers DON'T touch prod-- ESPECIALLY IF THEY THINK THIS IS A FIX!

JJ

(DESPERATE TO SAVE FACE)
This isn't such a big deal.

MITCH

Not a big-- not a big-- (sigh, scary calm)
Okay, JJ, look-- I don't know what Unicorn fantasy land you live in where this isn't a big deal. Maybe, somehow, you think this is a valid problem soliving technique-- like popping a zit with an Abrhams tank. I mean, sure it'll work, but boy oh boy will the patient not be the same afterwards. Except in this cast {Slam the desk comedic yelling} THE PATIENT IS THE CORE OF AN ENTERPRISE LEVEL SERVER RUNNING A MULTIMILLION DOLLAR CORPORATION! It's the core of the system. It's there for a reason and if you don't know what the reason is, then you look it up on Google first or, even better-- okay, okay, follow me on this, okay-- you assume that you SHOULDN'T TOUCH THE CORE SYSTEM AND YOU! DON'T! TOUCH! IT!

What in the world were you being trained to do for the past three years-- (sarcastic)
sorry, over three years-- learning to be rude and impatient? I've heard better ideas coming out of an Eliza program with a virus! I've seen better suggestions coming from a GPS that doesn't understand oceans-- or cliffs-- or gang turfs.

My goodness, I've seen better code come from a random number generator streaming over a 1200 baud modem-- after someone's picked up the phone-- AND FARTED IN IT!

MITCH

(BREATH BUT STILL GOING, REACHING MANIC BREAKDOWN POINT)
I put my faith in you that you were a profession but you aren't JJ! The kind of noob you are-- someone who not only doesn't know what he's doing, but doesn't know he doesn't know what he's doing-- your kind of developer is the worst, and you, JJ, are the worst of the worst.

(And we pause for breath and stunned silence. )

BOSSMAN

Mitch, this is the first I'm hearing of this...

JJ

(COMPLETELY INDIGNANT)
And it will be the last, because this is not how you treat a seasoned professional! I quit!

MITCH

Oh, no you don't. You're staying right here and finishing the job.

JJ

I'm not staying here and taking this-- disprespect. My contract was only until deployment. I don't need to stay and put up with this.

MITCH

Oh, but you do-- because there isn't a single AX developer job you can apply for out there.

JJ

As if. I'm highly trained and specialized. Everyone who runs AX needs me, and knows it.

MITCH

Exactly-- the small world of AX adopters is why you're in demand-- but it cuts the other way, too. It's a small, tight, core group of companies that run AX-- we all know each other. We all go to the same conferences, and we're all on the same mailing lists. You wanted to be the rockstar behind this project-- think about how quickly news of the legacy you left your name on will spread.

JJ

..... oh... right.

MITCH

Bossman, you're right, you didn't hear about this-- and that's my fault. Because in the end, I was swamped, and overworked, and needed another AX developer-- and I wanted to make it work. And you know what, we still can. But we need to be smart about it.

MITCH

Steve, we're going to rollback. We don't have any other choice. We're not making this change as is. If the client asks, tell them there was a hiccup, that they can keep testing Phase I for now, and that Phase II will be available at the end of the next week.

BOSSMAN

The client isn't going to be happy about this.

MITCH

I know, so, Bossman-- you're up to bat, and I need you to sink a touchdown for the team. We've got contracts, right?

BOSSMAN

Yeah, big ones.

MITCH

And they have clauses, and riders, and lots of fun loopholes. Right?

BOSSMAN

(GETTING A BIT MORE OPTOMISTIC NOW)
... yeah, truck-tons of them.

MITCH

Bossman, I need an extra time to deliver, and I need you to get it for me.

BOSSMAN

That isn't going to be easy--

MITCH

Which is why you're the bossman for the job. I need you to box outside of the ring-- to keep them running on their toes-- to run interference. Schmooze and redtape like you've never shcmoozed and redtaped before. Can you do it? CAN YOU MAKE IT WORK?

BOSSMAN

YES! I can make it work!

MITCH

Great. And you, JJ--

JJ

What about me?

MITCH

You and I are going to sit down and go over every single line of code you've written, and figure out how to make it work. Properly.

MITCH

Alright everyone-- let's make it work.

SOUND: BUMPER MUSIC

NARRATOR

And so, through a combination of Mitch's leadership, caffine and overtime, the team Made It Work. And as for JJ-- well, even though he's now back on the job market, at least he can put on his resume that he has nearly four year's experience.

SOUND: OUTTRO MUSIC

NARRATOR

For The Daily WTF, this was "Make It Work". In order of appearance, "Remy Porter" was Mitch, "Mark Bowytz" was Steve, "Alex Papadimoulis" was Bossman, and "Lorne Kates" was JJ. Sound and music provided by StockMusic.com. I'm your announcer Paul Rousse of "Voice By Paul dot com". This has been a W.T.F. Radio presentation.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!