Skip to content
DevMeme
2855 of 7435
When you still ship SOAP/XML APIs, your coffin meme hits differently
API Post #3153, on May 22, 2021 in TG

When you still ship SOAP/XML APIs, your coffin meme hits differently

Why is this API meme funny?

Level 1: Missed the Boat

Imagine all your friends have the latest smartphones and they’re sending each other funny selfies and messages instantly. But one friend insists on using a giant old video camera to take pictures and then mails the physical photos to you. It takes days and the whole process is way more complicated than just tapping “send” on a phone. Everyone would look at that friend and think, “Wow, that’s really old-fashioned!” They might even joke, “Dude, join us in the 21st century or you’re gonna get left behind.”

This meme is joking in the same way, but about computer stuff. JSON is like the smartphone – it’s the quick, easy way everyone shares information now. SOAP/XML is like that giant old camera and mailing photos – it still works, but it’s clunky and from a different time. In the meme, no matter who you are (rich or poor), normally you’d get a regular coffin one day because that’s just life. But if you’re a developer who is still using the super old method (SOAP/XML) instead of the easy modern way (JSON), the meme pretends you won’t even get a normal coffin – they jokingly toss you off a boat! 😄 It’s an exaggerated, silly way to say “using the old way is so outdated, it’s almost criminal!”

So, the simple idea is: everyone should use the new easy way (JSON) to communicate data, and if you stubbornly use the old complicated way (SOAP/XML), people will teasingly act like you’re way, way behind – almost as if you completely missed the boat on what’s normal now.

Level 2: JSON Reigns Supreme

Let’s break down the meme and the tech references in a simpler way. The meme shows two plain wooden coffins labeled "RICH PEOPLE" and "POOR PEOPLE," illustrating that no matter how wealthy or not, everyone ends up in the same kind of coffin – a symbolic way to say death is equal for all. Then the third image throws a curveball: it’s a person on a boat dumping what looks like a wrapped-up body into the ocean, with the label "DEVS WHO STILL MAKE SOAP AND/OR XML APIs INSTEAD OF JSON." This implies that developers who continue to use SOAP/XML for APIs (instead of JSON) get a very different, and worse, fate than a normal coffin burial. It’s a cheeky, dark joke! The text is basically calling out those developers and joking that they deserve a “special” end (tossed to the sharks, apparently) because they are using what many consider outdated technology.

Now, why is using SOAP/XML for APIs treated like a sin in this meme? To understand, we need to know what these terms mean:

  • API – This stands for Application Programming Interface. In web development, an API usually means a set of rules or endpoints that allow different software systems to communicate over the web (for example, a client app can request data from a server through an API). Think of it as a menu at a restaurant: the menu (API) tells you what you can ask for, and the kitchen (server) will give you back something from that menu.

  • SOAP – This is an older style of web API. SOAP stands for Simple Object Access Protocol. Despite the word “Simple,” SOAP is known for being quite complicated! SOAP APIs use XML to format messages. A SOAP message is like an envelope containing a lot of extra XML markup to define exactly what the message is, what it contains, and how to process it. SOAP was popular in the early days of web services (late 90s and early 2000s) especially in enterprise environments. It came with formal definitions (WSDL files) that described the available operations and data types, kind of like a contract for the API. This made it very structured but also very heavyweight.

  • XML – This stands for eXtensible Markup Language. XML is a data format that uses tags (angled brackets like <Tag></Tag>) to define data. It’s somewhat similar to HTML in appearance (since HTML is a type of XML). For example, an XML snippet for a user might look like: <User><Name>Alice</Name><Email>[email protected]</Email></User>. XML is very flexible and was used a lot in the past for configuration files and data interchange. However, it tends to be verbose. Every piece of data is wrapped in tags, which means messages get long.

  • JSON – This stands for JavaScript Object Notation. JSON is a more modern data format (popularized in the mid-2000s) that’s much simpler and more compact than XML. It represents data as key-value pairs, arrays, and nested objects, using curly braces and brackets. For example, the same user data in JSON would be: { "name": "Alice", "email": "[email protected]" }. Notice no repetitive closing tags, just a clean structure. JSON became super popular because it’s easy for both humans and machines to read, and it’s native to JavaScript (which means web browsers can handle it easily). In fact, if you have a JavaScript object, converting it to JSON is as easy as JSON.stringify(object), and parsing JSON back into an object is JSON.parse(string).

  • REST – Often mentioned alongside JSON, REST stands for Representational State Transfer. It’s not a format or a technology, but a design principle or style for building APIs. A RESTful API typically uses straightforward URLs (endpoints) and standard HTTP methods (GET, POST, PUT, DELETE) to do operations on resources. For example, a RESTful approach to get user data might be a GET request to https://api.example.com/users/123, which would return the data for user with ID 123, usually in JSON format. REST is popular because it’s simple, stateless (each request stands on its own), and leverages web standards. JSON is often used as the data format for RESTful APIs due to its simplicity.

