When a developer and a software stack love each other very much, they do a special “setup” and make beautiful little apps together. Then the apps grow up, get all moody and won’t do their chores anymore. “You’re big now! You shouldn’t need me to tell you to do these things!”, you protest, puzzling to understand their supposedly maturing minds.

You stare at their source code, reminiscing about how simple things used to be. They used to be so small. So cute. Sure, they burp, shit the bed and keep you up at night, but problems came and went one at a time. Now reading their code is like watching a paper shredder’s colonoscopy. Problems all happen at once. You need a babysitter. And a vacation with Jack Daniels.

It takes a village. Teammates, project managers, product owners and interns see that your special little apps are struggling to reach their potential. Retrospectives, stand-ups and groomings act as PTA meetings of various scales as you try to shape your apps’ futures.

You stress. You worry. And yet, you try. It’s 2:00 AM and you look at your laptop, where you see that your dear Stack’s config file really let herself go. You reach a few sneaky fingers out from under the sheets and try to run the build. Just so you both feel something again. Fans spin. Hard. Heat radiates from holes and STDOUT prints out more. More! But your eyes glaze over, no longer paying attention to her words.

You used to feel excited seeing her lines, but it’s just not the same anymore.

You want out.

But divorce is expensive. What do you do with the kids? You can’t just dump the thing and get away with it. How do you break the news in the first place?

…You don’t have to say anything right now. Go to a convention about your framework and talk about your libraries. After all, this is a serious decision and you should try to make this work. You know, think it over.

You grab a ticket. You wait. You park. Yeah, yeah, get the damn lanyard from the desk because clearly everyone in the state would be here otherwise. Real rock concerts, these places. You sit and wait for the first speaker.

She walks on stage. No, not the speaker, her. That sweet little number on the warty little man’s laptop, projecting her grace to the wall for all to see. A sponsor wants to share their Stack. Two-way data binding. A dedicated, organized persistence layer. Her parents put detailed platform feature detection, so even her feature have features. Oh my god, did you get a look at those Bezier curves in that demo? Slut.

“No!”, an inner voice barks.

You snap out of it. Crap, you’re drooling. People are staring. You do some groan-wail thing loudly to make them look away awkwardly, not wanting to look insensitive to the handi-capable. Who knows how else you handle something like that.

“I’m being stupid”, you think to yourself. “I have responsibilities. Yes, she’s… something, but I can’t abandon everything I have.” Wait, she supports auto-updates and compilation to cross-platform installersdeargodyoumusthaveher.

11:00 PM, “git clone” glows in one corner of your eye while you stare at the directory containing your loveless marriage. The Dell workstation’s edges try to frame the memories fondly, but your only thought is that she doesn’t have to know.

You open the cloned repo. It all makes sense. The clarity. The energy. The vigor. You feel younger. You can’t remember the last time you had such fun. Screw conventions! Unprotected coding. Live a little.

She’s not your apps’ real Stack, but she’s perfect. She needs to stay. You can’t lose this.

Your babies.

What do you do about your babies?

Apps are a full time job. She’ll be spotted eventually. You hide in plain sight. You introduce her to Stack. “She’s just a helper library… from work,” you explain through a forced grin. But then there’s more than “helping” going on. The Stack notices. The Stack gets angry. Conflicts! Event streams cross! Observers hear one thing two ways! Module loaders search paths with new conventions! Error messages probe you endlessly, telegraphing clear doubt about your decision without outright accusing you of anything. Your sweat is confession enough.

You thought one stack was high maintenance. So you try to replace it for a leaner stack. But now, instead of having one stack that worked, you have two that will eventually quit.

You and the Stack know it’s over, but there’s too much at risk. Appy and little Beta. The managers will arbitrate. You attend a hearing about your decision. Competitors who knew how to keep their hands to themselves now have all the time in the world to add new features and fix defects while your team struggles.

You now have technical debt support payments to make every month so that your apps can live a healthy life under the supportive parents they could always count on.

Like most web developers you lived for the honeymoon.

But you are married till death do you part.