The Certainty of Traditional Programming vs. AI's Existential Crisis
Why is this AI ML meme funny?
Level 1: Guide vs Guesswork
Imagine you’re learning to solve a puzzle. In one case, your friend (or teacher) gives you a clear set of instructions: “Do step 1, then step 2, then step 3, and you’ll solve it.” You follow the steps and yay – puzzle solved! That’s like normal coding: the human tells the computer exactly what to do, and the computer does it. Now, in the other case, instead of giving you instructions, your friend just gives you a bunch of example puzzles that are already solved and says, “Figure out how to solve new ones by yourself.” 😮 You’d probably scratch your head and say, “Wait, what?! How am I supposed to do that without any hints?” That’s exactly the feeling in the second part of the meme. The poor laptop is like a student who wasn’t given the formula, just told to find the formula on its own by somehow learning from examples. Of course the laptop goes “WTF?” which is basically a shocked “Huh? This makes no sense!” It’s funny because we all know computers are usually very literal and dumb in a way – they only do what they’re told. Telling a computer “invent your own solution” is like telling a child who’s never cooked to invent a recipe just by tasting a dish. The child would be super confused! So the humor here is like watching someone break the usual rule: normally you guide someone (or something) step-by-step, but here we’re saying “no guide, just figure it out from scratch.” The confused reaction of the laptop is what makes us laugh, because we totally get why that would be crazy to ask.
Level 2: Algorithm vs Model
Let’s break down the technical terms and the scenario for a newer developer or someone not deep into AI yet. In the context of programming, an algorithm is a step-by-step procedure or set of rules to solve a problem. For example, if you need to sort a list of numbers, you might use the quicksort algorithm – a clearly defined sequence of steps that will reorder the list correctly every time. Traditional or “normal” programming is all about writing such algorithms in code. You, the programmer, think of how to solve the problem (maybe using known recipes from computer science classes or your own logic), and then you express that in a programming language. The computer then follows those instructions exactly. In the meme's top panel labeled "Normal programmers", the blond Chad character represents that scenario: he confidently says “Here, apply that algorithm” to the computer, meaning he already has a method in mind. The laptop saying “OK” indicates the computer obediently runs that algorithm. For instance, a normal programmer might tell the computer: “To calculate the factorial of N, just multiply all numbers from 1 to N” – and then code that with a loop or recursion. The key point: the human provides the explicit solution.
Now, what about AI programmers or machine learning engineers? In machine learning (a big part of modern AI_ML), the approach is quite different. Instead of explicitly coding the solution, the programmer provides a framework for learning and lots of data, and the computer figures out the best solution by training on that data. The “algorithm” in this context isn’t directly handed to the computer; rather, the computer builds its own model (a mathematical representation) from the data. This model can make predictions or decisions, effectively acting like an algorithm that was learned rather than hand-coded. The meme’s bottom panel dramatizes this: the agitated Wojak (labeled "AI programmers") tells the laptop, “You have to find yourself the algorithm”. In plainer terms, he means “I’m not going to program the exact solution; I’ll let you learn from examples.” The laptop’s flabbergasted reply “WTF?” (which stands for “What the ****?”, a shocked reaction) humorously personifies the computer’s confusion at this unusual request. After all, computers historically just execute what we program them to do – they don’t invent new programs on their own without some guidance.
Let’s connect this to real concepts: In machine learning, you typically have a model (like a neural network or a decision tree) which has a bunch of adjustable parameters. You also have a learning algorithm (such as gradient descent for neural networks) that adjusts these parameters little by little as the model sees many examples (the data). Over time, the model’s behavior improves – it “learns” to do the task by finding patterns in data. For example, imagine wanting the computer to recognize pictures of cats vs dogs. A normal programmer might struggle to hand-write an algorithm for this (“If pixel 150,200 is a certain color and ...” – it gets insanely complicated!). An AI programmer instead says: “Here is a training dataset of 10,000 cat images and 10,000 dog images. Hey computer, use a general algorithm to train a model that distinguishes them.” They might use a convolutional neural network (CNN) model with a training algorithm. After training, the model itself is like an algorithm the computer figured out: you can give it a new image and it will output “cat” or “dog” based on what it learned, even though the developer never explicitly coded “how to identify a cat”. The code the developer wrote is about how to learn, not how to identify cats specifically.
The meme simplifies this contrast in a funny way. Normal_programmer_vs_ai_programmer: the normal programmer explicitly codes the solution (algorithm included in code), the AI programmer sets up a learning process (algorithm not directly included for the specific task, it’s learned). When Wojak says “find yourself the algorithm”, think of it as him saying: “I don’t have the direct solution steps for you, computer. You need to create a model from all this data that will solve the problem.” The laptop’s “WTF?” is just comedy – in reality, the computer isn’t self-aware to be confused, it’s either going to run the code to train a model or not. But the joke lands because as humans, we know a computer can’t magically do the right thing without either an algorithm or a proper learning setup. It underscores a common misunderstanding in AI hype: people might think an AI just “figures things out” completely on its own. In truth, an AI model finds patterns in the training data based on the guidance we give (the chosen model type, the learning algorithm, the objective function to optimize). If we don’t set it up correctly, the result is garbage – essentially the computer going “I have no idea what you want from me,” much like “WTF?”.
A junior developer might ask: “So, are we not writing algorithms anymore in AI?” We are, but those algorithms are about learning (like the backpropagation algorithm in neural networks) rather than solving the problem directly. It’s a bit meta: you write an algorithm that makes the computer generate its own algorithm (model) from data! This meme’s humor comes from simplifying that to an almost absurd command. It resonates with anyone starting out in ML who thought programming was all about explicit instructions, only to discover this new world where you kind of coach the computer with data instead of telling it the rules. And yes, the phrase “self_learning_models” from the tags refers to models that improve or build themselves up by learning — exactly what’s being depicted. The Wojak format (with Chad vs Wojak) is a popular way to contrast two mindsets: here it’s “explicit coding” vs “machine learning”. By using this format, the meme conveys the contrast visually and textually: one calm and straightforward, the other intense and perplexing.
In summary, for a newcomer: the top image is how classical programming works (you give the computer a clear recipe to follow), and the bottom image is how machine learning works (you ask the computer to figure out the recipe by looking at lots of examples). The humor is that if you imagine the computer as a person, being asked to “find the algorithm yourself” would be quite confusing — after all, computers are usually the ultimate rule followers, not rule inventors. This highlights the almost magical-seeming nature of modern AI, but also gently pokes fun at the misconception that the computer does it all alone. Underneath, it’s still engineers providing the tools and data for the computer to succeed.
Level 3: Algorithm Not Included
For seasoned developers, this meme hits on the head-spinning transition from explicit programming to the age of machine learning. The top panel’s Chad (the confident blond figure) represents the old-school programmer swagger: he has a known solution in mind – “Here, apply that algorithm” – maybe something straight from CLRS textbook or a tried-and-true function from the standard library. The computer (our trusty laptop) happily replies “OK” because this is the classical contract of coding: the developer provides the exact steps, and the machine executes them. It’s straightforward, deterministic and very much aligned with how we teach CS fundamentals. We can imagine Chad just implemented, say, a sorting routine or applied a known formula, and the machine does exactly as instructed.
Now enter the bottom panel: the frazzled AI programmer Wojak with bulging veins – he’s the stand-in for every developer who’s dived into AI_hype_vs_reality and felt the stress 😅. He says, “You have to find yourself the algorithm”, essentially telling the computer “I’m not giving you the solution directly; you need to figure it out from data.” The poor laptop responds “WTF?”, channeling the collective confusion of computers and developers alike when first confronted with this approach. This scenario is a perfect poke at AI humor: it anthropomorphizes the machine to highlight how unnatural this feels in traditional programming terms. It’s as if the roles reversed – the computer now has to do the hard part (coming up with the logic), and the human just sets up the situation. In real-life terms, this is like a developer saying: “I don’t know the exact rules to detect, say, fraudulent transactions, so I’ll let a machine learning model figure out patterns from a lot of examples.” For veteran coders, that’s a radical shift from the days of writing out every if, for loop, and formula by hand.
The humor also touches on the uncertainty and black-box vibe of ML. In a big engineering team, a normal programmer might joke: “I feel like I’m telling the intern exactly what to do line-by-line.” Meanwhile, the AI/ML engineer often jokes: “I’m more like a coach: I prepare the training data and say ‘okay computer, learn from your mistakes until you get it right.’” The laptop’s “WTF” could be every engineer’s first encounter with a neural network that just won’t train properly. It’s the computer effectively throwing up its hands because, without explicit instructions, it’s initially lost. In practice, of course, an AI programmer isn’t literally yelling at a laptop to invent algorithms from thin air. They’re using frameworks like TensorFlow or PyTorch, writing code that implements a training loop, choosing a model architecture (which is a form of giving an algorithmic structure), and then letting the computer optimize parameters. But that's much less tangible than, say, implementing a sorting algorithm. It often feels like “Okay, I’ve coded the learner, now the heavy lifting is on the machine”. And if that machine (the model) doesn’t perform well, the developer might be left scratching their head, tweaking hyperparameters or network layers in a kind of experimental fog.
Real-world scenarios that make this meme “too real”: Think about debugging. With normal code, if something’s wrong, you trace the algorithm steps you wrote and find the bug. With an ML model, if it’s giving crazy outputs, you can’t pinpoint a single line of code that’s wrong in the logic (since you never explicitly wrote the logic!). Instead, you consider if the data is faulty, if the model is underfitting, if you need more layers, etc. That’s a very different, sometimes frustrating, workflow. Many a software engineer who pivoted to ML has had that “WTF?” moment alongside the computer – “Why isn’t this model learning? I’ve essentially told it to figure it out but it’s not getting it!” The meme exaggeration nails this feeling. It also reflects the AI_hype_vs_reality: People talk about AI as if computers will just figure everything out magically, but the reality is we spend countless hours prepping data and tuning algorithms to make that “magic” happen.
From a historical perspective, this shift began as AI/ML techniques proved better for certain complex tasks. In the old days (say 1990s), if you wanted a computer to recognize handwriting, you’d try to explicitly program rules for shapes of letters – a nightmare of edge cases. Today, you’d train a neural network on thousands of handwriting samples and let it learn the patterns. It works much better, but the development process feels totally different: you’re not coding the shape of each letter, you’re curating data and choosing a learning algorithm. It’s like going from being a chef who personally cooks every dish to a coach training a cook – you define how to learn, not what exact steps to execute for each scenario. This is sometimes called Software 2.0, where instead of writing explicit rules, engineers write code that learns the rules from data. The meme highlights the absurdity and brilliance of that idea in one stroke. The Chad panel shows the comfort of explicit control (“I wrote the code, I know what it does”), while the Wojak panel captures the nervousness of letting go (“I hope the computer figures out something, because I didn’t give it the exact recipe!”). For many senior devs, this resonates because we’ve wrestled with that loss of direct control, and perhaps had a laugh (or a groan) about how we’ve gone from typing out algorithms to tweaking learning rates and cross-validation. The laptop’s indignant “WTF?” also subtly pokes fun at how we anthropomorphize AI – we expect the computer to be smart, but deep down we know it's just linear algebra crunching data. It reminds us that no matter how advanced it gets, a computer still fundamentally follows instructions – so if you only tell it “learn from data”, you’d better also give it the right tools and guidance to do so! In summary, the meme lampoons the algorithm_vs_model paradigm shift in developer life, an inside joke for those who have lived through the transition from writing code to training models, and found themselves equally excited, puzzled, and amused by the contrast.
Level 4: Algorithm ex Machina
At the most theoretical level, this meme hints at the fundamental shift in how we derive solutions. Traditionally, computer science theory revolves around humans devising an algorithm (a finite, well-defined set of instructions) to solve a problem, and then coding it. In contrast, the AI/ML paradigm often means we let the computer search for an algorithm that fits the data we provide. This invokes deep concepts like inductive inference and program synthesis. In classical terms, telling a machine “find yourself the algorithm” is akin to searching the space of all possible programs for one that works – a space so astronomically large that brute-forcing it is infeasible (thanks to combinatorial explosion and problems like the Halting Problem). Researchers address this by limiting the search: for example, a neural network defines a parametric family of functions (the model architecture) so the computer doesn't literally try every program, but instead uses calculus-based optimization (like gradient descent) to zero in on a good solution. There’s a beautiful theoretical resonance here with concepts like the No Free Lunch Theorem in ML, which essentially says: without prior knowledge or assumptions, one cannot magically conjure the perfect algorithm from data alone – every learning method has trade-offs. In other words, if you don’t hand the computer some structure or hints, finding an algorithm is as hard as the original problem itself. This is why even in AI, we still embed lots of human insight (through model architecture, feature engineering, or training regime). The meme’s absurd dialogue (“find yourself the algorithm”) humorously exaggerates the idea of a fully autonomous, self-inventing computer. It tickles the CS_Fundamentals nerd in us: we recall that from a theoretical CS standpoint, making a machine discover an arbitrary algorithm without guidance is almost like asking it to solve Kolmogorov Complexity optimizations on the fly – an impossible ask in general. Yet, modern AI does something cleverly approximate: given data and a constrained model space, it uses statistical learning to emerge an algorithm tailored to that task. In essence, the humor hides a profound truth: we’ve moved some problem-solving burden from human-designed procedures to machine-driven search within mathematical frameworks. It’s a nod to how far AI_ML has pushed the envelope, flirting with the boundaries of what it means for a machine to “invent” solutions, all while still obeying the unforgiving rules of computation and math.
Description
A two-panel comparison meme using Wojak characters to contrast traditional programming with AI development. The top panel, labeled 'Normal programmers', shows a confident, bearded 'Chad' Wojak character instructing a laptop, 'Here, apply that algorithm,' to which the laptop responds, 'OK'. This depicts the straightforward, deterministic nature of conventional coding. The bottom panel, labeled 'AI programmers', features a 'Crying Wojak' character hiding behind a smiling mask. He tells the laptop, 'You have to find yourself the algorithm,' prompting a 'WTF ?' response from the machine. This powerfully illustrates the core challenge of AI development: instead of providing an explicit algorithm, the programmer's job is to create a system that can discover patterns and solutions on its own. The meme humorously captures the inherent uncertainty, frustration, and a sense of lost control that often accompanies training machine learning models
Comments
19Comment deleted
Traditional programming is a conversation with a hyper-obedient logician. AI programming is a therapy session with a temperamental statistician you're trying to coax into having an original thought
Classic release: ship the algorithm. Modern release: ship 10 TB of mislabeled data, a YAML of hyper-params, and pray SGD reverse-engineers the spec before Finance reverse-engineers your GPU invoice
After 20 years of carefully crafting algorithms, I now spend my days explaining to stakeholders why the model that "found itself the algorithm" decided to reject all loan applications from people who own cats
The real joke is that 'normal programmers' spend weeks implementing a sorting algorithm that runs in O(n log n), while AI programmers spend months training a model to discover an algorithm that runs in O(n²) but somehow still gets promoted because it's 'machine learning.' At least when your gradient descent refuses to converge, you can blame the loss landscape instead of admitting you forgot to normalize your inputs
Normal programmers apply algorithms; AI programmers apply loss functions and hope gradient descent invents one - right up until distribution shift turns “OK” into “WTF.”
Traditional devs pick Dijkstra; ML devs pick a loss, an optimizer, a data distribution and a seed - then watch NAS invent an algorithm that aces validation and drives off a distributional cliff in prod
Normal devs dictate algorithms to code; AI devs negotiate with data until it coughs one up - usually wrong
lol, is this channel international or russian? Comment deleted
russian. Comment deleted
definitely. Comment deleted
Привет Comment deleted
Гуд уонтент Comment deleted
do you have distorted version Comment deleted
Seems like a race condition to me Comment deleted
I dont know Comment deleted
Seems kinda gay to me Comment deleted
Usually the programmer says wtf Comment deleted
Do what the AI programmer for FEAR did and make everything heavy scripted to perform better than actual AI. Comment deleted
wtf Comment deleted