Skip to content
DevMeme
1029 of 7435
Programming test spec: build with bricks, but bricks are forbidden
Interviews Post #1157, on Mar 19, 2020 in TG

Programming test spec: build with bricks, but bricks are forbidden

Why is this Interviews meme funny?

Level 1: No-Sand Sandcastle

Imagine your teacher tells you to build a sandcastle, but then they add, “Oh, and you’re not allowed to use sand.” 🤨 Sounds crazy, right? How can you make a sandcastle without any sand? It’s the same silly idea that this joke is talking about. They asked someone to make a house out of bricks and at the same time said they can’t use bricks at all. It’s like telling you to draw a beautiful picture but not letting you use any crayons or paint. You’d be completely confused because the one thing you really need is not allowed. That’s why it’s funny – it’s a nonsense instruction! Everyone laughs because it’s obviously impossible and a little bit ridiculous, just like the no-sand sandcastle. It makes us think, “That doesn’t make sense at all!” And that exact feeling of confused laughter is what the meme is going for.

Level 2: House Without Bricks

This meme is highlighting a common coding interview scenario in a joking way. In technical interviews (especially for programming jobs), companies often give candidates little programming challenges or puzzle-like questions. The idea is to test your problem-solving and coding skills. Sometimes, however, these questions come with weirdly strict rules or constraints. For example, an interviewer might say, “Okay, write a function to sort a list of numbers but you’re not allowed to use the built-in sort function.” Or they might say, “Find the longest word in a paragraph without using any loops.” These are examples of coding_challenge_constraints – basically extra rules that forbid using the most straightforward tools, forcing you to solve the problem “the hard way.” It’s a bit like a game: they handicap you to see if you still know how to do it from first principles.

In the meme’s case, the task given is “Build a house made of bricks.” Normally, if someone tells you to build a brick house, the solution is obvious: you use bricks! 🧱 That’s the requirement. But immediately after, it says “NOTE: You are not allowed to use bricks.” — a direct contradiction. This is what we call contradictory requirements. It’s as if the question is sabotaging itself. AmbiguityInRequirements refers to when instructions are unclear or confusing, but here it’s not just ambiguous – it’s outright conflicting. You have one requirement saying do X and another saying don’t use X. That leaves the person trying to answer the question completely confused. How can you fulfill the spec when the very thing you need is forbidden? It’s a no-win situation.

So why would anyone ask a question like this? In real interviews, they usually aren’t this contradictory. The meme is exaggerating for humor. However, it’s true that interview questions often have rules like “don’t use this specific function or library.” The intention is to see if you can implement something on your own. For instance, if you can’t use loops, maybe you’ll use recursion (a function that calls itself) or some other creative approach. If you can’t use a certain library, maybe the interviewer wants to see if you know the underlying algorithm. These are what we might call prohibited_tools_questions – where a tool or feature that would make the task trivial is taken away. It can be challenging, but it forces you to show your understanding, not just your ability to use shortcuts.

However, the reason this meme clicks with a lot of developers (especially those with some experience) is that it captures a feeling of MisalignedExpectations. That means what’s expected of you versus what resources you’re given don’t line up. Many developers have experienced a situation where a project’s requirements have contradictions or where a boss or client asks for something but also says “don’t do it the normal way.” It’s frustrating! In a real job, if you got a specification like this, you’d probably go back and ask, “Hey, this doesn’t make sense. Can we clarify what you actually want?” In an interview though, especially if you’re nervous, you might try to somehow solve it, or you’re left thinking the question might be a trick.