Now, the meme’s text calls out “Devs who still make SOAP and/or XML APIs instead of JSON.” In today’s programming world, JSON + REST is considered the standard way to create new web APIs. It’s what most developers learn and what most new systems use. On the other hand, SOAP/XML APIs are considered legacy. “Legacy” means old systems or technology that are still in use, usually because they still work and are critical for someone, but they are not modern and often not ideal by current standards. Many legacy systems exist in big corporations and government, which invested in those technologies years ago and can’t easily replace them overnight. If you’ve ever heard someone talk about “modernizing” or “refactoring” an old system, they often mean moving it from these legacy approaches (like SOAP) to newer approaches (like REST/JSON).

Here’s why developers prefer JSON (with REST) nowadays and might playfully “shame” SOAP/XML users:

  • Readability and Simplicity: JSON is very straightforward. If you print out JSON data, it looks like text you can skim. XML, while structured, has a lot of extra characters (brackets and tags) which can make it harder to visually parse. For a new developer, a JSON response is generally easier to understand at a glance than an XML response.
  • Less Overhead: A JSON API call usually contains just the data you care about. A SOAP XML call contains the data plus a lot of metadata (like the envelope and namespace information). This means more bytes are being sent over the network, which can make things slower, especially if you’re on a weak internet connection. In the meme’s context, using SOAP/XML is like carrying unnecessary baggage.
  • JavaScript Friendly: JSON was originally based on the syntax for JavaScript objects. If you’re writing a web front-end (in JavaScript) that talks to an API, getting JSON data is super handy – you can use it directly. If you get XML data, you need to parse it, often with additional libraries or code to extract the info you need. So for many web and mobile developers, dealing with JSON is just simpler.
  • Widely Supported and Understood: Almost every modern programming language has built-in support for JSON. The tools and frameworks new developers use (like React, Angular, Node.js, Python's Flask/Django, etc.) all speak JSON easily. SOAP, however, might require specific libraries or frameworks (for example, in Java you might use JAX-WS or in .NET you might use WCF). Many newer devs might not have even used those, whereas they likely have used fetch or an HTTP client to get JSON. So, a dev still creating SOAP APIs in 2021 is going against the grain of common knowledge and convenience.

Let’s visualize the difference with a short example. Suppose an API needs to let clients fetch a user’s name and email by user ID:

  • SOAP/XML Style: You might have a single endpoint (e.g. POST /UserService) and you send an XML message specifying which operation you want, like <GetUserDetails> with a <UserId>. The response would also be XML, containing the data inside lots of tags. It might look roughly like this in XML:

    <GetUserDetailsResponse>
      <User>
        <Name>Alice</Name>
        <Email>[email protected]</Email>
      </User>
    </GetUserDetailsResponse>
    

    But around this would be additional SOAP envelope tags, etc., based on the SOAP protocol format. You’d likely rely on a library to construct that request and to parse that response.

  • REST/JSON Style: You’d have a resource URL like /users/123. The client performs a GET request to that URL. The server responds with JSON containing the user info:

    {
      "name": "Alice",
      "email": "[email protected]"
    }
    

    The above JSON is exactly what the client gets in the body of the HTTP response. The client (if it’s JavaScript in a browser) can directly use this JSON data as a JavaScript object after parsing.

Hopefully, you can see how the JSON version is more minimal – it’s just the data in a structured way, without a bunch of extra markings. For a human reading, it’s cleaner. For a computer, it’s less to process.

Now back to the meme: Why the coffin and boat imagery? In developer humor, we often exaggerate to make a point. Pretty much everyone in the field agrees that continuing to create new SOAP/XML APIs today is a bad practice (unless you have a very specific reason). It’s deprecated in spirit – that is, it’s old and there are better ways now. So the community might jokingly say that writing a new SOAP API in 2021 is a “crime” against tech. The meme takes that idea to an extreme by saying those developers don’t just die like everyone else (rich or poor), but get an even harsher end – metaphorically thrown into the sea. The third panel “hits differently” for anyone who actually still works with SOAP because they might feel personally targeted (though it’s all in good fun).

This meme is also referencing a common template where the first parts set up a general rule and the last part shows an exception or twist. Here the rule is “everyone ends up the same when they die” (rich and poor both have coffins), and the twist is “except developers who won’t move on from SOAP – they get something worse.” It’s poking fun at stubbornness in tech. Technologies change fast, and developers are expected to keep up. If someone is stubbornly using an outdated method (like SOAP/XML), others will likely tease them, saying they’re stuck in the past. The truth is some devs have to use SOAP because of legacy projects – but memes will meme, and this one jokes that those devs are basically the walking dead of the programming world. 👻

In summary, JSON is the modern winner in API data formats, and SOAP/XML is considered a relic in most cases. The meme dramatizes this sentiment: everyone eventually “kicks the bucket,” but if you’re doing SOAP, the community jokingly wants to throw you overboard sooner! Don’t worry, no real developers were harmed in the making of this meme – it’s all playful banter. But it does remind new developers that learning JSON/REST is essential today, while SOAP/XML is something you’d only encounter when dealing with older systems (and you might grumble about it when you do). Tech humor like this keeps us laughing about the speedy evolution of our industry, where today’s best practice can become tomorrow’s punchline. 😉

Level 3: REST in Peace, SOAP

At a high level, this meme humorously implies that no matter who you are (rich or poor, as shown by identical coffins), everyone meets the same fate – except developers who still insist on using SOAP/XML for APIs. Those folks, the meme jokes, get a special punishment: a one-way trip overboard instead of a proper coffin! This dark humor exaggerates modern developer sentiment: choosing an outdated API style like SOAP with XML (a legacy approach) over today's de-facto standard JSON/REST is seen as such a tech faux pas that it's beyond the normal fate. In short, if you still ship SOAP/XML APIs, you're treated as an outlier relic – metaphorically “dumped at sea” by the community. 🤣

From a seasoned developer’s perspective, the joke lands because it taps into the API evolution we've lived through. In the early 2000s, SOAP (Simple Object Access Protocol) was the enterprise king for web services. It uses XML payloads and came with a whole soap opera of standards (WS-* stack for security, transactions, etc.). Calling it “Simple” is deceptive – many of us remember wrestling with auto-generated WSDL files (Web Services Description Language) and complex XML schemas. It often felt like performing a ritual just to get two systems to talk. For example, making a simple request to get a user’s name might involve a verbose XML envelope:

POST /UserService HTTP/1.1  
Host: api.example.com  
Content-Type: text/xml; charset=utf-8  

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
  <soap:Body>
    <GetUserDetails xmlns="http://example.com/api">
      <UserId>123</UserId>
    </GetUserDetails>
  </soap:Body>
</soap:Envelope>

Meanwhile, over the last decade, JSON (JavaScript Object Notation) plus RESTful design has taken over as the favorite way to build APIs. A similar operation in a JSON-based REST API would be a simple HTTP GET returning a concise response:

GET /users/123 HTTP/1.1  
Host: api.example.com  
Accept: application/json  

HTTP/1.1 200 OK  
Content-Type: application/json  

{
  "userId": 123,
  "name": "Alice",
  "email": "[email protected]"
}

Notice the stark contrast: JSON is clean and lightweight, whereas SOAP’s XML is wrapped in layers of <soap:Envelope> and <Body> tags. Modern engineering culture strongly favors this lightweight JSON approach for a bunch of good reasons:

  • Bandwidth and Speed: JSON payloads are usually smaller than equivalent XML, making data transfer faster. Less boilerplate means quicker parsing and lower latency. In high-load systems, shaving off bytes and processing time matters.
  • Ease of Use: JSON maps directly to data structures in many languages (especially in JavaScript, JSON.parse() is your friend). No need for complex XML DOM parsing or XSLT transformations in most cases. It’s straightforward to serialize/deserialize JSON into objects.
  • HTTP Alignment: RESTful JSON APIs typically use plain HTTP methods (GET, POST, etc.) and status codes (200 OK, 404 Not Found) in a logical way. SOAP, on the other hand, often tunnels everything through HTTP POST with an XML payload, somewhat ignoring HTTP’s built-in semantics. For instance, errors come back as XML fault messages rather than using HTTP error codes cleanly, which can feel like a leaky abstraction.
  • Tooling and Developer Experience: Debugging JSON with something like Postman or curl is easy – you just read the response. Debugging SOAP? You might need a specialized SOAP client or library, and wading through WSDLs can be painful. Memory of generating client code from a WSDL (and regenerating it every time the service changes) still haunts many senior devs. It’s the kind of thing that can turn a simple integration into a weekend-long bug hunt.
  • Ecosystem and Popularity: The rise of mobile apps and single-page web apps (SPAs) in the 2010s cemented JSON’s dominance – it’s native to JavaScript and became the lingua franca of web APIs. New standards like GraphQL even build on JSON, while SOAP/XML feels stuck in the Enterprise Java/.NET world of the past.

Now, the meme’s dramatic framing reflects how strongly today’s developers discourage SOAP/XML for new services. It’s an anti-pattern mockery: using SOAP when you could use JSON is seen as clinging to an outdated, over-complicated solution. It’s like someone insisting on using a 1990s dial-up modem in the age of fiber internet – sure, it can still technically work, but everyone else will look at you like you’re crazy. The text overlay “DEVS WHO STILL MAKE SOAP AND/OR XML APIS INSTEAD OF JSON” calls out those practitioners directly. If you’re one of them, a meme about coffins might “hit differently” (feel uncomfortably personal) because it’s basically saying “buddy, this approach is dead, and you’re going down with it!” 😅

The coffin meme template in the first two panels conveys that death is the great equalizer (rich or poor, you end up the same). This setup lulls us into that universal truth, making the third panel’s twist even funnier: “But if you’re a dev still doing SOAP/XML… nope, you get something worse than everyone else.” That blurry boat scene with a body being unceremoniously dumped is a deliberately over-the-top visual. It evokes a Mafia or pirate punishment ("walk the plank, ye olde SOAP lover!" 🏴‍☠️) – a fate presumably “worse than death” in this comedic context.

Why such dramatic flair? It’s cathartic humor for developers. Many of us have suffered through legacy systems and technical debt involving SOAP APIs that refuse to die. We crack jokes like this instead of crying. The image of tossing the “SOAP API dev” overboard symbolizes purging the old ways so the rest of the crew (the modern dev team) can sail on with clean, RESTful seas ahead. It’s obviously exaggerated – in reality, no one is getting thrown out for using XML – but the extreme contrast drives home just how passé SOAP feels today.

Historically, we got here because technology evolved and we learned from experience. SOAP emerged in an era when industries wanted formal contracts and lots of WS-* specifications to ensure reliability, security, and consistency across different vendors. It was a solution to a real problem: how do you get, say, a Java service on WebLogic and a .NET client on Windows to exchange complex data reliably? SOAP’s answer was an XML-based protocol independent of language, with a rich accompanying toolkit. But that power and flexibility came with massive complexity. The joke among veteran engineers is that SOAP is anything but simple – you often had to configure a stack of XML namespaces and standards just to say “Hello World”.

Then along came REST (Roy Fielding’s 2000 dissertation introduced the concept) which, combined with JSON’s simplicity, offered an alternative: use the basic principles of the web (URLs and HTTP verbs) and a lightweight data format to build APIs that are easier to consume, especially by browsers and JavaScript. As AJAX (Asynchronous JavaScript and XML) became popular for dynamic web pages, developers quickly realized JSON was far easier to work with in JavaScript than XML (no need to traverse DOM trees, just eval or parse it into an object). JSON was essentially built into the browser environment via JavaScript. This snowballed – by the late 2000s, JSON was replacing XML in web APIs, and by the 2010s, “RESTful JSON API” became the gold standard for most public and internal services.

So, by 2021 (when this meme was posted), if you start a brand new API and choose SOAP/XML, most of your peers will look at you like you have three heads. There are of course legitimate reasons some projects or organizations still use SOAP: maybe they have legacy clients dependent on it, or they need features like SOAP’s built-in formal schema and don’t mind the weight. Financial institutions or government agencies, for example, often have entrenched SOAP services (some poor dev out there is maintaining a Gov’t SOAP API and probably feeling personally attacked by this meme). For those devs, jokes like this are a tongue-in-cheek acknowledgement of their predicament: “We know you’re stuck with this dinosaur tech – hang in there!” But the overall industry trend is clear: JSON/REST is viewed as modern best practice, and SOAP/XML is viewed as an outdated last resort.

The meme packages all that shared history and preference into a quick visual punchline. Death comes for us all, except if you use SOAP, death comes a bit more swiftly and unmercifully in meme-land. It’s developer culture’s way of saying “please, let XML APIs die out peacefully – or else!” So when we see those coffins and the unfortunate SOAP-dev being chucked into the waves, we can’t help but chuckle and nod knowingly. It’s funny because it’s a hyperbole rooted in truth: JSON has essentially killed off SOAP for most use-cases, and anyone still clinging on is going to catch some friendly flak for it. In the end, “REST in Peace, SOAP” is both a tech pun and the collective wish of developers who have endured enough XML for a lifetime.

Description

The meme has three stacked images. The first two show identical plain wooden coffins photographed from above; white block text labels the top coffin "RICH PEOPLE" and the second "POOR PEOPLE," implying death is the great equalizer. The third frame is a blurry, zoom-lens shot of someone on a small motorboat rolling a wrapped body over the side into the ocean; overlaid text reads "DEVS WHO STILL MAKE SOAP AND/OR XML APIS INSTEAD OF JSON." The joke contrasts universal mortality with the exaggerated fate of developers clinging to legacy SOAP/XML interfaces instead of modern JSON-based REST designs, poking fun at outdated integration choices and highlighting how strongly today’s engineering culture favors lightweight JSON APIs

Comments

9
Anonymous ★ Top Pick We don’t fire teammates who still propose new SOAP endpoints - we just wrap them in a WSDL, push them onto the ESB, and let the next generation discover the body during post-mortems
  1. Anonymous ★ Top Pick

    We don’t fire teammates who still propose new SOAP endpoints - we just wrap them in a WSDL, push them onto the ESB, and let the next generation discover the body during post-mortems

  2. Anonymous

    The real tragedy isn't choosing SOAP over REST - it's explaining to the new hire why the 15-year-old enterprise integration still requires a 500-line WSDL file and three XML namespaces just to return a boolean

  3. Anonymous

    The real tragedy isn't the SOAP itself - it's explaining to your microservices-native junior dev why the enterprise client insists on a 47-layer XML envelope with WS-Security headers just to fetch a user's email address, when a simple GET request would suffice. At least the coffins are REST-ful

  4. Anonymous

    The only thing heavier than a coffin is the XML payload from a SOAP fault with WS-Security enabled

  5. Anonymous

    Rich devs REST in JSON peace; poor ones buried alive in SOAP XML bloat

  6. Anonymous

    Our REST modernization replaced a WSDL with OpenAPI, dropped XML, then reimplemented WS-* as custom headers - basically SOAP that renders in dark mode

  7. @viktorrozenko 5y

    Don't give 'em ideas, man...

  8. Deleted Account 5y

    Totally agree 😊 Implemented integration from Salesforce to one service with soap api and, moreover, WITHOUT WSDL. So,had to implement parsing of really giant xmls(up to 15000 of nodes).

  9. @nameToString 5y

    That must have been painful

Use J and K for navigation