Skip to content
DevMeme
906 of 7435
Senior Devs on Code Comments: Do As I Say
Documentation Post #1024, on Feb 5, 2020 in TG

Senior Devs on Code Comments: Do As I Say

Why is this Documentation meme funny?

Level 1: Practice What You Preach

Imagine a teacher who always tells the students, “Always write down notes so you don’t forget what you did.” Good advice, right? But one day, the teacher’s own notebook on the projector is just a big messy math problem with no notes or explanations at all. 🤨 A little kid raises their hand and asks, “Teacher, why didn’t you write any notes for this problem like you tell us to do?” The classroom gets really quiet. The teacher’s eyes go wide because the kid absolutely nailed the question. The teacher might not have a good answer and maybe gets a bit upset or embarrassed, saying something like, “Just pay attention, okay?”

It’s funny because the teacher wasn’t following their own rule – they didn’t “practice what they preach.” They told everyone else to do something (write notes), but then they didn’t do it themselves. When the young student points that out so honestly, the teacher feels caught and reacts with irritation (even though the kid is right). This is basically what’s happening in the meme, but with coding: the older, “wiser” person (the senior developer) said, “Always put comments in your code to help others,” and the younger person (the junior developer) noticed that the older one didn’t do it at all in his own work. The senior’s funny angry-bird reaction – “Listen here, you little… (grrr!)” – is like the teacher getting mad when the kid embarrasses them in front of the class.

The core idea is something even a kid can understand: don’t be a hypocrite. If you make a rule for others, you should try to follow it too. We laugh at this meme because it shows someone getting caught not following their own rule, and their only comeback is basically getting mad about it (which kind of proves they know they were wrong). It’s like if a parent says, “No dessert before dinner,” but then you catch them sneaking a cookie, and they respond with, “Hey, do as I say, not as I do!” In other words: “I know I broke the rule, but I’m in charge, so hush.” That’s a pretty silly response, and that’s why it’s humorous. The little bird’s wide-eyed face in the meme is exactly the look of a grown-up who got caught red-handed by a kid and is half angry, half embarrassed. 😂

So in the simplest terms: the meme is funny because an experienced person wasn’t following his own advice, a newcomer called him out, and he had a comically exaggerated angry reaction. It’s a reminder that everyone should practice what they preach, or else be ready to hear some tough (and possibly hilarious) questions from the juniors!

Level 2: But Did You Comment It?