The format of the meme is also something to note for context. It’s presented as a screenshot of a YouTube comment (dark theme interface with the username and the like count, etc.). A lot of developer jokes and memes nowadays use screenshots of tweets or comments to deliver a punchline. In this case, the commenter “AJ” wrote, “Programming questions be like:” and then gave the example of the brick house instruction followed by the forbidden bricks note. The fact that it had 787 likes (the little thumbs-up icon) shows that many people agreed or found it relatable. The German text “vor 4 Tagen” just means “4 days ago,” indicating when the comment was posted, and “ANTWORTEN” means “REPLY.” These details aren’t crucial to the joke itself, but they show it’s a genuine comment screenshot, which gives it a bit of an authentic, humorous touch — like this is a real person’s witty remark that went viral among programmers.

In summary, the meme is funny to programmers because it perfectly mocks the kind of TechnicalInterviewProcess absurdity we sometimes see: asking you to accomplish a task while banning the obvious method to do it. It’s a satire of those unrealistic puzzle questions. Anyone who’s prepared for coding interviews or done online coding challenges likely recognizes this pattern and can laugh (or groan) about it. The phrase “build a house made of bricks (but no bricks allowed)” is a metaphor for any task where the requirement and the constraints are at war with each other. It emphasizes how silly and frustrating that situation is. Knowing this, if you ever encounter something similar in an interview, you’ll understand it’s probably about finding a clever alternative solution – or it might just be a poorly thought-out question! Either way, you’re not alone in finding it perplexing, and that’s exactly why this meme struck a chord in the programming community.

Level 3: The No-Brick Paradox

At first glance, this meme presents an impossible specification: “Build a house made of bricks” immediately followed by “NOTE: You are not allowed to use bricks.” Seasoned developers recognize this as the hallmark of contradictory requirements in a coding challenge. It’s the kind of head-scratching puzzle you might encounter in a technical interview that leaves you thinking, “Did I misread that?” The humor (and horror) comes from the blatant logical paradox. In formal terms, the "problem space" has been defined and then instantly made unsolvable by a constraint that negates the requirement itself. It’s as if someone wrote a unit test for your code that says expected_house.material == "brick", and simultaneously another rule that says if material == "brick": throw Error. In other words, the requirements vs. reality gap here isn’t just wide – it’s infinite. There is no reality where you can satisfy “house of bricks” without bricks, just like there’s no way to have a house_without_bricks that is truly “made of bricks.” This is an unsatisfiable problem, akin to a logic equation that always evaluates to false. Anyone who’s dealt with AmbiguityInRequirements or downright conflicting specs in a project will feel a pang of familiarity (and probably an eye-roll).

This exact flavor of absurdity is common in InterviewHumor: those legendary tales of the TechnicalInterviewProcess where the interviewer imposes quirky restrictions. Why do they do this? Often it’s to force candidates to demonstrate fundamental understanding or creativity. For example, a classic coding test might say “reverse a string” but NOTE: “you cannot use any built-in reverse functions.” Or “find the sum of an array” and NOTE: “no using the + operator.” They’re effectively saying “build a house” but “no bricks”. The intention is to see if you can implement the basics yourself: use a loop or recursion to reverse a string manually, use bitwise operations or a loop to sum numbers, etc. In algorithmic terms, they want you to show off lower-level solutions when high-level tools are forbidden. It’s a prohibited_tools_question style challenge. From a senior developer’s perspective, though, these constraints can sometimes feel pedantic or detached from real-world problem solving. After all, if you need to build something in production, you’d typically reach for the best pre-made components (be it actual bricks or reliable libraries) rather than reinventing them from scratch under artificial limits.

The meme’s punchline exaggerates this feeling by making the restriction so extreme that it sabotages the task entirely. This exaggeration is what makes devs smirk: it’s poking fun at how misaligned expectations in interviews can be. We’re essentially laughing at the absurdity of being set up to fail by the very rules of the question. A senior engineer might chuckle and think, “Yep, I’ve seen specs that self-contradict like this. Managers have asked for a ‘100% secure system’ but then say ‘oh, and deploy it publicly with no encryption.’” Or they recall coding tests where the best tool for the job was declared off-limits just to make things harder. It’s a shared catharsis: many of us have been on the receiving end of requirements that make you go “You can’t be serious…”. This meme garnered 787 likes on that YouTube comment screenshot because it resonates — it’s a shorthand for “Interviews sometimes ask the impossible, and we ALL know how that feels.”

