Skip to content
DevMeme
2965 of 7435
Reinventing the Wheel? Nobody Cares
CodeQuality Post #3275, on Jun 18, 2021 in TG

Reinventing the Wheel? Nobody Cares

Why is this CodeQuality meme funny?

Level 1: See? Nobody Cares

Imagine you have a friend who insists on doing everything the hardest way possible just to show off. For example, instead of using a regular store-bought kit to build a toy car, he cuts the wood and makes the wheels all by himself from scratch. He’s super proud and keeps telling everyone, “Look, I made this entire toy car without using any kit or premade parts!” Now, that sounds like a lot of work, right? The funny thing is, when he shows it to the other kids, they just kind of shrug and say, “Oh, okay.” They then continue playing with their toys. They’re not being mean; it just doesn’t matter to them how the car was made. They care that the car works and is fun to play with, not that he refused to use a kit.

The joke here is similar: someone is bragging about doing something the hard way (writing all the computer stuff by himself) and expects everyone to be impressed. But the other person basically says, “See? Nobody cares.” In other words, no one is impressed by that kind of bragging. It’s funny because the first guy thought he did something extraordinary, but everyone else just cares about the result, not the boast. It’s like doing a huge extra effort to draw a picture with homemade crayons and expecting a gold star, but your classmates just say, “Cool... can we see the picture now?” The meme makes us chuckle because it reminds us that doing things the hard way just to show off often isn’t worth it — people just care that it gets done, not how.

Level 2: Reinventing the Wheel

This meme uses a scene from Jurassic Park to make a point about programmer behavior. In the first panel, you see a man in a red shirt at a tropical café table bragging: “He can code anything without using libraries.” In the second panel, a heavier man in a bright floral shirt (Dennis Nedry from the movie) smirks and says, “See? nobody cares.” In the movie, that line was a funny moment where a secret meeting is met with total indifference. In the meme, it’s been repurposed to poke fun at developers who proudly avoid using libraries. The joke is basically saying: this guy might think he’s a programming wizard for doing everything from scratch, but other developers just shrug because it’s not actually that impressive in the real world of software development.

Let’s break down the terms and why this is humorous for people in tech:

  • Libraries: In programming, a library is a collection of pre-written code that provides helpful features or functions so you don’t have to write them all by yourself. For example, instead of writing your own code to sort a list or to connect to a database, you might use a library that already does that. When the meme says “without using libraries,” it means this programmer refuses to use any ready-made code from others. It’s like trying to do every little thing by hand in your project.

  • Dependencies: A dependency is any external code or library that your project relies on. If you include a library in your project, that library is a dependency because your code depends on it to work. Modern applications often have many dependencies (for things like logging, networking, data handling, etc.) because it’s efficient to reuse code that’s already tested and proven. In developer culture, managing these is part of everyday work (think of doing npm install to get Node.js packages or using Maven packages in Java). So, a programmer who boasts about using zero dependencies is going against the common practice of code reuse.

  • “Coding everything from scratch”: This phrase means writing all the code by yourself, instead of using any existing building blocks. It’s akin to baking a cake entirely from raw ingredients versus using some ready-made mix. In software, from-scratch coding might involve implementing your own data structures, algorithms, or utilities rather than using ones that come from a framework or community package.

  • Not Invented Here (NIH) Syndrome: This is a tongue-in-cheek label for a mentality where people avoid using someone else’s solution because they prefer to invent it themselves. The term “not invented here” implies “If we didn’t invent it internally, we won’t use it.” In practice, NIH syndrome can lead to a lot of duplicate effort: a company or dev team ends up writing their own version of something that’s already available because they distrust outsiders’ work or simply want the pride of making it themselves. It’s often viewed as a negative trait in engineering because it can waste time and resources. The meme’s braggart clearly has a case of NIH – he’s proud that everything in his codebase is his own invention.

  • Reinventing the wheel: This is a common phrase (and a tag in the meme) that means unnecessarily creating something that already exists. If someone tells you “don’t reinvent the wheel,” they mean you should use existing solutions instead of spending time making your own version. In programming, reinventing the wheel might look like writing your own web server when you could use a tried-and-true web framework, or coding your own encryption algorithm (never a good idea!) instead of using a trusted library. It’s usually not a compliment; it means you’re doing extra work for no real gain. In our meme, the guy bragging about not using libraries is, in effect, proud of reinventing countless wheels.

  • Over-engineering: This term refers to designing a solution that is more complicated than it needs to be for the task at hand. If a problem could be solved with a simple script and a small library, but you instead build a massive system with multiple modules all custom-written, that’s over-engineering. It often happens when someone tries to account for every possible scenario or is too focused on making a “perfect” or very general solution. In context, writing everything yourself can lead to over-engineering because you might end up building large sub-systems (logging, data parsing, etc.) that you could have just pulled off the shelf. It’s an overkill, or as one of the context tags puts it, self-reliance overkill (being so self-reliant that it goes beyond what’s practical).

