Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Essential Programming Jokes

Essential Programming Jokes

Programming jokes are underrated. They encode essential knowledge that every programmer should know, carry dark warnings from the past, and give us the opportunity to share our pain. And some of them are even funny. When we learn and share classic jokes, we connect with people through shared experience, or discover an opportunity to teach them something new. Let’s level up our skills, and have some fun.

Attendees will learn what programming jokes are for, how to tell them, and what they can teach you. You’ll also learn when to ignore the conventional advice never to explain a joke, and when having to explain a programming joke is a feature, not a bug. Actionable takeaways focus on best practices for joke deployment and, of course, you’ll learn a new joke or two.

Avatar for Peter Hilton

Peter Hilton

November 04, 2025
Tweet

More Decks by Peter Hilton

Other Decks in Technology

Transcript

  1. Marit van Dijk Developer advocate https://maritvandijk.com/ 🦋 @maritvandijk.bsky.social 🐦 @MaritvanDijk77

    Essential programming jokes Peter Hilton Product manager https://hilton.org.uk/blog/ 🦋 @hilton.org.uk Java Champion
  2. 2

  3. The two states of programming: 1. My code doesn’t work

    and I don’t know why 2. My code works and I don’t know why 3 🔄 // All programmers experience this
  4. The software development process: i can’t fi x this *crisis

    of con fi dence* *questions career* *questions life* oh it was a typo, cool 4 😅 // Programmers also experience this I Am Devloper • https://twitter.com/iamdevloper/status/694848050796212224 (2016)
  5. 5 ⌨ ⌨ // Some devs use fancy keyboards. //

    Please don’t actually do this! Based on https://x.com/vyrotek/status/1969866162801631590 (2025) Why do developers use split keyboards? Because it makes it easier to bang your head against the desk.
  6. How many programmers does it take to change a lightbulb?

    None. It’s a hardware problem. 8 💡 // now it’s someone else’s problem
  7. 9 💡💡 // This is about a sub- group of

    developers // Hard refresh Corneil du Plessis • https://x.com/corneil/status/1554092260156899328 (2023) How many web developers does it take to change a light bulb? One.
 They replace the light bulb. Clear browser cache.
 Replace the light bulb again. Ctrl+F5.
 Replace the light bulb again.
  8. There are 10 kinds of people in the world. Those

    who understand binary, and those who don’t. 10 🔢 // Like saying that ‘There are two kinds of people…’, but with ‘two’ written as the binary number ’10’.
  9. 11

  10. There are two kinds of people in the world. Those

    who can extrapolate from incomplete data, 14 🧑🤝🧑 // Sometimes it’s more funny if you have to work for it Alice Lith • https://x.com/Lith_Witch/status/3357893220 (2009)
  11. There are 10 kinds of people in the world. Those

    who understand binary, those who don’t and those who weren’t expecting a base 3 joke 15 3⃣ // 10 (base-2) = 2 (decimal) // 10 (base-3) = 3 (decimal) Anthony Steele • https://twitter.com/AnthonySteele/status/184250877392072705 (2012)
  12. 17 2⃣ // Sounds serious, but naming is a surprise

    because it doesn’t sound like computer science. Phil Karlton There are only two hard things in computer science: cache invalidation and naming things.
  13. There are two hard problems in computer science: cache invalidation,

    naming things, and o ff -by-one errors 18 2⃣ 2⃣ // Clever, because the third item is itself an o ff -by-one error Leon Bambrick • https://twitter.com/secretGeek/status/7269997868 (2010)
  14. There are only two hard problems in distributed systems: 2.

    Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery 19 2⃣ 2⃣ 2⃣ // Distributed systems problems: // message order // duplicate messages Mathias Verraes • https://twitter.com/mathiasverraes/status/632260618599403520 (2015)
  15. There’s two hard problems in computer science: 0. Cache invalidation

    1. Naming things 7. Asynchronous callbacks 2. O ff -by-one errors 2. Race conditions 20 2⃣ 2⃣ 2⃣ 2⃣ // Callback executed ‘early’ // Execution timing Cheradenine Zakalwe • https://plasmatrap.com/notes/9jn068v6rp8h0i8l (2023)
  16. Interviewer: if you can explain what deadlocks are, I’ll hire

    you. Me: hire me, and I’ll explain deadlocks. 22 🔒 // Shared experience: job interviews // Self-reference! Now the interview has a deadlock. I Am Devloper • https://twitter.com/iamdevloper/status/1539363132593819648 (2022)
  17. A QA engineer walks into a bar. Orders a beer.

    Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders −1 beers. Orders a sfdeljknesv. 24 🦎 // Creative/surprising like all good exploratory testing Bill Sempf • https://www.sempf.net/post/On-Testing1 (2014)
  18. CREATE PROCEDURE [dbo].[GetNextADUserName] -- Add the parameters for the stored

    procedure here @FirstName as VARCHAR(7), @LastName as VARCHAR(7), @output VARCHAR(8) OUTPUT AS BEGIN 25 Bill Sempf • https://www.sempf.net/post/On-Testing1
  19. QA engineer walks into a bar, repeats all the same

    beer requests from that other tweet, fi nds that two of them are failing. Again. 26 🦎🦎 // Flaky tests are frustrating Dan Curtis Johnson • https://x.com/dcurtisj/status/514917023785029632 (2014)
  20. QA engineer walks into a bar, then the Pentester joins

    him. Orders <script>alert('beer')</script> Orders '); drop table orders; --Orders AAAAAAAAAAAAAAAAAAAAAAA 27 🍺 Parisa Tabriz • https://x.com/laparisa/status/514800716490096640 (2024) // Script injection // SQL injection
  21. First real customer walks in and asks where the bathroom

    is. The bar bursts into fl ames, killing everyone. 28 🔥 // Don’t forget about actual usage Brenan Keller • https://x.com/brenankeller/status/1068615953989087232 (2018)
  22. Why do developers prefer dark mode? Because light attracts bugs

    🐛 // In-group behaviour 30 🔦 Alex Pickering • https://x.com/pickeringacw/status/1228312772661960705 (2020)
  23. There are no bugs, just surprise features 31 🐛 Nicholas

    Smith • https://twitter.com/nicholassmith/status/1872576626 (2009) // Also known as undocumented features
  24. You have a problem so you decide to solve it

    using regular expressions. Now you have two problems. 33 🔤 // Regular expression syntax is as hard as the original problem. @prozakLord • https://x.com/prozakLord/status/790422168 (2008)
  25. The plural of regex is regrets 34 🔤 🔤 Steeeve

    • https://x.com/ifosteve/status/1190348262500421634 (2019) // Now you have to maintain the regex!
  26. She’s a 10 but Excel thinks she’s October. 36 📆

    // Excel infers types, by default (and gets it wrong). sophie • https://x.com/netcapgirl/status/1569355763671261185 (2022)
  27. Optimist: The glass is 1/2 full. Pessimist: The glass is

    1/2 empty. Excel: The glass is January 2nd. 37 🥃 theo • https://x.com/tibudiyanto/status/1455397038284173313 (2021) // Excel infers types, by default (and gets it wrong).
  28. If MS-DOS was so good, where is MS-TRES? 38 🇪🇸

    // Microsoft Disk Operating System (MS-DOS); // dos and tres are the Spanish words for two and three Ashi Windsor • https://twitter.com/NotHayashi/status/1327330775163920387 (2020)
  29. Dear whoever stole my copy of Microsoft O ff ice,

    I will track you down. You have my Word. 39 📄 James Martin • https://twitter.com/Pundamentalism/status/201741381025271809 (2012) // Elaborate set up for the pun
  30. 11111111: ‘Hey, are you feeling okay?’ 11111011: ‘I’m feeling a

    bit o ff .’ 41 0⃣ // Binary storage uses a separate bit for each digit in a binary number. // a bit o f means slightly unwell. Cassidy @cassidoo
  31. The best thing about a Boolean is even if you

    are wrong, you are only o ff by a bit 42 1⃣ Paul Kalupnieks • https://twitter.com/kalupa/status/590837482 (2008) // a bit means a little
  32. My dog ate my programming homework. It took him a

    couple of bytes. 43 🐶 // 1 byte = 8 bits @Keepingitcreel • https://x.com/Keepingitcreel/status/1116302014928101378 (2019)
  33. Just started a band called 1023MB. We haven’t done a

    gig yet. 44 🎸 // 1GB = 1024MB // gig is slang for both gigabyte, and band performance Nick Murphy • https://twitter.com/NickEVM/status/63205139959390209 (2011)
  34. The doctor looked at the computer and said, ‘I’m sorry,

    it’s terminal.’ 45 🧑⚕ Jen Gentleman • https://twitter.com/JenMs ft /status/1558470366112010241 (2022) // Pun on computer terminal vs terminal illness
  35. I had an argument with a coworker about what variable

    names we should use in for loops i won 46 🎢 // In legacy code for loops declare a loop variable, typically called i, j, k Lou Creemers • https://twitter.com/lovelacecoding/status/1526975985572356100 (2022)
  36. Some people say Unicode is too confusing and prone to

    abuse, but I say diacritics, combining marks and zero-width joiners build character 47 🔣 // Pun on building a Unicode character (a → ¨ → ä), and a person’s character. @xsphi • https://twitter.com/xsphi/status/1537951483508838401 (2022)
  37. SMS message length & character encoding ‘If you include non-GSM-7

    characters, such as Chinese script or emoji, in SMS messages, those messages have to be sent using the UCS-2 encoding. Messages containing one or more UCS-2 characters can contain up to 70 characters in a single, non-segmented message. UCS-2 messages of more than 70 characters will be split into 67-character segments.’ 48 https://www.twilio.com/docs/glossary/what-sms-character-limit
  38. Python: programming the way Guido indented it 50 🐍 //

    Play on as God intended + // pun on intended vs indented + // Python’s signi fi cant indentation instead of using { braces }
  39. Why do Java programmers wear glasses? Because they don’t C#

    52 🎼 // ‘C#’ sounds like ‘see sharp’ @cSquirrel • https://x.com/cSquirrel/status/71276726411460608 (2011) ̅
  40. FAQ About Visual C# .NET 2002 ‘What is the symbol

    in the name C#? ‘The # is not the hash symbol as most people believe. ‘It is supposed to be the musical sharp symbol (̅). ‘However, the sharp symbol is not present on the standard keyboard, so it’s easier to use the hash (#) symbol.’ 53
  41. functions are fun in kotlin :) 54 🎉 // Kotlin

    functions use the fun keyword @letronje • https://x.com/letronje/status/760444749329240064 (2016)
  42. Which programming language do pirates use to get into machine

    learning? RRRRRRRRR 55 🏴☠ // The R language is used for statistics and machine learning. Lou Creemers • https://twitter.com/lovelacecoding/status/1541148527061094400 (2022)
  43. 56 🐌 // Java before it used the JIT (just-in-time)

    compiler, and more improvements Knock knock! Who’s there? *long pause* Java!
  44. The hardest problem in computer science is not being an

    opinionated jerk about everything. 57 Nick Takayama • https://twitter.com/ntakayama/status/449048098665287681 (2014) 🫂
  45. Joke deployment targets 60 💬 team chat 📆 meetings 📄

    documentation 🎬 presentations Start with a #puns channel 😂 Timing matters! rtr Tech docs have hardly any jokes ☹ Jokes on slides are risky
  46. Deployment best practices 1. Deploy responsibly 2. Explain jokes to

    new people 3. Don’t deploy jokes in sensitive situations 4. Avoid negative jokes 5. Don’t be a bully 61
  47. Takeaways 1. Jokes serve a purpose 2. Explaining jokes can

    be Good Actually 3. Learn what’s appropriate 4. Don’t be an asshole 5. Work doesn’t have to be boring – nor do you 62
  48. 63

  49. There’s two hard problems in computer science: we only have

    one joke, and it’s not funny 64 Phillip Bowden • https://twitter.com/pbowden/status/468855097879830528 (2014) 😶
  50. I’ve got a software joke. The next version will be

    funny. 65 🔄 @B12Simon • https://twitter.com/B12Simon/status/1332356147341381634 (2020)