On a deeper level, experienced devs might also appreciate the meta-test hidden in such contradictions. Occasionally, an interviewer deliberately gives a trick question like this to see how you handle it. Do you follow orders blindly and attempt the absurd, or do you speak up and clarify the contradiction? The truly wise candidate might pause and say, “I notice the requirement and constraint conflict. Should I interpret it differently?” In real engineering, identifying and resolving RequirementsVsReality conflicts early is a valuable skill — you don’t want to burn weeks building a “house” only to find out bricks were banned by some fine-print. So there’s a sliver of legitimate insight wrapped in the joke: sometimes the correct answer is to question the question. But whether it’s an intentional test of critical thinking or just a poorly designed puzzle, the immediate reaction is the same: facepalm. 🤦‍♂️

Lastly, let’s acknowledge the meme format itself. It’s literally a screenshot of a dark-theme YouTube comment (you can even see the German “Weniger anzeigen” meaning “Show less”), repurposed as a dev meme. This style of youtube_comment_meme has become popular for sharing programming jokes. It gives it that outsider, candid feel — as if a random person “AJ” just blurted out this truth and thousands of devs nodded along. The comment says “Programming questions be like:” and delivers the two-line contradictory spec. This presentation adds to the humor because it mimics the experience of casually scrolling through comments and stumbling on a gem that perfectly nails a common frustration. It’s informal, relatable, and a bit absurd — the perfect recipe for a coding meme that both newbies and battle-scarred veterans can chuckle at for slightly different reasons.

Description

Dark-theme YouTube comment screenshot: a blurred avatar and the username “AJ” with the subtitle “vor 4 Tagen”. The comment text reads, “Programming questions be like:” followed by two quoted lines: “Build a house made of bricks.” and “NOTE: You are not allowed to use bricks.” Beneath this, the German link “Weniger anzeigen”, a thumbs-up icon showing 787 likes, a thumbs-down icon with no number, and the word “ANTWORTEN” appear. The meme visually contrasts the straightforward requirement with an immediate contradictory constraint, satirizing coding interview or assignment questions that ban the very tools needed (e.g., “solve with no loops” or “no built-ins”). It highlights the frustration senior developers feel when vague or conflicting specifications derail problem-solving

Comments

6
Anonymous ★ Top Pick Latest interview task: ship a globally distributed, strictly-ACID, eventually consistent datastore in Go - submitting any consensus algorithm is grounds for disqualification
  1. Anonymous ★ Top Pick

    Latest interview task: ship a globally distributed, strictly-ACID, eventually consistent datastore in Go - submitting any consensus algorithm is grounds for disqualification

  2. Anonymous

    This is like being asked to implement a microservices architecture but you can't use network calls, or build a distributed system that must have zero latency and 100% consistency while being partition tolerant - sure, I'll just violate the CAP theorem real quick after I finish building this O(1) comparison sort

  3. Anonymous

    This perfectly captures the essence of modern technical interviews: 'Implement a distributed cache with O(1) lookup and insertion... oh, and you can't use hash tables, memory, or computers. You have 15 minutes.' It's the architectural equivalent of being asked to design a microservices system while being forbidden from using networks - technically possible with carrier pigeons and RFC 1149, but that's probably not what they're looking for

  4. Anonymous

    Enterprise spec in one line: “Brick house, no bricks” - aka strongly consistent, highly available, stateless persistence, and make it multi‑cloud to avoid lock‑in

  5. Anonymous

    Classic hiring brief: ship an exactly-once, multi‑region system with no queues, locks, or persistence - aka a brick house without bricks

  6. Anonymous

    Like speccing a 'stateless service with sticky sessions' - pick a lane, or watch it all crumble

Use J and K for navigation