Saturday, April 25th, 2015 03:40 am

moment of zen

Fortunately, my job and how television portrays it (Quality control, aka program testing) isn't a subject for television because generally one hour drama doesn't focus on the minutia of a company building a program step by step because come on, that can be a multi-year process.

....with one exception.

I once ran across the dramatization of the dev process (montage-like) on TV and watched because it's kind of soothing to watch developers suffering (they're like a floor away from me and I've had a bad week, okay?) until we got back to real time and I promptly lost my mind.

A Summary of the Horror:
They're like "almost there after weeks of (montage) work, oh noes there's a null character mcguffin plot reason thing must get it out like right now tonight no waiting!" or something like that, how do you even know this you just finished the last line and haven't compiled it...hold up, where are the design docs, I haven't seen any since this started, how are they--and they're all scanning the source code--scanning a million lines of source code with their eyes ON SINGLE MONITOR WHY, not even using a search algorithm--who does that, what kind of fucking IDE are you using, why don't you have color enabled to make this easier, wait, that looks like microsoft notepad with the background painted black-- "OH FOUND IT FIXING IT NOW" wait, no, did you erase something and then hit enter that's a new line, but go back, problem, the mcguffin wouldn't be in there, that's in a class file, why are you--hold up, what language is this-- "Okay, compiling now!" holy shit did you just-- "Almost done!" wait, what, no, you can't do that, you don't fly edit your code (that did like magic or word processing, they weren't clear) have you ever heard of debug or like-- "Okay, done, send it--" IN TEN SECONDS REAL TIME THAT WASN'T A MONTAGE "--to whothefuckever we can start distribution like next week awesome going to hawaii!" WHAT THE FUCK ARE YOU DOING YOU DIDN'T EVEN RUN IT-- "Everyone go on vacation now bye!" NO NO YOU UNIT TEST SYSTEM TEST USER ACCEPTANCE LAST HAS TO CHECK FOR MEMORY LEAKS AND LOAD AT LEAST RUN SOME AUTOMATED SCRIPTS WHAT ARE YOU DOING DID YOU EVEN CHECK TO SEE IF IT EVER WORKED IN A REAL-TIME ENVIRONMENT BECAUSE YOU MACHINES ARE SET TO IDEAL CONDITIONS NOT THE WILDS OF PRODUCTION--

I'll spare you the rest--they say when the trauma becomes too much, the memory's blocked so sanity can be retained--but one thing's really just bothering me here.

In this ultra-tech, totally pro too many coffee cups suspiciously unstained and without chips or being shattered against the wall and no crumpled up design documents because the analysts are sadistic fucks and will give you three contradictory rules and don't understand how to use Visio or the concept of driver flow...all the super-cool computers only had one monitor each.

I get it now.