Now, why do seasoned developers find this meme relatable and funny? It comes down to experience in the Developer Culture. When you’re new to coding, it may feel like a badge of honor to say “I wrote it all myself!” You might think avoiding libraries shows off your skill or that you’re being extra careful about performance and control. However, as developers gain experience, they often encounter the downsides of that approach. For example, imagine a junior developer who spends two weeks writing a custom function to handle file uploads, unaware that their framework had a built-in method to do it. Their custom solution might be buggy or insecure compared to the well-tested one they could have used. Meanwhile, their teammates are wondering why they didn’t just use the standard tool. The bragging rights of “I did it without any library” quickly evaporate when bugs start popping up or when the project is late because so much time was sunk into redoing existing work.

Using libraries is not “cheating” — it’s usually smart development practice. It improves productivity and often improves code quality because widely-used libraries are typically optimized and tested by many people. There’s a saying in programming: “Don’t repeat yourself.” Ripping out and rewriting something that’s already available is a form of repeating work that’s already been done. Another saying is “Stand on the shoulders of giants,” which means use the knowledge and tools that those before you have created. Libraries are exactly that: they are code written by specialists or by numerous contributors, refined over time. When you leverage them, you free yourself to focus on the unique problems of your project. This often leads to a better Developer eXperience (DX) because you can accomplish tasks more quickly and with more confidence.

So, in a typical software team, if someone bragged “I have zero dependencies, I wrote everything myself,” the reaction might really be a bunch of blank stares or eye-rolls — exactly the “nobody cares” vibe of the meme. It’s not that being able to write code from scratch is a bad skill; it’s that choosing to do so for everything is usually seen as impractical. Developers care more that the job gets done efficiently and reliably. If you spend a week making your own web framework for bragging rights, while another developer used an existing framework and finished the feature in a day, the second approach is what the team will appreciate. The final users of the software certainly don’t care how the code was written — they just want the app or website to work well. Similarly, your teammates and boss care that you delivered a maintainable solution on time, not that you wrote 1,000 extra lines of custom code to avoid a well-known library.

The Jurassic Park reference with “See? nobody cares” adds a nice cinematic flair to the joke. It visually emphasizes how the boast is met with total indifference. In the movie, Dennis Nedry uses that line to mock how nobody in the restaurant recognizes or cares about the secret agent (Dodgson) he’s meeting. In the meme, it’s repurposed: the “secret” is that this dev codes without libraries, and Nedry’s character (the floral shirt guy) makes it clear that it’s not impressing anyone. This is a nod to our developer humor: we often borrow lines from pop culture to express our everyday tech experiences. It’s relatable — many developers have either been the person boasting about some tech purist stance or have been the one going “meh” when hearing such boasts. The meme humorously reminds us that in software development, pragmatism beats purism. Getting things done with the help of tools is usually better than doing it the hard way for bragging rights. And if someone ignores that and brags anyway... well, see? Nobody really cares.

Level 3: Look Ma, No Libraries!

In this meme’s scenario, a developer proudly boasts “He can code anything without using libraries,” as if that achievement should make seasoned engineers swoon. The punchline? A jaded colleague waves him off with a classic line from Jurassic Park: “See? nobody cares.” This hits on a well-known industry anti-pattern: Not Invented Here (NIH) Syndrome, where a developer or team refuses to use external dependencies (libraries, frameworks, tools) in favor of writing everything themselves. The humor here is that what the bragger thinks is a flex — total library abstinence — is seen by experienced devs as pointless over-engineering. The floral-shirt guy in the meme (Dennis Nedry in the movie) represents that seasoned engineer perspective, basically saying “Cool story, bro, but did it ship?”.