Let’s break down the meme’s scenario in simpler terms, especially for those new to coding. The conversation is between a junior developer (a newbie programmer) and a senior developer (an experienced programmer). The junior asks: “Why is it important to include comments in the codebase?” This is a great question! In programming, code comments are notes you write in your source code for humans to read – the computer ignores them. They’re usually marked by special symbols (like // in Java/C++/JavaScript, or # in Python) so they don’t get executed. Comments are basically little explanations or annotations alongside your code. The senior answers that comments “support future reading and modification” (meaning they help people understand the code later and change it if needed). That’s the classic reason we’re taught: documenting your code makes life easier for the next person (or your future self) who works on it. It’s about CodeQuality and being kind to your fellow developers by leaving breadcrumbs of understanding. 📝👩‍💻👨‍💻

Now, what does the junior say next? “How come your code has none?” – Oof, talk about putting someone on the spot! This junior actually peeked at the senior’s code and noticed there were no comments at all. When they say “your code has none,” they likely mean none of the senior’s commits included any comments. A commit is a snapshot of code changes saved into a version control system (like Git). When you “commit” code, you bundle up your edits (new code, removed code, etc.) and usually add a message describing the changes. Here, the junior probably reviewed the senior’s recent commits in the project’s repository and found zero comment lines in them. Essentially, the junior is asking, “If comments are so important, why didn’t you write any in the code you wrote?” 🤔 This highlights an irony (and that’s why it’s funny): the senior is telling the junior to do something that the senior themself didn’t do. We sometimes call this a “do as I say, not as I do” situation.

Let’s clarify a few terms and why they matter:

  • Codebase: This just means the entire collection of source code in a project. If you imagine a big folder with all the code files for an app, that’s the codebase. Keeping a well-documented codebase (with plenty of helpful comments and clear code) is crucial so that any developer can hop in and understand what’s going on.
  • Code comments: As mentioned, these are notes in the code. For example, in Python you might see: # calculate the total price, or in JavaScript: // check if user is logged in. These lines won’t run; they just explain the next part of the code in plain English (or whatever human language). They act like street signs for anyone reading the code, especially when logic gets tricky.
  • Inline documentation: This is another way to refer to comments written right in the code (as opposed to separate documentation files). It’s describing the same idea – you document the code at the spot where the logic happens.

Now, why was the junior even looking at the senior’s code? In a team, it’s common to review each other’s code. Code reviews are when someone (often a senior dev) looks at a commit or a pull request from someone else (often a junior) and gives feedback, like “Hey, this part is confusing, maybe add a comment explaining it.” Here, it seems the roles flipped a bit: the junior scrutinized the senior’s work! Perhaps the junior was curious or trying to learn good practices by example. What they found was surprising: the senior hadn’t written the very comments he was advocating for. That’s like a teacher telling students to take notes, but the students then find out the teacher’s own notebook is empty. 📓❌

Speaking of that teacher-like role, the senior’s tiny typo “supoorts” (instead of supports) in his explanation might seem trivial, but it adds to the humor. It suggests the senior might have been typing quickly or not paying full attention, which subtly undercuts the authority of his advice. If you’re a junior dev, you might giggle at that detail – the senior can’t even spell supports, and yet he’s lecturing about doing things properly. It humanizes the senior as someone who makes mistakes too (we all do!). In the context of the meme, it’s another wink: even when explaining best practices, the experienced folks aren’t perfect.

Now let’s look at a simple code snippet to illustrate what a comment is and why it helps. Imagine we have some code that checks how long a system has been running and notifies an admin every 24 hours. Without any comments, it might look like this:

# Code with no comments:
t = 86400
if uptime % t == 0:
    notify_admin()

If you’re new to this code, you might scratch your head: What is 86400? Why are we checking uptime % t == 0? 🤷 It’s not obvious at first glance. Now, let’s add some comments to clarify:

# Same code with comments explaining the intent:
t = 86400  # number of seconds in a day (24 hours * 60 min * 60 sec)
if uptime % t == 0:
    notify_admin()  # if the system has been up a whole day, send a notification

See the difference? In the commented version, anyone reading the code can quickly learn that 86400 represents the number of seconds in a day, and the condition uptime % t == 0 is a way to check “has a full day passed with no remainder seconds?”. The comment on notify_admin() tells us the purpose: we’re sending a notification every 24 hours of uptime. Without those comments, a newcomer might not realize the intent and could spend extra time figuring it out. With comments, the code becomes self-explanatory (or at least easier to follow).

This is exactly why the junior dev was taught that comments “support future reading and modification.” It means if you come back to this code in the future (or someone else does), these little explanations will support your understanding and make modifying the code safer and easier (because you know what it was supposed to do). As a junior, you’re often encouraged to form good habits like writing clear comments, documenting tricky logic, and not assuming that everyone will immediately get what your code is doing.

So the junior in the meme is understandably confused – he’s trying to do the right thing and here his mentor isn’t practicing what he preaches. It’s a bit of a comedic gotcha moment. The senior developer doesn’t have a good answer, right? Hence that startled, wide-eyed bird reaction in the meme. The senior probably knows he’s caught: “Yeah, my code has no comments… you’re right 😅.” In real life, the senior might chuckle nervously and say something like, “Heh, you got me there. I was in a rush on that project,” or they might defend themselves with, “Well, I only add comments for really complex parts, and I felt that code was straightforward.” (Whether that’s a good excuse is debatable!)

The meme humorously exposes a common situation for junior developers: discovering that not all professionals follow the neat rules you learned in school or bootcamp. Maybe in a college assignment, you lost points if you didn’t include sufficient comments. Then you go look at a huge open-source project or your company’s codebase and… surprise! Hardly any comments, and lots of “write-ups” you have to decipher yourself. It can be both frustrating and enlightening. This meme takes that experience and exaggerates it a bit for comic effect.

Finally, let’s talk about the bottom panel text: “Listen here, you little shit.” 😲 This is obviously a rude phrase (definitely not office-appropriate language!), but in meme culture it’s used for laughs. It’s portraying the senior’s internal reaction. Picture the senior dev thinking, “Alright kid, you’ve got some nerve, huh,” in a mock-threatened way. Of course, in reality a good senior wouldn’t respond by insulting the junior — they’d ideally admit the oversight or explain their reasoning. But using this over-the-top line makes the scenario funnier and instantly recognizable as a joke. It’s a popular caption for when an authority figure is comically offended by a small fry’s accurate but inconvenient question. In developer humor, it’s poking fun at how a senior’s ego might flare up for a second when a newcomer is technically correct.

So, at Level 2 understanding: this meme is showing a relatableDeveloperExperience where a junior dev points out the senior dev’s inconsistent behavior regarding code documentation. We find it funny because:

  • It highlights the irony of knowing what’s right versus actually doing it.
  • It shows the human side of workplaces: even seniors get it wrong or skip steps, and they might react defensively when called out by a newbie.
  • It’s exaggerated with a silly meme image and an outlandish response (that bird’s face is just hilarious in context 😅).

In simpler terms, it’s as if the meme is saying: “The teacher gave a great lesson, but didn’t do the homework themselves – and the student noticed.” For anyone new to tech, it’s a good reminder that, yes, writing code comments is important, but don’t be surprised if one day you catch even your mentor slacking on that rule! The humor makes the lesson stick: always try to document your code… or someone might meme-ify you next. 🐦💬📜

Level 3: Do as I Say, Not as I Commit

At the senior engineer level, everyone talks a big game about code comments and documentation, but in practice… well, this meme calls out the gap between preaching and practicing. The top panel reads like a transcript from a code review or mentoring session:

junior dev: why is it important to include comments in the codebase?
me (senior dev): because they supoorts future reading and modification
junior dev: how come your code has none?

Right away, experienced developers will smirk at the scenario. The senior gives the textbook answer (ironically with a typo in “supoorts”, which is a humorous touch—even while lecturing about quality, he can’t spell supports correctly). He’s basically reciting the official CodeQuality line: “We comment our code for maintainability, so future devs (or our future selves) can read and modify it easily.” This is solid reasoning found in countless coding guidelines about Documentation.

But then comes the punch: the junior innocently asks why the senior’s own code has zero comments. 💣 Boom – direct hit to the senior’s credibility. This is the classic do_as_i_say_not_as_i_do moment. In real dev life, such a question can be both hilarious and painfully uncomfortable. The meme highlights a well-known industry truth: it’s much easier to tell others to write clear, commented code than to actually do it consistently yourself. Seasoned developers know comments are important (they’ve suffered through spaghetti code at 3 AM with no docs), yet many still commit code with no commentary – often rationalizing that “my code is clean enough” or “I was in a rush, I’ll add comments later.” Spoiler: later never comes.

The bottom panel’s image perfectly captures the senior’s flustered reaction. It’s that wide-eyed orange bird (a popular bird_listen_here_meme template) with bulging googly eyes, and the caption in tiny white letters: “Listen here, you little shit.” 😳 This is meme-speak for “How dare you call me out (even if you’re right)!” Of course, no professional senior dev would actually say this to a junior (one hopes!), but internally they might feel this mix of embarrassment and annoyance. The bird’s crazy eyes and crude subtitle exaggerate the senior’s indignation for comedic effect. It’s a perfect contrast: the calm Q&A above vs. the senior’s not-so-calm thought bubble below. Every experienced dev recognizes this dynamic – a JuniorVsSenior tension where the junior points out something obvious that the senior overlooked. It’s funny because it’s true, and also a bit cathartic; we’ve all been the junior spotting an inconsistency or the senior getting caught in a little hypocrisy.

From an insider perspective, the humor comes from a mashup of CodeComments culture and human ego. The senior is advocating for maintainability and future-proofing the code (the noble thing to do), but his own work doesn’t reflect that advice. In many teams, seniors hammer into juniors the importance of writing docs, following standards, not pushing sloppy code – yet when crunch time hits, those same seniors might commit in a hurry with nary a comment to be found. It’s a running joke in software circles: the repository’s documentation_humor is often that comments like “TODO: add comments” are the only comments you’ll see. 🙃

Why do even battle-hardened devs skip commenting? Often it’s maintainability_vs_time_pressure. Under tight deadlines or late-night coding sessions, adding // explanations for every other line feels low-priority. Seniors might also believe in the ethos of self-documenting code – using clear variable names and clean logic so that the code “speaks for itself.” In theory, if your code is crystal clear, you shouldn’t need a comment for every line. But in practice, there’s always context or intent that isn’t obvious from code alone. The meme shines light on that irony: the senior likely thought his code was straightforward (or was just too lazy/busy), whereas the junior expected to see those helpful inline comments the senior always preaches about. When those comments are missing, the junior is understandably confused, and the senior has that moment of “uh… good question…” followed by defensive bluster (as depicted by the outraged bird).

For seasoned developers, this scenario is painfully relatable. How many times have we opened a module written by a so-called expert to find zero documentation inside? 😅 We chuckle because we’ve been there. Perhaps the senior in the meme has been coding for years and thinks “I don’t need comments, I’ll remember what this does.” Fast forward a few months, and even he won’t remember the trick behind that algorithm he wrote – a fact many veterans learn the hard way. (Nothing quite like debugging a critical issue at 3 AM, opening a file you wrote last year and muttering, “Who the heck wrote this nonsense?!” Only to realize it was you, and you left no comments to illuminate your past self’s thinking. Cue the facepalm.) In those moments, the absence of comments is about as welcome as a surprise segfault in production.

This meme cleverly compresses all that industry insight into two panels: a setup and a punchline. The setup references the noble ideals of CodeQuality and knowledge-sharing, and the punchline exposes the all-too-human reality of cutting corners. It’s a gentle roast of senior developers who can talk about best practices all day in meetings but might not always follow through in their own commits. And it’s also a nod to juniors, who often have the fresh eyes to spot things that experienced folks gloss over. In a way, the junior’s question in the meme is the voice of accountability, and the senior’s bird-brained outburst is the guilty conscience saying, “Alright, you got me.”

In summary, Level 3 reveals why veteran devs find this hilarious: it lampoons the common disconnect between what we say (comment your code for the team’s sake) and what we do (push code at 5 PM Friday with zero comments 😜). It touches on team dynamics (the JuniorVsSenior relationship), the eternal CodeComments debate (comment everything vs. code should be clear enough), and the universal truth that even experts are fallible. The sharing of this meme among developers says, “Yep, we’ve seen this happen — and if you haven’t yet, you will.” It’s both a laugh at our quirks and a modest reminder: maybe add a comment or two before the junior calls you out!

Description

A two-part meme about developer hypocrisy regarding code comments. The top part contains a text-based dialogue: 'junior dev: why is it important to include comments in the codebase?', followed by 'me: because they supoorts future reading and modification', and the punchline from the junior dev, 'how come your code has none?'. The bottom part is the reaction, featuring a two-panel image of a goofy-looking orange bird with large, offset googly eyes. In the first frame, the bird stares blankly. In the second, a close-up shot is captioned with the unspoken thought, 'Listen here, you little shit'. The meme humorously captures the 'do as I say, not as I do' attitude some senior developers have, where they enforce best practices on juniors that they themselves neglect, often due to time pressure, overconfidence, or habit

Comments

7
Anonymous ★ Top Pick Comments are for the weak. My code is 'self-documenting,' which is shorthand for 'if you can't understand it, that's a you problem.'
  1. Anonymous ★ Top Pick

    Comments are for the weak. My code is 'self-documenting,' which is shorthand for 'if you can't understand it, that's a you problem.'

  2. Anonymous

    I do comment my code - the annotations are just sharded across 3,482 rebased commits. If you can’t reconstruct the architecture from git blame, are you even reading the documentation?

  3. Anonymous

    The real reason senior devs don't write comments? After 15 years, we've convinced ourselves that our variable names like 'x2_final_v3_PROD_DO_NOT_TOUCH' are self-documenting, and besides, if the code was hard to write, it should be hard to read - job security through obscurity

  4. Anonymous

    Every senior engineer has that one 10,000-line God class with zero comments that they wrote during a 'temporary' sprint three years ago, which is now the core of the entire system. We all know comments are crucial for maintainability - we just also know that 'future us' who has to read this code is a problem for future us to deal with. The real irony? That junior dev will be maintaining this uncommented mess in six months, at which point they'll understand why we get so defensive when called out on it

  5. Anonymous

    Comments rot faster than code; mine's self-documenting via the Jira epic titled 'WTF was I thinking?'

  6. Anonymous

    At scale, comments are the fastest stale microservice; I prefer tests, types, and ADRs - the only docs that fail CI when reality changes

  7. Anonymous

    My code isn’t under-commented; its intent is sharded across ADRs, git history, and two postmortems - eventual consistency for documentation

Use J and K for navigation