This is about a desperate dev team torpedoing the project due to hideous working conditions, inadequate equipment, lack of support personnel, and no design documents because they were set up to fail by an evil CEO who wanted to cut corners and get rid of the entire dev department to bring in an alien design team from Mars (who secretly plan to conquer the world because even aliens wouldn't agree to this nightmare unless they had another motive entirely) and now it all makes sense!

The frightened dev team (who obviously have been playing along with the evil CEO all this time but know the truth) gets to their secret base in Hawaii (everyone has three monitors, four if you need to watch real-time data from the server and query the database) where they're joined by ten heroic QC analysts with all their personal automated and manual scripts ready for action loaded on flash drives, three years worth of regression testing data, the latest version of the design and change documents (with screenshots!) stolen from the sadistic analysts (who now we know were paid by the alines) and the entire defect history they stole from the company's secret database (at great risk of their lives) led by the mysterious yet plucky analyst who planned it all, her personal laptop on her shoulder and fire in her eyes.

("Who are they?" one of the developers asks resentfully as they colonize one of the meeting rooms, booting up the provided computers and verifying the programs they requested are loaded and verifying their full and unrestricted access to all the environments as well as the servers. HIs eyes widen as one of them opens up PLSQL and logs into the most guarded environment: dev1. "What the hell--"

"Don't," said the crusty project manager, throwing out an arm to stop his aborted storm, his relief obvious at their presence; he learned this lesson the hard way and has never forgot (the program crashed like a lot and so many end user complaints; like a nightmare in text form; never again, he thinks to himself; never again). "Let them be. We know not their ways and can never hope to. Go work on the program; they'll do the rest.")

The drama is huge, and the stress level gets to everyone, climaxing in a shouting match between the likable but somewhat arrogant dev who keeps saying it's working as designed but the plucky analyst won't back down, flourishing screenshots and screen recordings while her team desperately searches the design documents and highlights all the relevant rules--it's here, BR-TOS-IS-04 and 05, you see it, get me SR 786747, I--er, I mean 'she'--bookmarked that, she remembers it was added as a design correction after Defect 784--and finally--finally--he believes her.

("How?" he asks in awe, humbled and amazed by turn, breathless; for so long, he thought dev was all that mattered and QC was but a rubber stamp who did nothing but argue about trivialities in the code like petulant grammar prescriptivists about the word 'literally' used as hyperbole--but now, he wonders, uncertain: who is truly the heart of development? "How can you remember a business rule among dozens from an SR that's among the hundreds--nay, thousands--that you personally tested over a period greater than seven years?"

"I'm a tester," she says, raising her chin and meeting his eyes with hard-earned wisdom and compassion, understanding and forgiveness written into her faint smile, and he can't help but look away so she won't see his tears of relief; he's not worthy. "It's my job to remember and track program changes in my multiple Excel spreadsheets with subs and custom functions I hand-coded myself. Not for me, Dev Person; for the program. Do you understand now? It's not about us, Dev Person; it's about the program."

He nods, throat tight; how can someone so brilliant and confident be so selfless? It's about the program; only a mind like that--once in a hundred generations--could have conceived of such a universal truth. "Thank you."

She grins, tilting her head mischievously. "You ready to do this?"

"Yes," he says, straightening at her certainty that he can do this; her faith in him could light the world. He won't fail her. Or the program. "I am.")

They frantically fix the error and re-test--failure!--re-test--FAILURE!--(there may be crying in the bathroom but she comes back out after cold water and the subtle application of concealer to try again)--but finally--finally--they're there.

Debug complete, code validated twice, unit passed, joint passed, user acceptance passed, time for the big leagues, no more developer environments, no more user environments, no more controlled variables, all bets are off, it's time for the final testing phase: the environment where the rules are there are (almost) no rules, where anything can happen, prodfix and the best, last, and only way to test in near-real world conditions.

Shit. Just. Got. Real.

They all watch the three LCD TVs on the wall while the automated tests play on screen one (456985.01...PASSED! 456985.02...PASSED! 456985.03...) while at the same time the determined, plucky analyst frantically performs the final manual test for a live audience (she's never done this before, her fingers keep slipping on the keyboard--step one, passed; step two, passed-- God, the typos but she's only got one chanced to get this right or the world will end because there's no guarantees here, what works in a controlled environment may not work here, prodfix is a good mimic, but that's all it is when it comes to the perils of the real world, so she's gonna have to improvise here--step eight, passed; step nine, passed, crap get the screenshot, phew--the pressure is enormous (a single drop of sweat hovering attractively on her temple as she bites her lip, eyes narrowing in concentration, unaware Dev Person is watching her, thinking it's a privilege to be here at this moment in the presence of greatness)--step twenty-eight, passed; step twenty-nine, passed--and maybe she was wrong, maybe that defect wouldn't have mattered (no, no, you don't approve flawed code, focus)--step fifty, passed; step fifty-one, passed--

--step eighty-fucking-three...passed.

("Seppy," someone says, but she can't see anything but the center screen right now--that was the last step, that means that... Gently, he moves her cramped fingers from the keyboard, and leaning over her shoulder, smelling of break room coffee and toner when the printer exploded from a secret bomb, and gently clicks 'close', and before her eyes, she sees it on three (maybe five by now) TVs, and all sixty-inch LED: all tests passed. "You did it."

She nods, dazed, as she stumbles to her feet and he catches her before she faints (it's been a fucking long testing period and finger cramps hurt) and leads her to the center of the room and she realizes the silence is waiting. For her.

"Passed," she says, voice scratchy and broken, and she swallows frantically before saying again, "Passed. UAT passed."

After a moment, she realizes the noise she hears is applause, louder and louder, and she's unable to stop the tears because yeah, she always knew it was all about the program.

"Not just me," she whispers, looking up at him, and it humbles him how he can see believes it when the truth is, it's her. All her. "We did it."

He won't argue, not now; some people, he suspects, are just too pure to truly grasp how they're the center of all things. But one day, maybe she'll understand. He'll spend his life trying.)

And....they save the world somehow, no idea. Like I said, I should have watched the rest of the show. But this is totally what happened next. If anyone happens to see it, tell me how it ends?
green_grrl: (Default)

2015-04-25 01:31 pm (UTC)
Ahahaha! Yes, that is how it must have happened in the secret base in Hawaii! Honestly, TV, do you think that if it were possible to get a working program out by cutting off weeks of time in one night of eyeball checking, corporations wouldn't save themselves the time and money by making that the process? Of course they would, but they don't because that's not how it works! It takes iterations of debugging. SMH
owl: text editor with code, captioned "life would be easier if I had the source code" (source code)

[personal profile] owl
2015-04-25 11:57 pm (UTC)
Or code examples in the source that they don't remove before deployment (must do that on Monday).
owl: (aldea)

[personal profile] owl
2015-04-28 10:58 pm (UTC)
I only do those kind of comments for new functionality, or maintenance that's so major it's a rewrite of a component. If the maintenance involved deduction on the scale of Miss Marple, I'm more likely to leave a trail of comments interspersed through the code as notes.
green_grrl: (Default)

2015-04-26 03:27 pm (UTC)
Seriously, you don't write code on the fly, you copy paste your proven-to-work chunks!

Wouldn't it be nice to be abLe to send usability testing notes to all the software companies?
mecurtin: Doctor Science (Default)

2015-04-25 02:48 pm (UTC)
nagasvoice: lj default (Default)

2015-04-25 07:19 pm (UTC)
Hey, we'd all watch it!
jesse_the_k: Ray Kowalski is happy to be alive, surrounded by yellow rubber ducks (dS RayK's ducks)

2015-04-25 03:11 pm (UTC)

I love the way testers sport those tooled leather bandoliers that hold two dozen flash drives in chrono order.
wychwood: sad girl in mud says "No... :( I wanted the opposite of this :(" (gen - hyperbole opposite)

2015-04-27 09:59 am (UTC)
I'm not sure whether being in the middle of UAT now made this funnier or more traumatising.

(ask me about week five of our one-day system update! ASK ME)
wychwood: chess queen against a runestone (Default)

2015-04-28 07:48 am (UTC)
...daily builds? Doesn't that mean that you have to... repeat the entire UAT every day?

wychwood: chess queen against a runestone (Default)

2015-04-28 02:10 pm (UTC)
Wow, it's like they have never actually done any testing of any code ever, or something.

We're having fun with the supplier's API, because allegedly it replicates all the functionality of their direct interface, except that it really doesn't and possibly no one except us has ever even tried to use the API (given how many crucial things just aren't there...)
grammarwoman: (Default)

2015-04-27 05:47 pm (UTC)
*DYING* If I could throw flowers at this dramatic enactment, I totally would. SING IT.

I just finished my hellish Goto shift (the daytime oncall developer who is supposed to be the goto person for builds and incidents and general support questions) for a product team that I was moved to a month ago, for a bunch of products I've never used or coded for, while being a remote developer. Guess how much help I was. Go ahead, guess.

To my credit, I only cried my first day. After that, I found I have enough room in my cubicle to spin with both arms outstretched flipping the bird to the world, and that helped a lot.

The pressure eased somewhat when the business analyst realized that we could not make a code change in UAT to meet his ridiculous timeline for the push to PROD (Who approves a release to PROD at end of fiscal? WHO?), so the change had to be made in DEV and promoted back up the line with full QA testing. If it hadn't been for an SSL conflict with an iframe, that flawed code would have made it to PROD and we would have been DOOMED. (I am judging the original programmer so hard. He did bad things and should feel bad.)

I am still struggling with trying to get this razzer-frazzer other build working on UAT, while muttering imprecations about whoever made the web.config changes without leaving any notes or propagating the changes up the line. Thank God for WinMerge.

So yes, this is BEAUTIFUL.
grammarwoman: (Default)

2015-04-28 01:18 pm (UTC)
I suspect lots of our upper management to be drunk. "Let's switch to SAP so all of our data needs to be mapped to the new databases, only even with a year of planning let's not finish all the mapping until after the developers have been instructed to change the code. And at the same time let's move to TFS for all of our code management AND builds AND sprint backlog! And in switching so many horses midstream, let's not listen to our senior developers so they're fed up and leave!"

Drunk sounds about right, or secretly participating in a reality show of "how slowly can we boil this pot until the rest of the frogs jump?"
petronia: (Default)

2015-04-27 08:14 pm (UTC)
Coding on TV and in movies: endless, endless amusement.


seperis: (Default)



If you don't send me feedback, I will sob uncontrollably for hours on end, until finally, in a fit of depression, I slash my wrists and bleed out on the bathroom floor. My death will be on your heads. Murderers.
--unknown, BTS list

That's why he goes bad, you know -- all the good people hit him on the head or try to shoot him and constantly mistrust him, while there's this vast cohort of minions saying, We wouldn't hurt you, Lex, and we'll give you power and greatness and oh so much sex...

Wow. That was scary. Lex is like Jesus in the desert.
--pricklyelf on why Lex goes bad

Obi-Wan has a sort of desperate, pathetic patience in this movie. You can just see it in his eyes: "My padawan is a psychopath, and no one will believe me; I'm barely keeping him under control and expect to wake up any night now to find him standing over my bed with a knife!"
--Teague reviewing "Star Wars: Attack of the Clones"

Beth: god, why do i have so many beads?
Jenn: Because you are an addict.
Jenn: There are twelve step programs for this.
Beth: i dunno they'd work, might have to go straight for the electroshock.
Jenn: I'm not sure that helps with bead addiction.
Beth: i was thinking more to demagnitize my credit card.
--AIM, 12/24/2003

I could rape a goat and it will DIE PRETTIER than they write.
--AIM, anonymous, 2/17/2004

In medical billing there is a diagnosis code for someone who commits suicide by sea anenemoe.
--AIM, silverkyst, 3/25/2004

Anonymous: sorry. i just wanted to tell you how much i liked you. i'd like to take this to a higher level if you're willing
Eleveninches: By higher level I hope you mean email.
--LJ, 4/2/2004

silverkyst: I need to not be taking molecular genetics.
silverkyst: though, as a sidenote, I did learn how to eviscerate a fruit fly larvae by pulling it's mouth out by it's mouthparts today.
silverkyst: I'm just nowhere near competent in the subject material to be taking it.
Jenn: I'd like to thank you for that image.
--AIM, 1/25/2005

You know, if obi-wan had just disciplined the boy *properly* we wouldn't be having these problems. Can't you just see yoda? "Take him in hand, you must. The true Force, you must show him."
--LJ, Issaro, on spanking Anakin in his formative years, 3/15/2005

Aside from the fact that one person should never go near another with a penis, a bottle of body wash, and a hopeful expression...
--LJ, Summerfling, on shower sex, 7/22/2005

It's weird, after you get used to the affection you get from a rabbit, it's like any other BDSM relationship. Only without the sex and hot chicks in leather corsets wielding floggers. You'll grow to like it.
--LJ, revelininsanity, on my relationship with my rabbit, 2/7/2006

Smudged upon the near horizon, lapine shadows in the mist. Like a doomsday vision from Watership Down, the bunny intervention approaches.
--LJ, cpt_untouchable, on my addition of The Fourth Bunny, 4/13/2006

Rule 3. Chemistry is kind of like bondage. Some people like it, some people like reading about or watching other people doing it, and a large number of people's reaction to actually doing the serious stuff is to recoil in horror.
--LJ, deadlychameleon, on class, 9/1/2007

If imitation is the sincerest form of flattery, then Fan Fiction is John Cusack standing outside your house with a boombox.
-- Tweeted by JRDSkinner

Style Credit

  • Style: New White V.2 for White Spaces v.2
March 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 2019