From a senior engineering standpoint, bragging about from-scratch coding is often a red flag. Sure, this self-reliance might sound virtuous (no third-party code, full control, etc.), but in reality it usually means:reinventing the wheel and possibly doing a poorer job of it. Why spend weeks writing your own database connector or JSON parser when battle-tested libraries exist? Seasoned devs have been through the fire of maintaining and debugging homegrown solutions for problems that were already solved reliably elsewhere. They know that refusing to use well-known libraries can lead to a nightmare of technical debt and endless bug-fixing at 3 AM. It’s DeveloperExperience minus the fun: you’re solving solved problems and taking on unnecessary risk. While the no dependencies coder is busy hand-crafting basic functionality, the rest of the team is rolling their eyes and focusing on features that actually deliver value. It’s a classic case of over-engineering born from ego or distrust, and industry veterans have little patience for it. In developer culture, bragging that you “don’t use libraries” is like bragging you milled your own flour to bake a cake at a coding bake-off; the response is a collective shrug because what matters is the cake, not how you ground the flour.

Let’s be real: every programmer stands on the shoulders of others’ code. Claiming you write everything from scratch is often either an exaggeration or an exercise in masochism. The code quality of an individual’s “I made it all myself” solution often can’t match a well-maintained library that thousands of other developers have battle-tested. The seasoned engineers have seen this movie play out: the hero coder struts around for avoiding pip install or npm install, but then their custom-built module fails in production in some edge case the established library had long accounted for. Relatable Dev Experience? Absolutely – many of us have watched a teammate stubbornly craft a custom data structure or internal tool only to discover later that it’s buggier and slower than the open-source version available for free.

It boils down to this: in real software projects, nobody gets a promotion for writing a from-scratch linked list when the language’s standard library has one. Achievements in engineering are usually measured by delivering reliable features, not by how much code you wrote by hand. The meme’s punchline nails this sentiment. The guy in the red shirt is touting a feat of library abstinence expecting applause, and the veteran in the Hawaiian shirt basically says, “Nobody is impressed, my friend.” Why? Because as long as the software works and is maintainable, nobody cares if you used a library or invented the whole thing under a coconut tree. In fact, using proven libraries is often seen as a smart move (fewer bugs, faster development) whereas NIH-driven bragging signals a lack of pragmatism.

To drive the point home, consider a typical real-world example. A dev who “can code anything without libraries” might insist on doing even basic tasks the hard way:

# The "no dependencies" approach to fetch a web page (reinventing the wheel, low-level):
import socket
s = socket.socket()
s.connect(("example.com", 80))
s.send(b"GET / HTTP/1.1\r\nHost: example.com\r\n\r\n")
response = s.recv(4096)
# ... parse the raw HTTP response manually (headers, body, etc.) ...
content = response.split(b"\r\n\r\n")[1]  # naive extraction of body

# Meanwhile, everyone else just uses a high-level library for simplicity and reliability:
import requests
content = requests.get("http://example.com").content

The contrast is obvious. The first approach reimplements what a well-known library already does (and likely does better). The second approach achieves the same result with one straightforward call. The seasoned devs are thinking: “Why on earth would you burn hours on low-level socket code for a routine task that a one-liner from a trusted library can handle?” They’ve learned that time saved is better spent on unique project challenges, not on re-writing the TCP/IP wheel. Plus, the library version (requests.get) has been optimized and debugged by countless contributors; the hand-rolled version might have subtle bugs (improper HTTP parsing, no SSL, no redirect handling — the list goes on).

So when the meme’s caption says “He can code anything without using libraries” and the response is “See? nobody cares,” it’s highlighting an important truth in software development: outcomes beat ego. The broader developer community values code quality, maintainability, and delivering features over macho posturing about pure from-scratch implementations. It’s a gentle roast of that one colleague (or college classmate) who bragged about writing their own game engine or web framework from the ground up while everyone else just used Unity or Rails and moved on. The indifference (“nobody cares”) is the punchline because it flips the braggart’s expectation of praise into a reality check. It reminds us that good engineers concentrate on solving the right problems – and not on gratuitously solving already-solved problems just to say they did. In short, Not Invented Here syndrome might give someone a false sense of pride, but in practice, it often just yields extra work that nobody asked for – and this meme lets us laugh at that truth together.

