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
Radio W.T.F. presents...
The Daily WTF
Today's episode, "Make It Work", adapted for radio by Lorne Kates, from a submission by Mitch G.
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
(GENERAL MUMBLING ABOUT CODING, LIKE HE'S AT THE END OF
SOMETHING. TYPES IN A PHONE EXTENSION)
Hello, IT services, this is Steve.
Steve, it's Mitch. Did you get the specs I sent you for the new Staging server?
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.
(PANICKED)
What? We're not ready for a demo! What's a client rep
doing here.
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.
(PM AND JJ ARE IN "MID CONVERSATION")
... 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.
Uh, hi...
So Mitch is the lead developer here.
(LOUD, WAY OVERCONFIDENT)
Ah, so you're the one whose going to be jealous of my
code.
(AWKWARD LAUGHTER)
Um
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.
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 ...
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.
Three years?
OVER three years. At Initech.
(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
All real Dynamics developers know them. They're in New York City
Oh, yeah, yeah, Mitch. They're a big shop up there.
In New York City.
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.
(SARCASTIC)
Oh, that's an encouraging sign.
What?
What?
Um, sorry, forgot to hang up. That's Steve, head of IT.
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.
And I need a GOOD computer, not the junk you use for helpdesk.
Wow, yeah, I think I know EXACTLY what you need...
(TALKING OVER, BACKING AWAY)
Hey, great! Hey, intros all around, good stuff. Now you
settle in and thumbs up.
(STAGE WHISPER FROM *)
Whoa, boss, one second-- *-- look, I know we need
developers...
(STAGE WHISPER BACK, THOUGH SLIGHTLY LOUDER)
And I got you one.
Yeah, but, the team...
Needs another Dynamics developer.
And this guy...
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)
Make it work.
Yeah, you got it. Hey, I'll catch up with you later. Peace out.
(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.
Actually, it's already 4pm, so I'll just get started tomorrow morning.
Umm... but we're a bit short on "tomorrow mornings", so we're doing the deployment now.
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.
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.
(BEAT)
(OVERWHELMED)
Make it work.
Oh yeah, this is going to work out great.
SCENE 3: Fitting In(INTERSCENE MUSIC BUMPER)
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...
(AGAIN, CONCENTRATING ON CODING, MUMBLING TO SELF)
Okay, problem solving time. (typing)
If... quantity
times price over in-cart is greater than threshold...
(SHOUTED FROM ACROSS THE HALLWAY-- MUFFLED
APPROPRIATELY)
HEY MITCH!
(BREAKING OUT OF A CODE STUPOR)
Huh, what---
MITCH! Your database don't work! Come here!
(ALMOST OUT OF STUPOR)
Uh, yeah-- hang on a second...
What's the problem?
Your dumb code won't connect to the database. Come on, this is noob stuff I shouldn't be wasting my time with.
Let me see...
Hmm, the db config file I sent you is missing...
No, it's on the dev server right THERE.
It's on the Dev server, but the checked out branch is on your local machine. The config file needs to be copied local...
See? Look. It connects.
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.
(IS JUST STARTING TO GET ANNOYED, BUT SWALLOWS IT)
Well, uh, everyone's set up a little different.
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.
Umm-- right. And speaking of developing, you're connected, and I need to get back to what I was doing--
(DISMISSIVE)
Yeah yeah yeah-- I'm done with you for now.
Uhg, now where was I? Quantity-- threshold. Threshold, threshold-- right, threshold.
If... the threshold is less than or equal to supplier uncertainty...
(SHOUTED FROM ACROSS THE HALL)
OH COME ON! Mitch, what is this crap?
For the love of... what now?
Come here and fix this crap, Mitch!
Coming!
What is it?
Your stupid code doesn't compile
What? Let me see.
The heck-- cannot access C:-- you need to run the IDE as administrator. That was in the email-- along with the config file instructions.
Runas admin? That is stupid dumb.
Well, that's how it works.
I didn't rely on hacks like that in New York City.
(STARTING TO LOSE PATIENCE, BUT STILL HOLDING ON)
This isn't New York City.
(ANSWERING LIKE MITCH IS AGREEING WITH HIM)
Yeah, I know, right? I get what you're saying. I'll have to make due.
(SILENT FOR A BEAT)
Right. Right.
(SIGH, WORN OUT)
Back to work... uhh-- quantity-- umm--
what was I even working on?
(SHOUTED FROM ACROSS THE HALL)
I can't believe this crap, Mitch! Why isn't there a
data layer? Mitch!
(SLAM KEYBOARD, TO SELF)
There is a data layer, what the hell?
Come on, Mitch, even PHP monkeys use N-Tiers. Where's the data layer?
(SHOUTS BACK, BUT NOT TOO LOUD)
It's in the DATA LAYER project
What?
IT'S IN THE DATA LAYER PROJECT!
I can't hear you. What?
It's-- for the love of--
IT'S IN THE DATA LAYER PROJECT!
(INDIGNIANT)
How am I supposed to know where you hide things?
(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.
(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.
I...
What?
Will you knock it off? Some of us are trying to get work done!
Yeah, I know, that's what I've been saying!
I know, everyone heard you! Just use email!
Forgeddaboutit. Email's too slow.
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.
HEY! Us programmers don't get told how to practice our craft, especially not by someone who's only in IT, right Mitch?
"only"-- you know what, you're right? Programmers should be making this call. Well, 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.
Wow.
JJ, just tell me the issue you're having with the data layer.
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!
(FADING OFF AS HE STORMS OUT)
Way to waste my time...
... aaaaand he's out the front door, ladies and gentlemen.
You're not helping, Steve.
Hey, don't put this on me. I tried to set him straight. You needed to back me up.
I don't need to "set him straight". I need him to start coding and put his training to work.
You mean his OVER THREE YEARS in NEW YORK CITY?
It's just-- (sigh)
-- bad habits. Bugs to work around.
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...
I know. It only gets worse.
Hey, Mitch, I just saw JJ. Looks like you guys are really putting the hammer to the screws here. You guys making it work?
Uh, yeah-- yeah, y'know, we are-- making it work.
Great! Y'know what I say. Make it work.
Make... it... work.
SCENE 4: Assurance of Quality
(MORE BUMPER MUSIC)
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...
Looks like everyone's check-in. DB scripts are ready to go. Staging server-- [MOUSE CLICK] dang.
IT server services, this is Steve.
Hey, Steve. All the RDP sessions on Staging are taken, can you clear one for me?
Yeah. sure sure, give me one sec.
Yup, there you go. You can deploy and test the build.
Thanks, I'll let you know if--
Hey, uh--- you know your little make-work project's heading for the front door with his jacket, right?
What?
Hey! JJ! Hold up! Come here for a minute.
Yeah yeah yeah, what is it? Make it quick.
I-- well, we're kinda doing a big build of the whole system to Staging.
Yeah, I know. I already deployed my part.
Oh, uh, normally we like to do it all at once rather than--
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--
(AT SAME TIME)
New York City.
Yeah, exactly. New York City.
Yeah, I get that, I appreciate that. I'm sure there's lots of different ways we could be doing things--
-- better ways --
-- but for now-- time crunch, established procedures, and all that. We deploy all at once, and everyone tests.
I already told you, I did my part.
We still do testing and QA on the build.
I already checked, my code's perfect. Doing it again is just going to be a waste of my time.
Umm-- I'd, ah-- I'd like to see it. Do a quick code review.
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.
(STILL ON PHONE)
Then you're going to love driving right back in when
your code breaks the build.
(HUFF)
My code doesn't break, I'm not some noob.
That isn't what Steve meant--
Yes it is.
(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.
(STAGE WHISPER TO SELF)
Oh brother.
Fine, I'll put in some overtime. You better appreciate this. Let's make this quick.
Steve, I'm going to let you go.
Oh no please let me listen in--
(HUNG UP ON, DIAL TONE)
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}
See, I told you it's all good.
Let's just look at the next class-- {scroll click}-- hmm, this one doesn't have comments... {click}... or neither does this one.
No no no, nah, I don't believe in using comments.
What?
Comments are bad practice. If someone changes the code, then the comments are wrong.
Changes-- what? If someone changes the code, they'll change the comments to match.
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.
I-- (quiet, trying to keep from being angry)
-- that
isn't exactly a fair assessment of my team.
Maybe you just haven't noticed then, but by my experience, one code monkey is just as hacky as the next.
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.
...
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.
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.
What is it, 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?
... City. Steve, please-- you just wouldn't understand.
So you also think I'm too dumb because I'm "only" in IT?
Yes-- I mean, no--
I see.
Steve! Look, this isn't easy.
Sure it is. Here, watch. "JJ, you suck, goodbye." Done. There, see that wasn't so hard, was it?
And then we're short staffed. Again.
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--
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.
Yeah, he sure is an ass-- (holds this intentionally
long)
-- set.
Real mature. He's got highly specialized skills, and we need. Without him I'm pulling overtime every night until the project's done.
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.
It's a poor worksman who blames this tool.
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)
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.
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.
(ON PHONE, OF COURSE)
Oh jeez, he's still calling it that?
Bossman, come in.
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?
I--
Yeah, Bossman, things are GREAT, sir!
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...)
Yeah, Mitch-- making it work?
Uh-- Yeah-- making it work.
(EXCITED)
Great then!
(DISSAPOINTED THAT MITCH DIDN'T TAKE THE LURE)
Yeah-- great.
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?
Umm...
Actually...
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?
Great. Well, okay then-- let's do this. Steve, deploy the package.
Done
(SEEMS A BIT ANTICLIMATIC)
Oh. That's it. Already?
Yeah, builds go so much faster since we implemented
BuildMaster. (aside)
"It's an amazing product from
Indeo"
Hey, and I hear it's run by a great guy.
(BEAT)So we're live, then? Great, success everyone!
Success! I knew I could do it.
Oh, uh, actually, hang on guys-- this is the client. I have to go take this.
Hi, you've reached-- oh. Um. Umm, I'm going to take this outside. I'll be right back.
Hang on-- hang on, uh---
Systems, Steve. It-- it is? Umm, let me go check...
Steve, what's going on?
The uh-- the site's down.
What?
(CHAOTIC, OVERLAID VOICES AND PHONE RINGING)Can anyone get on the site?
It's just a little hiccup, nothing out of the ordinary...
Yes we know the site's down
I need an error message, an event log, something!
Yes, we are working on it.
It's just a little set of backs, not a molehill, I assure you!
Steve, I need an error message.
IT, yeah yeah yeah
Steve, steve, steve, I need an error message!
This never happened in New York City.
We're working on it. Of course, I'll get right back up to you.
Got it-- check your email.
Yes, of course, our whole team's working on it right now.
Umm-- {mutter mutter}-- a conflict occured-- stack track stack trace-- where's the stack trace?
Uh, guys, Do we roll back? I don't want to roll back.
Give me a second-- stack trace-- exception, more more more
I need to run a training session soon, Mitch-- what's the issue?
Mitch! What's going on here? I mean, the client is breath down my butt over here!
Ah-- something compilatin error something missing component-- never seen this one before.
This isn't working. Make it work, please.
The error is coming form the inventory subsystem.
Let me guess...
JJ, that's yours.
What? That's impossible. My code passed QA just fine.
Something broke in the build. Did you check EVERYTHING in? Code, database, everything?
Of course. I'm not some noob.
And everything got into the deployment package?
Yes. OF COURSE. Someone else's code must have broken mine.
I don't think that's a thing.
Hey! Watch what you're saying, IT.
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.
Fine. Show me the stupid error message.
Here.
(READING)
Something something compilation error message--
I need to run a training session soon, Mitch-- what's the issue?
(PANICING)
I thought you guys made it work!
(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.
Everything should have been in the deployment package.
It's a manual change I need to do. Five minutes, easy.
Five minutes? Great! Okay! Let's do it!
Umm-- what change?
Oh, just another piece that needs to go into the AX server. Easy. Super easy. Don't worry about it.
Oh? It's easy?
Super easy.
Oh I like easy! Easy is good, right?
Wait, I don't understand, the server? Why is the AX server even part of this?
It's really a complex process, but I can do it myself. Easy, right bossman?
Easy! Come on, let's do this! What are we waiting for?
Wait, I still don't get what's--
Great, I'll just do this, just give me access to the server...
Um, the server? What do you mean "the server"?
I just need to terminal into the production environment.
(MASSIVE HUGE WTF REACTION)
WHAT?
You're joking, right?
What's the admin password?
Are you insane? There's no devs in production! Simple.
But it's a quick fix. Easy.
Hey, guys, I just got another email from the client. We can't have them down. Steve, this sounds like a really quick fix.
No. No chance, bossman. Client says no devs in production.
Hey, don't worry about the client. I can convince them, it'll be fine.
I say no devs in prodction. Doubly so for this one.
Why are you being so difficult?!? I can fix this!
I think we can make an exception this time, Steve.
No. Mitch-- come on.
Umm-- Steve has a point, we don't normally let ANY developers in production. There's too much risk.
What risk? It's already broken because you didn't do the deployment properly, and I ALREADY HAVE THE FIX!
JJ, maybe if you just document what needs to be done, we can interface with the client and have them do it?
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
Umm, okay, Steve, Mitch, let's let JJ do what he needs to do to make it work.
Umm-- (beat)
-- no.
What?
What?
Good.
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?
Mitch, you aren't seriously concidering...
That's my call. Here... {click click}... there's a terminal to QA. Show me what you did.
Fine. {sound of sitting down-- click click click}... there, all you have to do is comment out those lines, and it'll work.
What... what is this? This is part of the AX server-- scroll up-- sys dot something--- wait, sys. SYSTEM? The core AX system?
Yeah, that's it.
System-- JJ, what do those lines do?
I don't know, but everything runs fine without it, so it must be extranious.
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?
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.
What. The. Fu---
Sounds easy, right? If I understand it's just like commenting out a vegetable organ, like a kidney or and appendix or something.
I don't-- what?
It worked in staging, and in QA. That's all it takes.
Okay, let's do it. Steve, get him access.
No.
What?
(HERE'S MITCH'S BREAKING POINT)
No. In so many ways, no.
But-- it worked in QA--
(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!
But the client--
-- 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!
(DESPERATE TO SAVE FACE)
This isn't such a big deal.
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!
(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. )
Mitch, this is the first I'm hearing of this...
(COMPLETELY INDIGNANT)
And it will be the last, because this is not how you
treat a seasoned professional! I quit!
Oh, no you don't. You're staying right here and finishing the job.
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.
Oh, but you do-- because there isn't a single AX developer job you can apply for out there.
As if. I'm highly trained and specialized. Everyone who runs AX needs me, and knows it.
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.
..... oh... right.
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.
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.
The client isn't going to be happy about this.
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?
Yeah, big ones.
And they have clauses, and riders, and lots of fun loopholes. Right?
(GETTING A BIT MORE OPTOMISTIC NOW)
... yeah, truck-tons of them.
Bossman, I need an extra time to deliver, and I need you to get it for me.
That isn't going to be easy--
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?
YES! I can make it work!
Great. And you, JJ--
What about me?
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.
Alright everyone-- let's make it work.
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.
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.