• The Meeting That Ended Early Is Not a Gift, Karen

    Portrait of a young businessman pointing at black alarm clock standing against grey concrete wall Image by freepik

    Oh, look at you. Mr. Big Shot Meeting Organizer. You wrapped up your pointless status update in 22 minutes instead of the scheduled 30, and now you’re sitting there with that self-satisfied smirk, bestowing upon us peasants the generous gift of “eight minutes back.”

    “I know everyone’s busy, so I wanted to give you some time back!”

    You didn’t give me anything. You took 22 minutes of my life that I’m never getting back. The fact that you didn’t take the full 30 you threatened me with doesn’t make you a hero. That’s like a mugger stealing $20 from my wallet instead of $30 and expecting a thank you card.

    Here’s a radical concept that’s apparently going to blow your tiny mind: meetings don’t have a minimum runtime requirement. There’s no Meeting Police who’s going to bust down the conference room door if you end at 11:17 instead of 11:30. Your Outlook invitation is not a binding contract that must be fulfilled to the second.

    You scheduled 30 minutes because you’re terrible at estimating how long things take and you wanted to build in a buffer for your own incompetence. That’s fine. We all do it. But when you realize at minute 22 that you’ve covered everything, you don’t get to act like you’re doing us a favor by not continuing to waste our time discussing the font choice on slide seven.

    And here’s the thing that really grinds my gears: you’re not “unblocking” me or “giving me time back.” I was already blocked. That’s what being in your meeting means. I’m blocked from doing my actual job. The job I’m measured on. The work that actually matters. You ending early isn’t a gift—it’s just you stopping the thing you shouldn’t have been doing in the first place for that long.

    It’s the professional equivalent of someone standing on your foot for 22 minutes, then stepping off and expecting gratitude because they didn’t stand there for the full 30 minutes they warned you about.

    “Well, I didn’t want to schedule a shorter meeting in case we needed the full time.”

    Then schedule 20 minutes. If you need more, you can always ask people to stay. But no, that would require you to actually justify extending the meeting. Much easier to hold everyone hostage from the start and then play the magnanimous benefactor when you deign to release us slightly ahead of schedule.

    You know what would actually give me time back? Not having the meeting at all. Sending an email. Using Slack. Making a decision without requiring 12 people to synchronously stare at each other through webcams while you slowly read through slides that you could have just shared.

    But sure, pat yourself on back for only wasting 22 minutes of collective productivity instead of 30. That’s 96 minutes of human labor across the 12 people you trapped in that conference room. Two person-hours of work, gone forever, discussing something that could have been a three-paragraph email.

    Next time you want to “give me my time back,” here’s an idea: don’t take it in the first place. Send a document. Make a decision. Trust that people can read. Do literally anything except putting “30 minutes” on my calendar because you can’t be bothered to figure out how long your update actually takes.

    And when you inevitably ignore all of this and schedule another meeting anyway, at least have the decency to end it when it’s actually done without fishing for praise like you just cured cancer by clicking “End Meeting” at 10:52 instead of 11:00.

    You didn’t give me anything back. You just stopped taking.

    Now get out of my calendar.

  • Why Can’t Anyone See the Message I’m Literally Looking At Right Now

    Okay, so I sent the meeting link in the channel. I can see it. It’s right there. It’s literally three messages up from where we are now. There’s Todd’s message about lunch, there’s Karen’s GIF of a confused dog, and then there’s MY MESSAGE with the Zoom link clearly visible.

    Image by KamranAydinov on Freepik

    “Hey, can someone post the meeting link?”

    I stare at my screen. I stare at the link I posted seven minutes ago. I stare at the three messages between now and then. I wonder if I’ve slipped into an alternate dimension.

    “I posted it at 2:47,” I type back.

    “Where? I don’t see it.”

    IT’S RIGHT THERE. I’m looking at it. It exists. It has a timestamp. It has a little Zoom preview icon. It is OBJECTIVELY PRESENT in this channel.

    “Scroll up like three messages,” I say, because I’m trying to be helpful and not scream.

    “I did. It’s not there.”

    I take a screenshot. I post the screenshot OF THE MESSAGE THAT’S IN THE SAME CHANNEL. I feel like I’m taking a picture of a ghost to prove ghosts are real.

    “Oh weird, I see it now!”

    DO YOU THOUGH? Do you REALLY? Because you didn’t see it five seconds ago when it was in THE EXACT SAME PLACE. What changed? Did the message finally load? Did it get approved by some cosmic moderator? Did it have to pass through customs?

    This happens approximately 47 times a day now. Someone asks for something I JUST posted. I look at my screen. The thing is RIGHT THERE. It’s not hidden. It’s not in a thread. It’s not a reply. It’s just… a message. In the channel. Where messages go.

    But apparently I’m the only one in the quantum reality where this message exists.

    “Did you get my email?” – Yes, I replied two hours ago. “What’s the status on that ticket?” – Updated it this morning, it’s in the channel. “Can you send me the document?” – I literally just dropped it in Slack with an @mention to you specifically.

    And I’M the one who ends up looking like I didn’t do the thing, when the evidence of me doing the thing is RIGHT THERE IN THE CHAT HISTORY, visible on my screen, laughing at me.

    My new theory is that we’re all just living in slightly different timelines that occasionally sync up, like some kind of distributed systems disaster. You’re seeing messages from Timeline B. I’m seeing messages from Timeline A. Occasionally they merge and someone goes “oh weird, now I see it!”

    Or maybe – and hear me out here – maybe Teams/Slack just… doesn’t actually send messages reliably? Maybe it’s all smoke and mirrors? Maybe when you hit send, there’s like a 30% chance the message just goes to the void? Maybe there’s some poor server somewhere that’s just giving up and going “eh, close enough” when it comes to message delivery?

    Because I KNOW I’m not crazy. The message is there. I can see it. I can click on it. I can copy the link to it. It has a permalink, for crying out loud. Permalinks don’t lie.

    But sure, let me just re-post the same information for the fourth time while staring at the three previous times I posted it, all of which are apparently visible only to me, like I’m the Ghost of Messages Past.

    At this point I’ve started prefacing everything with “I’m about to post something that may or may not actually appear for anyone else, but here goes…”

    And then someone STILL asks me for it five minutes later.

    Is this gaslighting? Am I being gaslighted by enterprise chat software? Is this what it feels like to lose your mind in real-time?

    The worst part is when you send the permalink to the message directly and they STILL can’t see it. You’re sending them a direct URL to the exact message, and they click it and get… nothing? An error? A blank screen? The message equivalent of a 404?

    “Yeah it says I don’t have access to that message.”

    IT’S IN THE SAME CHANNEL YOU’RE IN. YOU’RE LITERALLY LOOKING AT THE CHANNEL RIGHT NOW. THE MESSAGE IS INSIDE THE CHANNEL. THAT’S WHERE MESSAGES LIVE.

    I’m starting to think we should just go back to email. At least when you send an email, everyone gets the same email. Sure, it’ll end up in spam, and nobody will read it, and someone will reply-all with “please remove me from this list,” but at least we’ll all be experiencing the same reality.

    Unlike now, where I’m apparently the only person who can see my own messages.

    Which, come to think of it, would explain a lot about my performance reviews.

  • The AGI Delusion: When Tech Bros Mistake Professional Service for True Love

    confused stickman from https://pixabay.com/vectors/stickman-thinking-worry-confused-310590/

    For those of you lucky enough to not have been completely bombarded by the term, “AGI” = “artificial general intelligence”

    I had an epiphany recently. The AI hype cycle has reached peak absurdity, and I’m watching supposedly smart people make the same mistake that drunk guys at Hooters have been making since 1983.

    You know the type. Guy goes to Hooters, orders some mediocre wings, and because the waitress whose literal job description includes “be friendly to customers” smiles at his terrible jokes and remembers he likes ranch dressing, he’s convinced she’s totally into him. She’s not, Kevin. She’s working. She gets paid to be nice to you. That’s the entire business model.

    Now watch the same thing happening with LLMs and AGI predictions.

    The Pattern Is Identical

    Some VP gets access to Claude or ChatGPT. It writes him a pretty decent email. It explains a concept he was too lazy to Google. It agrees with his half-baked ideas and formats them nicely with bullet points. And suddenly he’s out here telling investors we’re “18 months from AGI” and “revolutionizing human consciousness.”

    No, Brad. The LLM is doing its job. It’s trained to be helpful, harmless, and honest – which in practice means it’s incredibly good at seeming engaged with whatever you’re saying. That’s not consciousness. That’s not intelligence in the way you think it is. It’s professional courtesy, at scale.

    The Mistake Everyone’s Making

    Here’s what’s actually impressive about LLMs: they’re really good at pattern matching across an enormous corpus of text and producing statistically likely continuations that sound human. That’s genuinely cool! It’s useful! I use these tools every damn day.

    But somehow we’ve gone from “wow, this autocomplete is really sophisticated” to “we’re definitely creating a superintelligent entity that will solve all human problems or kill us all, definitely one or the other, probably by 2026.”

    The Hooters guy sees friendliness and projects a whole relationship onto it. The AGI guys see impressive text generation and project consciousness, reasoning, understanding, and generalized intelligence onto it. Both are mistaking a service doing its job really well for something it fundamentally isn’t.

    What We’re Actually Building

    Look, LLMs are transformative technology. They’re genuinely changing how we work. But let’s be honest about what they are:

    They’re really good at:

    • Synthesizing information from their training data
    • Producing human-sounding text
    • Following patterns and instructions
    • Being consistently helpful without getting tired or annoyed

    They’re not good at:

    • At least up until recently, basic arithmetic
    • Actually understanding anything in the way humans do
    • True reasoning versus pattern matching that looks like reasoning
    • Knowing what they don’t know
    • Having any kind of persistent goals or desires
    • Actually being “intelligent” in any general sense

    The Business Angle Makes It Worse

    And here’s where it gets really messy. Just like Hooters has a financial incentive to not tell Kevin that Amber isn’t actually into him (he might stop coming in and ordering $47 worth of wings), AI companies have a massive financial incentive to not correct the AGI misconception.

    Why would you? Every breathless article about being “on the verge of AGI” is free marketing. Every panicked think piece about AI safety makes your product sound more powerful. Every CEO who drinks the Kool-Aid and thinks they need to “prepare for the AGI transition” is another enterprise contract.

    The hype IS the product strategy. It’s working perfectly.

    The Actual Engineers Know Better

    Want to know something funny? Talk to the actual engineers building these systems. Most of them will tell you they’re doing really impressive statistics and pattern matching, not creating consciousness. They’ll explain the limitations, the failure modes, the places where the whole thing falls apart.

    But that doesn’t make for good TED talks or funding rounds, does it?

    “We’ve built a really sophisticated text prediction system with some genuinely novel approaches to context management” doesn’t have the same ring as “WE’RE BUILDING GOD OR SKYNET, DEFINITELY ONE OF THOSE.”

    What This Means for the Rest of Us

    Here’s the practical problem: when everyone’s running around acting like AGI is imminent, we make terrible decisions.

    Companies restructure around AI capabilities that don’t exist yet. People get laid off because executives think Claude can do their job (it can’t, not really, not without massive human oversight). Billions get poured into “AGI research” that’s really just “make the chatbot slightly better at seeming smart.”

    Meanwhile, the actual useful applications of these tools – the boring stuff like “help developers write boilerplate faster” or “make customer service slightly less miserable” – get ignored because they’re not sexy enough.

    The Hard Truth

    AGI – actual artificial general intelligence, the kind that can genuinely reason across domains, understand context, form real goals, and learn truly new things – might be possible someday. I don’t know. Nobody knows, despite what they’ll tell you on Twitter.

    But current LLMs aren’t it, and scaling them up won’t get us there. That’s not how this works. You can’t get to general intelligence by making autocomplete really, really good, any more than you can get to the moon by building taller ladders.

    The sooner we all accept that the AI is being professionally friendly, not actually falling for us, the sooner we can have realistic conversations about what these tools actually are and what we should actually do with them.

    But that would require the industry to give up the hype, and the Hooters guys to accept that Amber is just being nice because that’s her job.

    Neither seems likely anytime soon.


    Grumpy Coworker is tired of watching smart people make dumb predictions. The LLM isn’t into you. It’s math. Very impressive math, but still just math.

  • My Kingdom for a Sensory Deprivation Chamber

    Meeting fatigue is real, and by 11:47 AM on a Tuesday, I’ve already lived three lifetimes.

    The morning started with a “quick sync” that wasn’t quick. Then a “brief standup” where everyone had an essay prepared. Followed by the dreaded “let’s workshop this” session where seven people talked in circles for forty-five minutes about a decision that should have been an email.

    Room, Empty, White royalty-free stock illustration https://pixabay.com/illustrations/room-empty-white-abstract-void-6614302/

    And now I’m sitting here, fluorescent lights humming their electric death song, listening to Janet from Accounting explain her weekend plans while I’m supposed to be focused on Q4 projections, and all I can think is: I would trade my entire 401(k) for fifteen minutes in a sensory deprivation chamber.

    The Noise Never Stops

    You know what nobody warns you about when you take an office job? It’s not the work that kills you. It’s the being perceived that slowly drains your life force.

    Between Slack pings, calendar invites, “got a minute?” desk drop-bys, and the guy in the next cubicle who insists on speakerphone calls, your brain never gets a moment to just… exist. In silence. Processing nothing. Defending nothing. Contributing nothing.

    The meeting fatigue compounds because there’s no recovery time. It’s back-to-back calendar Tetris from 9 AM until you escape, and even lunch isn’t safe because that’s when people want to “grab lunch and chat about the project.”

    The Float Tank Fantasy

    I’ve started having this recurring daydream. I’m in one of those sensory deprivation tanks—you know, the isolation chambers filled with super-salty water where you float in complete darkness and silence. No light. No sound. No Dave from Marketing asking if I “got a chance to look at his deck.”

    Just… nothing.

    Blissful, beautiful, corporate-hierarchy-free nothing.

    No one can @ me. No one can schedule over my lunch. No one can add me to a distribution list for their team-building bowling event. The tank doesn’t have Wi-Fi. The tank doesn’t have a door that coworkers can knock on. The tank is an impenetrable fortress of solitude.

    We’re Not Built for This

    Here’s the thing about meeting fatigue: our brains weren’t designed to be “on” for eight consecutive hours. We’re not meant to maintain professional enthusiasm from 9 to 5 while simultaneously managing seventeen different communication channels and pretending we care about the new org chart.

    Humans need downtime. Not “checking your phone” downtime. Not “scrolling Twitter while half-listening to another meeting” downtime. Actual downtime. The kind where your nervous system can finally unclench and your brain can sort through the chaos without someone asking you to “circle back” on something.

    But instead of acknowledging this fundamental human need, corporate culture decided that the real solution to information overload is more meetings. Meeting about the meetings. Meetings about why meetings are inefficient. All-hands meetings to discuss meeting culture.

    The irony would be funny if it wasn’t slowly killing me.

    The Afternoon Stretch

    It’s 2:30 PM now. I have three more hours to go. Two more meetings scheduled. Seventeen unread Slacks. Forty-three emails that came in while I was in meetings about work instead of doing work.

    My kingdom for a sensory deprivation chamber.

    Or, you know, like… a meeting-free Wednesday. One day a week where everyone collectively agrees to shut up and just work. Where “collaboration” doesn’t mean “interrupt each other constantly.”

    That would be nice too.

    But until then, I’ll be here, mainlining coffee and mentally calculating how much PTO I have left, wondering if “acute meeting fatigue” counts as a valid sick day reason.

    Probably not.

  • The Silent Game of Meeting Attendance Chicken Everyone Plays But Nobody Admits

    You know that meeting attendance chicken game where everyone suddenly becomes very, very busy exactly 30 seconds before a 10+ person meeting is supposed to start? Yeah, that one. The one nobody talks about but everybody plays.

    Long tables with black chairs in a large meeting room. Original public domain image from Wikimedia Commons

    It’s 2:59 PM. Your calendar dings with that cheerful little notification that makes your stomach drop: “Meeting starts in 1 minute.” You look at the attendee list. Twelve people. You do the math in your head. If twelve people are invited, maybe six will show up. If you’re one of the first three to join, the odds of having to actually contribute skyrocket. If you’re lucky and join seventh or eighth, you can probably ride this meeting out in blissful silence with your camera off and your microphone muted, occasionally nodding at nothing.

    But here’s the thing: everyone else is doing the exact same calculation.

    The Strategic Late Arrival

    There’s an unspoken art to joining a large meeting “fashionably late” without it being so late that someone notices. The sweet spot is somewhere between 2-4 minutes after the official start time. Early enough that the meeting hasn’t really gotten going yet, late enough that you’re definitely not going to be voluntold to take notes or “kick us off.”

    The beauty of the 2-4 minute delay is that it comes with a built-in excuse library:

    • “Sorry, I was on another call that ran over”
    • “Sorry, had to step away for a second”
    • “Sorry, Teams was acting weird”
    • Or the classic non-apology: silence plus immediately going on mute

    Nobody questions it. Nobody can question it, because they were playing the exact same game.

    The Waiting Room Standoff

    Virtual meetings have added a delicious new dimension to meeting attendance chicken: the waiting room standoff. You join the meeting, you see you’re in the waiting room, and you notice there are two other participants also waiting.

    Now the game becomes: do you leave and rejoin in 60 seconds, hoping that someone else will have been admitted by then? Do you just sit there, accepting your fate as a potential early joiner? Do you send a chat message to the organizer who definitely isn’t paying attention to the waiting room because they’re also hoping someone else joins first?

    I’ve seen waiting rooms with seven people in them while the actual meeting room sits empty except for the organizer, who is frantically refreshing their email and pretending they can’t see the growing crowd of digital loiterers outside their virtual door.

    The Camera Conundrum

    The meeting starts. Six brave souls (or six people who got trapped joining early) are sitting there with their cameras on, staring at each other in a Brady Bunch grid of awkwardness. The meeting organizer is trying to make small talk while nervously glancing at the participant count, which is ticking up one person every 45 seconds.

    Then someone joins with their camera off. Then another. Then three more in rapid succession, all camera-off. Now the early joiners are stuck. Do they turn their cameras off and look like they’re bailing on the meeting? Do they keep them on and look like try-hards? The meeting organizer, feeling the silent pressure, makes a weak attempt: “Feel free to turn your cameras on if you’d like!”

    Nobody does.

    The Mute-Olympics

    Joining late grants you the precious gift of the muted entrance. You can slip into a meeting like a ninja, your name appearing in the participant list with all the fanfare of a whisper. The early joiners didn’t have this luxury. They joined when the room was quiet, when every microphone activation sounded like a foghorn, when the organizer was still hopeful enough to greet people by name.

    “Oh hey Sarah! Good to see you! And there’s Marcus! How was your weekend, Marcus?”

    Marcus had to answer. Marcus had to engage. Marcus made small talk about his weekend for 90 seconds while eight other people were waiting in the hallway, synchronizing their watches, preparing to execute the perfect late-but-not-too-late entrance.

    By the time the meeting actually starts, Marcus is exhausted from carrying the entire pre-meeting conversation, and the late joiners are sitting pretty, cameras off, mics muted, ready to contribute absolutely nothing for the next 60 minutes.

    The Peak Late-Join

    There exists a theoretical perfect moment for joining a meeting that I call the “Peak Late-Join.” This is the moment when:

    • The meeting has officially started
    • The organizer has given up waiting for more people
    • They’ve moved past introductions
    • They haven’t yet gotten to anything of substance
    • Nobody is keeping track of who just joined

    The Peak Late-Join typically occurs somewhere between 4-7 minutes after the scheduled start time, depending on the organizer’s patience level and the corporate culture around punctuality. Join at Peak Late-Join and you’ve achieved meeting attendance nirvana: you’re here, you’re technically not late, and there’s absolutely zero chance you’re getting voluntold to do anything.

    The Participation Probability Matrix

    Let’s be honest about the math here. In a 12-person meeting:

    • Join in the first minute: 80% chance you’ll have to actively participate
    • Join in minutes 2-4: 45% chance of participation
    • Join at minutes 5-6: 20% chance of participation
    • Join at minute 7+: 15% chance anyone remembers you’re there

    The truly advanced players have spreadsheets. They’ve calculated the optimal join time for every recurring meeting on their calendar. They know that the Monday morning team sync doesn’t really start until minute 8 because Brad is always late. They know that the Friday afternoon retro has a critical mass threshold of 6 people before it kicks off. They know exactly when to maximize their presence credit while minimizing their participation liability.

    The Organizer’s Dilemma

    Spare a thought for the meeting organizer, sitting there at 2:59 PM, watching their nice neat 3:00 PM start time approach like a freight train. They’ve got their agenda ready. They’ve got their slides loaded. They’ve got their talking points memorized.

    2:59 PM: One person in the meeting (them) 3:00 PM: Two people in the meeting 3:01 PM: Two people in the meeting 3:02 PM: Four people in the meeting 3:03 PM: Six people in the meeting 3:04 PM: Nine people in the meeting 3:05 PM: Nine people in the meeting 3:06 PM: Eleven people in the meeting

    Do they start at 3:00 when only two people are there and then have to recap everything five times as people trickle in? Do they wait until 3:06 and look like they can’t manage a schedule? Do they passive-aggressively say “okay, let’s get started” at 3:02 when the room is still half-empty?

    The organizer is playing their own game of chicken: “Who cracks first, me or the absent attendees?”

    Spoiler alert: the organizer always cracks first.

    The Post-Meeting Guilt

    After successfully executing a flawless late join, spending 55 minutes on mute with your camera off, and contributing exactly zero words to the conversation, you’ll feel a tiny pang of guilt. A whisper in the back of your mind asking “should I have participated more?”

    This guilt lasts approximately 12 seconds, until your calendar dings again.

    “Meeting starts in 1 minute.”

    And the game begins anew.

    The Unspoken Rules

    Like any good game of chicken, meeting attendance chicken has rules that everyone follows but nobody acknowledges:

    1. Never call out the late joiners (you’ll be one next time)
    2. Never join a meeting early enough to be alone with the organizer
    3. If you join late, apologize once and then never speak again
    4. The first person to join bears the conversation burden until person number three arrives
    5. Camera-off is acceptable after the 5-minute mark
    6. Nobody tracks attendance in a 10+ person meeting anyway

    The Future of Meeting Chicken

    As we’ve settled into this remote and hybrid work world, meeting attendance chicken has evolved from an occasional tactic into a full-blown strategic discipline. Some companies have tried to fight it with “cameras on” policies or “must join on time” rules, but these are the flailings of a dying regime. You cannot stop meeting attendance chicken any more than you can stop the tide.

    The game is eternal. The game is inevitable. The game is happening right now in a conference room (virtual or physical) near you.

    Someone is looking at their clock. Someone is doing the math. Someone is waiting just one more minute before they click that “Join” button.

    And somewhere, a meeting organizer is sitting alone in a virtual room, wondering where everybody is, knowing full well that everyone is out there, together, waiting for everyone else to go first.


    Have your own meeting attendance chicken stories? Of course you do. We all do. Because we’re all playing the same game, hoping nobody notices we’re playing, while simultaneously knowing that everyone else is playing too.

    Just remember: the only winning move is to join late enough that nobody expects anything from you, but not so late that anyone notices you joined late. It’s a delicate balance. An art form, really.

    Good luck out there. May your joins be strategically timed and your participation be mercifully minimal.

  • The AI Code Generation Technical Debt Crisis Nobody Sees Coming

    photo of minified JavaScript code

    slams coffee mug on desk

    Oh PERFECT. You know what’s going to be absolutely chef’s kiss hilarious in about 18 months? When we’re all drowning in an ocean of plausible-looking garbage code that nobody understands because it was generated by someone who thought “well the AI wrote it so it must be good!”

    You know what I saw yesterday? YESTERDAY? A simple change in dependencies (e.g., removing one) turned into a 1000+ line refactor of tests, probably because the linter complained about syntax and someone asked Claude to “fix the style problem.”

    Why are AI PRs so big???

    And here’s the thing that makes me want to scream into the void: the Dunning-Kruger effect is about to go NUCLEAR. The people who are most blown away by AI code are the exact same people who can’t evaluate whether it’s actually any good. They don’t know what “good” even looks like! They just know it compiles and maybe passes the happy path test they wrote. This isn’t a judgment… it’s self-awareness: I’ve noticed myself amazed at Claude’s ability to write languages that I’m not great in, and I find myself in awe at how well it works. Ok, except if it’s PowerShell. I don’t know PowerShell all that well and I can tell that most LLMs don’t either, mainly because I watch it getting basic syntax wrong and spending multiple iterations trying to fix it.

    Meanwhile, (back in the language I know well) I’m sitting here thinking “I could write this function in 10 minutes” but instead I’m watching someone spend 45 minutes arguing with ChatGPT, getting five different implementations that each solve slightly different problems, copying bits from each one, and ending up with some Frankenstein monster that technically works but has the architectural elegance of a highway pile-up.

    The expert devs? We’re MAYBE getting a 20% speedup on boilerplate, if that. Because guess what – for anything actually complex, the time isn’t in typing, it’s in thinking! It’s in understanding the problem! And the LLM doesn’t understand ANYTHING. So you end up explaining the problem to the AI, then fixing what it gives you, and congratulations, you’ve just added a slow, mediocre middleman to your development process.

    But the devs who don’t really understand the domain? Oh, they’re FLYING now. They’re 10x faster! They’re shipping features! Never mind that every single one is a ticking time bomb of technical debt that nobody can maintain because the code doesn’t follow any of our patterns, uses deprecated APIs the LLM learned from 2019 StackOverflow posts, and has this absolutely DELIGHTFUL habit of working fine until you hit an edge case, at which point it fails in ways that make no sense because the underlying logic is fundamentally flawed. (Also, why did you use create-react-app? Even *I* know that that’s been deprecated. Its own says that much.)

    And you can’t even review it properly because there’s SO MUCH of it! “Please review my 500-line PR” – oh cool, did you write this or did a robot? Do YOU even understand what it does? Can you explain why it’s using a WeakHashMap here? No? GREAT. AWESOME. LOVE THAT FOR US.

    The worst part? MANAGEMENT LOVES IT. “Look how much faster we’re shipping!” Yeah, we’re shipping, all right. Shipping technical debt at unprecedented velocity. We’re going to be maintaining this garbage for YEARS. Every bug fix is going to be an archaeological expedition trying to figure out what the original generated code was even attempting to do.

    And when something breaks in production – and OH IT WILL – nobody’s going to understand it well enough to fix it quickly. We’ll just… generate more code to patch around it. Code on top of code on top of code, like geological layers of sedimentary garbage accumulating over time.

    Five years from now, we’re all going to be sitting in a “legacy code cleanup” initiative wondering how everything got so incomprehensible so fast.

    But sure, yeah, AI is making us all 10x developers. Can’t wait.

    returns to actually reading the codebase like some kind of dinosaur

  • Building Fast in the Wrong Direction: An AI Productivity Fairy Tale

    Oh good, another breathless LinkedIn post about how AI just 10x’d someone’s development velocity. Fantastic. You know what else moves fast? A semi truck in the mountains of Tennessee with brakes that have failed. Speed is great until you realize your only hope for survival is a runaway truck ramp.

    Runaway Truck Ramp
    Runaway Truck Ramp image from public domain pictures

    Here’s the thing nobody wants to admit at their AI productivity [ahem… self-congratulatory gathering]: AI doesn’t matter if you don’t have a clue what to build.

    I’ve watched teams use ChatGPT to crank out five different implementations of features nobody wanted in the time it used to take them to build one feature nobody wanted. Congratulations, you’ve quintupled your output of garbage. Your CEO must be so proud. Maybe you can have ChatGPT restyle your resume to look like VS Code or the AWS Console, but it’s not going to change the experience you have listed on it.

    Going fast in the wrong direction gets you to the wrong place faster. But it’s still the wrong place. You’re just confidently incorrect at scale now.

    Agile Saves You From Your Own Stupidity (Sometimes)

    You know why Agile actually works when it works? Not because of the stand-ups or the poker planning or whatever cult ritual your scrum master insists on. It works because it forces you to pause every couple weeks and ask “wait, is this actually the right thing?”

    Short iterations exist to limit the blast radius of your terrible decisions. When you inevitably realize you’ve been building the wrong thing, you’ve only wasted two weeks instead of six months. It’s damage control, not strategy.

    But sure, let’s use AI to speedrun through our sprints so we can discover we built the wrong thing in three days instead of ten. Efficiency!

    Product Strategy: The Thing You Skipped

    Here’s a wild idea: what if you actually figured out what to build before you built it?

    I know, I know. Product strategy and user research are boring. They don’t give you that dopamine hit of shipping code. They require talking to actual users, which is terrifying because they might tell you your brilliant idea is stupid.

    But you know what product strategy and research actually do? They narrow down your options. They give you constraints. They help you make informed bets instead of random guesses.

    Because here’s the math that AI evangelists keep missing: Improving your odds of success by building the right thing will always beat building the wrong things 10 times faster.

    Building the wrong feature in three days instead of two weeks doesn’t make you 5x more productive. It makes you 5x more wrong. You’ve just accelerated your march into irrelevance.

    AI as a Validation Tool, Not a Strategy Replacement

    Now, I’m not saying AI is useless. It’s actually pretty good at helping you validate ideas faster. Rapid prototyping, quick mockups, testing assumptions—yeah, that stuff is genuinely helpful.

    But AI can’t tell you what to validate. It can’t tell you which customer problem is worth solving. It can’t tell you if your market actually exists or if you’re just building another solution in search of a problem.

    That still requires thinking. Remember thinking? That thing we used to do before we decided to outsource our brains to autocomplete?

    The Uncomfortable Truth

    The dirty secret of software development has always been that most of our productivity problems aren’t technical. (See the reprint of the “No Silver Bullet” essay from 1986 in a collection of timeless project managements essays, The Mythical Man-Month) They’re strategic. We build the wrong things, for the wrong reasons, at the wrong time. (Ok, yes, they’re also communication and coordination problems… fortunately, we have Slack for that <insert eye roll emoji here>)

    AI speeds up the building part. Great. But if you’re speeding toward the wrong destination, you’re just failing faster.

    Maybe instead of celebrating how quickly you can ship features, you should figure out which features are worth shipping in the first place. Crazy thought, I know.

    But hey, what do I know? I’m just a grumpy coworker who thinks you should know where you’re going before you hit the gas.


    Now get back to work. And for the love of god, talk to your users and other humans instead of spending all day chatting with a chatbot that declares you a deity when you correct it.

  • The Ontological Crisis of the Orphaned Recurring Meeting

    There exists in the corporate universe a peculiar form of digital purgatory: the recurring meeting whose original organizer has long since departed the organization, yet continues to manifest on calendars with the persistence of a poltergeist.

    You know the one. Every Tuesday at 2 PM, “Weekly Sync – Q3 Initiative” still appears. Janet created it in 2019. Janet left in 2021. It’s now 2025. The meeting persists.

    The Ship of Theseus, But Make It Annoying

    Philosophy majors spent centuries debating whether a ship remains the same ship after every plank has been replaced. Corporate drones face a more pressing question: Is it still “Janet’s Weekly Sync” if Janet is now a VP at a competitor and half the original attendees have been reorganized into oblivion?

    The meeting has evolved. New people have been added. The agenda (if one ever existed) has drifted from “Q3 Initiative” to “whatever fire we’re currently putting out.” Someone changed the meeting location from “Conference Room B” to “Zoom – see link.” The organizer field still reads “Janet Thompson (External).”

    It’s the meeting equivalent of a hermit crab inhabiting an abandoned shell.

    The Metaphysical Hierarchy of Meeting Death

    Let us establish a taxonomy of meeting cessation:

    Clinical Death occurs when the organizer deletes the recurrence. Clear. Decisive. The meeting is dead, and everyone receives a notification of its passing. We can grieve and move on.

    Brain Death happens when the organizer leaves the company but the meeting remains. The meeting has lost its consciousness, its original purpose, but the body continues to function. Attendees still show up, confused, like neurons firing in a deceased host.

    Zombie State emerges when attendees begin dropping off one by one, but the meeting continues to exist for the two remaining participants who lack either the authority or the initiative to kill it. They meet. They know it’s pointless. They do not speak of it.

    Schrödinger’s Meeting exists when literally no one attends anymore, but the calendar invites persist. Is it a meeting if nobody comes? Does it exist in any meaningful sense? The calendar insists it does.

    The Problem of Remaining Attendees

    Here’s where it gets thorny. If the organizer departs but six people remain, surely the meeting still “exists” in some form. But what if it’s down to two people? One person?

    At what threshold does a “team meeting” become just “two people on a call who should probably just Slack”?

    And here’s the real question that keeps enterprise architects up at night: Who has the moral authority to delete someone else’s recurring meeting?

    You’re not the organizer. You’re just an attendee. Can you unilaterally declare this meeting dead? That’s not murder—that’s more like… meeting euthanasia. Merciful, perhaps, but do you have the right?

    The Solution No One Wants

    The answer, of course, is that someone needs to be granted organizer privileges so they can officially end it. This requires:

    1. Someone to care enough to do this
    2. IT to process the request
    3. Agreement among the remaining attendees that yes, this meeting has earned its rest

    In practice, what happens is: nothing. The meeting continues until the heat death of the universe or the next corporate restructuring, whichever comes first.

    The Deeper Truth

    Perhaps the recurring meeting never truly dies. Perhaps it exists eternally in some quantum state, simultaneously alive in someone’s accepted calendar invites and dead in the absence of human attendance.

    The meeting is not the organizer. The meeting is not the attendees. The meeting is not even the recurrence pattern.

    The meeting is the shared corporate delusion that synchronous time spent together produces value.

    And as long as that delusion persists, so too shall Janet’s Weekly Sync, 2 PM every Tuesday, until the end of time.

    See you there. Or not. The meeting doesn’t actually care.

  • Quiet Shitting: The Ancient Art of Paid Porcelain Time

    Look, we’ve seen a lot of workplace terms come and go. “Synergy.” “Agile.” “Growth hacking.” And now everyone’s clutching their pearls over “quiet quitting” like it’s some revolutionary Gen Z invention. Please. These kids discovered setting boundaries and suddenly you think they’re leading a communist revolution. You know what their grandparents invented? Quiet shitting.

    That’s right. For every thinkpiece about “acting your wage” and “doing the bare minimum,” there were three generations before the current one who perfected the art of the 45-minute bathroom break. And let me tell you, they didn’t need a TikTok to figure it out.

    Your grandfather worked in a factory for 32 years. You think he spent eight hours a day riveting widgets with a smile on his face? Hell no. He spent at least 90 minutes of every shift in that bathroom, and not because of the cafeteria meatloaf. He called it “decompression time.” Management called it “concerning.” His union called it “protected.”

    The bathroom break is the original quiet quit. It’s the Switzerland of workplace passive aggression: technically neutral, completely defensible, and occupied by people who just want to be left the hell alone.

    The Golden Age of Bathroom Avoidance

    Boomers love to talk about their work ethic, but nobody could stretch a bio-break like a 1970s middle manager with a newspaper and a grudge. These weren’t quick pit stops. These were expeditions. Lewis and Clark spent less time exploring the Louisiana Purchase than Clark Griswold’s peers spent in Stall 3 avoiding quarterly reviews.

    You’d see someone grab the sports section at 10:15 AM and know you wouldn’t see them again until 11:00. And God help you if you needed something from them. “Oh, Dave? Yeah, he’s in a meeting.” A meeting with his bowels and the crossword puzzle. Also, if you notice a section of the newspaper goes missing and then later reappears, just assume it’s touched the bathroom floor and/or been handled after a wipe.

    Gen X took it to new levels. They brought magazines. Then Game Boys. Then the first smartphones. One thing to watch out for… if they bring a change of shoes, they’re probably moving into that stall like its a studio apartment.


    The Economics of Excretion

    Here’s the math everyone knows but nobody talks about: if you take one 15-minute bathroom break every day beyond your actual biological needs, that’s 65 hours a year. At $25 an hour, you’re paying yourself an extra $1,625 annually to sit on a toilet and scroll through your phone.

    Your great-grandfather knew this. He just did it with a racing form instead of Instagram.

    The difference is, he felt vaguely guilty about it. He’d come back looking sheepish, maybe mention something about the chili from lunch. There was at least a performance of remorse. Now? Now people are writing Medium posts about “reclaiming your time” and “setting bathroom boundaries.”

    The Passive-Aggressive Olympics

    You know what the most passive-aggressive move is? The post-meeting bathroom break. Someone says something annoying in the conference room, and suddenly you need to “freshen up” for 20 minutes. It’s the workplace equivalent of leaving someone on read, except you’re getting paid for it.

    And the beauty is, it’s completely bulletproof. What’s your boss going to do? Install a timer? Monitor stall occupancy? Stand outside with a stopwatch? HR would have a field day. “Yes, officer, my manager was tracking my bowel movements” is one hell of a lawsuit waiting to happen. Yeah, I know that several companies with trillion dollar market caps basically do do this. Heh. “Do do.”


    The Modern Era

    Now we’ve got people working from home, and even that hasn’t stopped the tradition. We’ve been on Zoom calls where someone’s camera goes off and you just know they’re not “stepping away briefly.” They’re taking a full constitutional while technically still clocked in. It’s remote quiet shitting, and honestly, I respect the innovation. Just don’t flush off mu… oh no, Bob, your avatar lit up with that flushing sound.

    The real quiet quitters aren’t the ones doing the bare minimum at their desks. They’re the ones who’ve calculated exactly how long they can disappear without triggering a wellness check. They’re the ones who know which bathroom on which floor has the best cell service. They’re the institutional knowledge holders of strategic bowel timing.

    In Conclusion

    So before anyone tells me about how revolutionary it is to only do what you’re paid for, remember: your ancestors were pioneering workplace disengagement one bathroom break at a time, long before you could hashtag it.

    They just had the decency to pretend they had diarrhea.

  • Stack Shanking

    Stack ranking (see Vitality Curve)

    Constantly replacing (or threatening replacement of) the bottom performers on an annual basis seems like incremental optimization. So you get two classes of performers replaced: Ones in a long term slump and ones that are persistent performance problems/bad fits. If you’re looking at machinery, then being unable to distinguish between the temporarily malfunctioning and the permanently broken is of no major consequence. But with humans, if they are temporarily malfunctioning due to life circumstances, personal issues, or recovering from burnout, you’ve just discarded someone who likely has institutional knowledge, established relationships, and could return to being a high performer.

    The real problem is that stack ranking treats your workforce like a statistical distribution that must maintain its shape regardless of actual performance. Got a team of eight excellent engineers? Sorry, two of them are now “bottom performers” by definition. Hired nothing but rockstars this year? Congratulations, some of your rockstars are now officially mediocre.

    This creates perverse incentives. Smart employees learn to avoid teams with other high performers. Why join the infrastructure team full of senior engineers when you could join the feature team with a couple of passengers? You’ll rank higher, and ranking is what matters at review time.

    The statistical absurdity compounds when you realize that the bottom 10% getting cut this year might have been middle-of-the-pack last year, and could be top performers next year—but they’ll never get the chance because we needed to satisfy our quota of ritualistic firings. We’re not optimizing for performance; we’re optimizing for the appearance of optimization, which is a very different thing.

    Meanwhile, the stack ranking process itself consumes enormous amounts of management time that could be spent on actual work. Managers spend weeks arguing over whether Sarah deserves a 3 or a 4, while the real problems—unclear requirements, technical debt, process inefficiencies—remain unaddressed.

    And let’s talk about what happens to team dynamics. The moment you tell people they’re competing against their teammates for survival, collaboration dies. Why would I help you solve that gnarly bug when it might make you rank higher than me? Why would I share that clever solution when keeping it to myself might be the difference between keeping my job and losing it?

    Stack ranking is management by spreadsheet, the corporate equivalent of deciding which child to abandon based on their last report card.