The four-word status question every engineer secretly fears in sprint reviews
Why is this Deadlines meme funny?
Level 1: Are We There Yet?
Imagine you’re on a long car ride with your family. You’re driving to a faraway city and it’s taking hours. Every fifteen minutes, your little brother in the back seat asks, “Are we there yet?” Over and over and over. How does that make the driver (maybe your mom or dad) feel? Probably a bit frustrated, right? Because no matter how many times he asks, the car won’t magically go faster. If there’s traffic or a detour, you can’t even be sure exactly how long it’ll take. The question doesn’t help the car ride go any quicker – it just makes the driver more anxious. In this meme, the programmer is like the driver, and the manager or person asking “How close to done?” is like that little brother asking “Are we there yet?” The programmer is working hard to finish a complicated task (their long road trip), and hearing “how much longer?” repeatedly just stresses them out. It’s funny in a relatable way: everyone understands the impatience of waiting and the frustration of being asked about it constantly. Just like a parent might groan and say, “We’ll get there when we get there,” a tired programmer wants to say, “It’ll be done when it’s done!” The humor comes from that very real feeling – it’s both annoying and a little comical how perfectly those four words can capture the situation. So when someone asks “How close to done?” and the programmer feels like crying, it’s just like you rolling your eyes on a road trip when you hear “Are we there yet?” one more time. It’s a funny way to show that no one likes being asked about a finish line when they’re not sure how far away it is.
Level 2: When "Done" Isn't Done
For a newer developer, let’s break down why “How close to done?” can send a chill down an engineer’s spine. In software teams, especially those using Agile methods, work is organized in sprints – short cycles (usually 1-2 weeks) where the team tries to complete a set of tasks or features. At the end, there’s a sprint review (a meeting) to show what’s finished and discuss progress. Now, imagine you’re in that meeting, and a Project Manager (PM) or your team lead looks at you and asks, “How close to done is your task?” They basically want a status update: are you almost finished, halfway, or nowhere near done? Sounds reasonable, right? Except in coding, “almost finished” isn’t so easy to measure. Writing software isn’t like, say, painting a wall where you can see 3 of 4 walls painted (75% done). You might have written 90% of the code, but if a critical 10% is missing or not working, the software won’t run properly. That last bit might take as long as everything before it!
Deadlines make this worse. A deadline is a due date when the project or feature is supposed to be complete. Let’s say the deadline is this Friday. On Wednesday, the manager asks “How close to done?” What they hope to hear is something like, “We’re about 90% done, just doing final tweaks.” They have manager expectations to manage – their bosses or the client are probably asking them if the team will hit the date. This pressure flows down to you. If you answer “I think 90% done,” the manager might take that straight to the stakeholder: “Good news, it’s 90% complete!” But as a developer, you might be silently sweating, because software isn’t truly done until it’s fully tested and deployed. There’s a lot that can hide in that last 10%. Maybe you still need to write unit tests, fix a bug that just popped up, or handle an edge case you discovered yesterday. From your perspective, “90% done” could mean 50% more work once those hidden tasks are included. This is a classic case of misaligned expectations: the manager hears “almost there!” while the developer thinks “there’s a ways to go, if I’m honest.”
When you’re new in the industry, you learn pretty fast why this question is tricky. Perhaps you’ve experienced a smaller version of it in school or personal projects. Imagine you promised to build a small app for a class assignment. You told your teacher or friend, “I’m almost done with it,” because the main feature worked. But then, while polishing it up, you find a serious bug or realize you forgot an important requirement. Suddenly that “almost done” was overly optimistic. You end up scrambling and maybe even missing the original finish time. It feels bad, right? Now, in a job, if you give an estimate like “I’m 90% done” and it slips, there’s real pressure. Your team is counting on you; maybe a client is waiting. That’s why even a simple progress question can cause anxiety for a developer – you don’t want to be wrong and let people down.
Let’s clarify some terms here. When we say something is “done” in software development, what does that actually mean? Teams often have a specific Definition of Done. Usually, done isn’t just “I wrote the code.” It means the code is written and tested, reviewed, merged into the main project, and deployed without issues. In other words, it’s truly finished and ready for users. A programmer might have completed writing the code (development phase done), but if it hasn’t been tested or it’s not live, they might hesitate to call it fully done. Managers or non-developers sometimes don’t see all those extra steps; they might think coding = 100% of the work, when in reality coding might be, say, 70%, with the rest being testing, fixing and deployment. This difference is where misunderstandings happen. The developer might answer, “It’s about 80% done,” thinking of the whole picture (still need to run all tests and fix a couple of issues). The manager might hear 80% and assume, “Oh, we’re in the final stretch, almost there!” Each interprets “done” a bit differently.
Being put on the spot with “How close to done?” can also be stressful because it implies a bit of pressure to justify your productivity. You might feel, “Are they thinking I’m slow? Should I have been done by now?” It’s a relatable situation for any junior developer who’s experienced their first big project crunch. You want to give an honest answer, but you also know if you say “only 50% done” mid-way to a deadline, people will panic or get upset. On the flip side, if you say “90%”, you might be asked “so why isn’t it finished yet?” the next day. It can feel like a no-win scenario.
Teams try to manage this by using tools and processes. For example, in Agile project management, developers assign story points or use a Kanban board (like Jira or Trello) to show progress in a less pressure-filled way. Instead of saying “90% done,” you might say “I’ve completed 9 out of 10 subtasks.” But even that last subtask could be something big, like “fix memory leak” which is unpredictable. Good managers (and developers) learn to communicate these uncertainties: “We’re close, but we have a few risky areas left.” Yet, despite all the methods, nearly every programmer has faced the classic four-word question and felt their heart skip a beat. It’s practically a running joke in the industry. That’s why this meme struck a chord: it exaggerates a common developer frustration (someone asking for a neat number on something inherently messy) in a way that’s instantly recognizable. Even if you’re new, keep an eye out – you’ll notice this pattern of manager vs. developer perspective on progress. When it happens to you, you’ll remember this meme and realize you’re not alone in feeling nervous when asked “How close to done?”.
Level 3: The Dreaded Four Words
At a human level, every seasoned developer cringes at the familiar deadline pressure packed into this seemingly simple question. The meme comes from a Twitter challenge: “Make a programmer cry with 4 words.” The top reply? “How close to done?” – a perfect four-word horror story for anyone who’s ever written software under a deadline. It resonated deeply; thousands of likes and retweets rolled in because almost every engineer has felt that progress estimation anxiety. The humor cuts close to reality: those four words encapsulate the eternal tussle between management expectations and developer reality.
Why is it so funny (and painful)? Because “How close to done?” is the question every programmer dreads yet hears all the time. It’s the polite, four-word equivalent of your boss breathing down your neck. In a sprint review or status meeting, hearing that makes your stomach drop. Instantly you recall all the times an optimistic “almost done” came back to bite you. Software development has a way of making optimists look foolish. Maybe you confidently told a Project Manager last week “We’re about 90% there,” only to discover a nasty bug or a misaligned requirement that pushes you back to 50%. Now the Manager (with upper management and stakeholders pressuring them) wants an update. They ask innocently, “How close to done?” but it feels like an accusation or a trap. There’s stakeholder pressure hiding behind that question – you know your manager is being asked the same thing by their boss or the client, and now it’s rolled downhill to you. The result? Developer frustration and a bit of panic.
We laugh at this meme because it’s relatable humor born from shared pain. It highlights a classic misaligned expectation in tech culture: Management craves clear, quantifiable status (“Give me a number, are we 90% done or what?”) while developers live in a world where such certainty is a myth. Everyone in the dev pit has that memory of a project deadline that went awry. As a senior engineer, you’ve likely been in this exact spot: code half-working, demo tomorrow, and someone cheerfully asks for a status update. You’re thinking, “If I knew exactly how close we were, I’d be done already!” But you can’t say that. So you force a grin and mumble something noncommittal, praying it won’t lock you into an impossible commitment.
Let’s be real: software “progress” isn’t linear. You can’t slice it into neat percentages. Often the last 10% of a project – final bug fixes, performance tweaks, writing tests, handling edge cases – ends up taking equal effort to the first 90%. It’s like climbing a hill where the summit keeps stretching farther the higher you go. When a manager asks “How close to done?” they imagine progress like a race track — you must be at lap 9 of 10, right? But to the developer, it feels more like, “Well, every time I think I’m on the last lap, the track extends.” That disconnect is the breeding ground for dark humor among engineers. We joke about the “Done, done, done” ritual – where “done” means “it compiles,” Done means “it’s feature-complete,” and Done Done means “it’s tested, deployed, and the users aren’t screaming.” So when someone blithely asks if we’re close to done, the first response is internal screaming: Which definition of done do you want?!
Picture a typical exchange soaked in this tension:
Manager: “So, is that feature about done? 80%? 90%?”
Developer: (nervous laughter) “Yeah… maybe around 90% done.”
Developer (internally): “That was the easy 90%. The hard 10% is still left — and it might as well be another 90%.”
Every developer knows this song and dance. The developer humor in the meme comes from recognizing this universal scenario. The manager thinks they’re asking a straightforward question to gauge developer productivity. But for the developer, it’s like being asked to predict the weather a month from now – no matter what you say, you’ll probably be wrong and get blamed for it. Hence the frustration (and that little spike of panic). It’s not that engineers can’t estimate at all; it’s that precise progress updates often give a false sense of certainty. Say “95% done” and watch everyone celebrate – until that remaining 5% drags out into weeks of debugging and integration nightmares. Then those four words come knocking again: “How close to done?” – now tinged with disappointment.
Culturally, this meme also pokes at the friction between Agile ideals and reality. In Agile/Scrum, teams work in fixed sprints and ideally demonstrate only completed work at the sprint review. The term “Definition of Done” exists to ensure a user story isn’t called finished until it meets all criteria (coded, tested, documented, etc.). In theory, no one should be asking “how finished are you?” mid-sprint, because unfinished work isn’t done at all. But reality is messy. Stakeholders often demand mid-sprint status or looming project deadlines force managers to ask for percentage-complete updates. It’s a throwback to waterfall-style project management where percent-complete was on every status report. Old habits die hard. So even in a modern Agile shop, a developer can find themselves cornered by that old-fashioned status question. It’s ironically management humor in a way: a PM might chuckle that those four words are all they need to make an engineer squirm.
Ultimately, this meme lands with developers because it’s too real. It satirizes that sinking feeling when we’re pressed for an ETA and we know whatever we say is a gamble. The next time someone asks “How close to done?”, every dev who’s seen this meme will likely smirk and recall that Twitter exchange. It’s a pressure we all recognize: behind the joke is the collective stress of meeting expectations, the developer reality of constant uncertainty, and the tacit understanding that done isn’t done until it’s Done Done. No wonder just hearing those four little words can make a programmer want to cry (or at least groan).
Level 4: The Undecidability of Done
In theoretical terms, asking a programmer “How close to done?” is flirting with an undecidable problem. It’s a bit like the famous Halting Problem in computer science: there’s no general algorithm to perfectly predict when an arbitrary program (or project) will finish. Software development isn’t a linear assembly line – it’s a complex, creative process full of hidden bugs and unknown unknowns. We can’t precisely compute “% complete” any more than we can write a script to foresee every twist ahead. The progress of writing code doesn’t follow a nice monotonic function; it often feels chaotic. One day you squash five bugs in an hour, next day one bug devours five days. In complexity terms, accurately forecasting a non-trivial project’s completion date can be NP-hard (if not outright undecidable). Each new integration or requirement can exponentially blow up the remaining work, like adding variables to an equation that was already unsolvable.
Mathematically minded engineers have attempted to tame this beast with models and metrics. There’s COCOMO models, Gantt charts, burn-down charts – all trying to approximate the unapproachable. But no matter how much algorithmic rigor you throw at it, the real world fights back. Tiny unforeseen issues cascade into big delays (a kind of butterfly effect in your codebase). It’s reminiscent of Zeno’s paradox: you cover half the remaining distance to “done” with each sprint, yet somehow “done” keeps receding just out of reach. In fact, developers joke about the 90/90 rule – “The first 90% of the code accounts for 90% of the development time... and the last 10% accounts for the other 90%.” In other words, by the time you think you’re almost done, you realize the hardest bits remain. We’ve even codified this futility in Hofstadter’s Law, which plainly states: It always takes longer than you expect, even when you take into account Hofstadter's Law. No amount of careful math or methodology fully conquers that reality. So those four innocent words – “How close to done?” – are unwittingly probing a problem that computer science itself finds notorious: measuring progress in a complex system. The deadline may be looming, but from a computational perspective, “done” is not a strictly well-defined state until you’re actually done. It’s a Schrödinger’s project of sorts: simultaneously 90% done and 90% remaining until observation (delivery) collapses the waveform.
Description
The meme is a screenshot of a Twitter exchange on a white background. First tweet: “Sabrina @sabrinaesaquino · 15h Make a programmer cry with 4 words” followed by reply, retweet, and like counts (2 690 replies, 737 retweets, 3 365 likes). Below, a threaded response shows the profile of “Lorin Hochstein @norootcause” saying: “How close to done?” in quotation marks. Both profile photos are blurred for anonymity, and a small watermark in the lower-left corner reads “t.me/dev_meme”. The humor plays on the perennial pain of engineers being pressed for precise completion estimates during project status meetings, highlighting deadline pressure and management expectations in software development culture
Comments
16Comment deleted
‘How close to done?’ - the quantum observation that converts the remaining 10% into 90% compliance docs, edge-case fixes, and integration entropy
The only thing more terrifying than 'How close to done?' is realizing you've been at '90% complete' for the last three sprints, and the remaining 10% contains all the edge cases, integration issues, and that one requirement buried in email thread #47 that nobody remembered until yesterday's demo
The four most terrifying words in software engineering aren't 'production is on fire' - they're 'how close to done?' Because the honest answer requires explaining why your 90% complete feature has been 90% complete for three sprints, why 'done' depends on whether we're counting the edge cases you just discovered, the refactoring you know you should do, the tests you haven't written, the documentation that doesn't exist, and whether 'done' means 'works on my machine' or 'actually deployable.' It's the question that forces you to confront the uncomfortable truth that software estimation is fundamentally a dark art practiced by optimists who haven't learned to account for the fact that the last 10% takes 90% of the time
“How close to done?” - translation: convert unknown unknowns, cross‑team dependencies, and the legacy SOAP endpoint into a single percentage a status slide can pretend is real
It's 90% done - has been for months; the last 10% observes Zeno's paradox under Parkinson's law
Percent-complete is a Heisenberg variable - once you measure it, integration exposes three unknown unknowns and you’re suddenly negative 20% done
Unresolvable git merge conflict Comment deleted
sudo rm -rf * Comment deleted
suggesting / instead of * Comment deleted
There is no surprise with /, but * can be intrigue! Programmer gonna cry finding what he have deleted. And deleting /etc and /usr/bin is enough to kill working Linux installation. Comment deleted
Faig enough 😄 Comment deleted
rm -rf / —no-preserve-root Comment deleted
That's longer than 4 words if you count parameter as word. Comment deleted
how long will take Comment deleted
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf --no-preserve-root / || echo *Click* Comment deleted
sudo find . -name '.*' -delete NB. Don't try this at $HOME. Comment deleted