Description

A two-panel meme using the "Dennis Nedry 'Nobody Cares'" format from Jurassic Park. The top panel shows Dennis Nedry, a man in a floral shirt and glasses, gesturing dismissively towards another man while saying, "He can code anything without using libraries." The bottom panel shows a close-up of Nedry's smug face with the caption, "See? nobody cares." The meme humorously criticizes the developer ego associated with avoiding libraries and frameworks in favor of building everything from scratch. For experienced engineers, this is a relatable commentary on pragmatism versus purism; delivering value efficiently with battle-tested tools is almost always preferred over the time-consuming and risky process of "reinventing the wheel." It highlights the importance of leveraging the open-source ecosystem rather than indulging in unnecessary complexity for the sake of pride

Comments

25
Anonymous ★ Top Pick The senior engineer's motto: 'I could write that in a weekend.' The principal engineer's motto: 'I know, but for the love of God, don't.'
  1. Anonymous ★ Top Pick

    The senior engineer's motto: 'I could write that in a weekend.' The principal engineer's motto: 'I know, but for the love of God, don't.'

  2. Anonymous

    Congratulations on your artisanal, dependency-free HTTP stack - just let us know when your handcrafted TLS renegotiation passes a pen-test so the rest of us can finally cut a release

  3. Anonymous

    The developer who proudly implements their own JSON parser, HTTP client, and date-time library is the same one who'll be debugging timezone edge cases at 3 AM while everyone else shipped to production using battle-tested libraries six months ago

  4. Anonymous

    Ah yes, the developer who writes their own JSON parser, HTTP client, and date library because 'dependencies are bloat' - meanwhile their codebase is now 50k lines of poorly-tested, undocumented code that does what lodash accomplished in 3kb. The irony? They'll spend six months debugging their custom implementation of something that's been battle-tested by millions of developers, all while claiming they're 'keeping things simple.' The rest of the team just wants to ship features, but sure, let's reinvent TCP/IP while we're at it

  5. Anonymous

    Hand-rolled everything from scratch? Congrats, your artisanal monolith scales to exactly one maintainer

  6. Anonymous

    Zero deps is cute - wake me when your hand‑rolled TLS, JSON, and ORM pass the PCI audit

  7. Anonymous

    Hand‑rolling “just a tiny HTTP client” is how you accidentally become an SSL library maintainer and miss the quarter’s OKRs

  8. @boymoderologist 5y

    Is C compiler a kind of library?

    1. @prirai 5y

      Stdlib is

  9. @TERASKULL 5y

    Embedded system developers care. The firmware should be dependency-free as much as possible.

  10. Deleted Account 5y

    Ok, and how is he going to take square root from number in c++?

    1. @exhausted 5y

      you can always brute-force

    2. @Stepan_Poznyak 5y

      With integer thats really easy

    3. @Stepan_Poznyak 5y

      unsigned int SquareRoot( unsigned int Num ) { unsigned int x; x = (Num / 0x3F + 0x3F) >> 1; x = (Num / x + x) >> 1; x = (Num / x + x) >> 1; x = (Num / x + x) >> 1; x = (Num / x + x) >> 1; x = (Num / x + x) >> 1; x = (Num / x + x) >> 1; return x; }

      1. @sylfn 5y

        you have forgot to put return x;

        1. @Stepan_Poznyak 5y

          Hah, yeah

        2. Deleted Account 5y

          It's not required

          1. @sylfn 5y

            in c++ it is required!

            1. Deleted Account 5y

              The code is valid C too, no?

              1. @sylfn 5y

                It seems as valid C code, but I don't know how C compilers handle case when in function there are no return statements

                1. Deleted Account 5y

                  it's UB but most compilers just return it

                  1. @sylfn 5y

                    if it is UB then it isn't valid code anymore

    4. @brbrmensch 5y

      binary search

      1. @DefDef 5y

        Non-binary search

    5. @sylfn 5y

      sqrt(x) = x * rsqrt(x), where rsqrt is taken from Quake sources

Use J and K for navigation