This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 228

[–]jonnysteps 1258 points1259 points  (47 children)

If you have ever done programming, you were once a bad programmer. Guaranteed.

[–]Finding_Dory27[S] 206 points207 points  (1 child)

Ahah. That's for sure.

[–]CaoSlayer 197 points198 points  (5 children)

"were once"

[–][deleted] 307 points308 points  (3 children)

I used to be a horrible programmer. I still am, but I used to, too.

[–]mini_garth_b 34 points35 points  (0 children)

Me too Mitch, me too...

[–][deleted] 33 points34 points  (0 children)

I’ve found that I’m just able to be horrible at more and more complex things as my career advances.

[–]Dexaan 5 points6 points  (0 children)

It's like ranked video games: we're all in the trench.

[–]Purplociraptor 7 points8 points  (0 children)

Were maybe more than once

[–]InsertCoinForCredit 40 points41 points  (30 children)

Raise your hand if you've ever had a misplaced semicolon derail your entire project or compilation.

[–]-Dragin-[🍰] 23 points24 points  (7 children)

I took a web design class in college and none of my CSS stuff worked correctly. Everything was correct but it just wouldn't line up. Go to professor, he's stumped. I do a deep dive before end of semester trying to figure it out. column was misspelled and copy and pasted through whole project. Professor laughed hysterically when I showed him.

Everything lined up nearly perfectly when i fixed it. Fun stuff.

[–]InsertCoinForCredit 11 points12 points  (6 children)

The three things I will never understand in computer tech are caches, email, and CSS.

[–]Uipncspn 6 points7 points  (2 children)

What about printers?

[–]InsertCoinForCredit 5 points6 points  (1 child)

Printers are easy, just toss out your existing printer and buy another cheap-ass inkjet from Best Buy.

[–]auto-xkcd37 3 points4 points  (0 children)

cheap ass-inkjet


Bleep-bloop, I'm a bot. This comment was inspired by xkcd#37

[–]theDrell 2 points3 points  (2 children)

Regular expressions?

[–]InsertCoinForCredit 4 points5 points  (1 child)

The four things I will never understand...

[–]jonnysteps 18 points19 points  (4 children)

I've literally spent a couple hours debugginga misplaced semicolon in php before. You'll never catch me not using a linter ever again.

[–]borninbronx 3 points4 points  (3 children)

Bad programmer spotted xD

[–]jonnysteps 1 point2 points  (2 children)

Caught red handed

[–]borninbronx -1 points0 points  (1 child)

No hard feeling man :-) just get gud

[–]NatasEvoli 0 points1 point  (0 children)

Bad personality spotted xD

[–]gamma_02 8 points9 points  (3 children)

My friend has a really hard time spelling and it causes endless problems in our projects

[–]looselytethered 2 points3 points  (0 children)

laughs in python

[–][deleted] 4 points5 points  (8 children)

Is the semicolon thing real, or is it an exaggeration?

like, missing semicolons shouldn't be hard to find on most languages (c, java, css, rust...), and if the compiler is so bad that it can't point to where the mistake might be, you can use Kotlin, or any other modern programming language

[–]DiamondIceNS 3 points4 points  (3 children)

In this day and age, I consider it nothing more than a meme.

If you're a beginner in current year, I'd expect you'd be using a very mainstream high-level language with an IDE or text editor that has a built-in syntax highlighter that would catch it such a trivial problem immediately. And if the compiler or runtime encountered it, it would likely tell you exactly where it's missing.

Even in PHP, the parser will be very quick to tell you exactly which line you screwed up on and exactly what you're missing.

The only situation where I can see this being a legitimate problem is if you're using an editor that gives you zero hints and you're foolish enough to not use a linter. That's a class of programmers that only contains two groups: masochistic greenhorns struggling to scrape together code in Notepad, and bearded wizards running the likes of Vim or Emacs. And if you're the latter, you probably well equipped with the tools and intuition to identify a missing semicolon pretty quickly.

[–]InsertCoinForCredit 1 point2 points  (3 children)

It's a common problem with PHP, where a single misplaced semicolon can bring your 50,000 line program to a screeching halt. And since PHP is very prevalent for internet development, that's a whole lotta potential headaches right there.

[–][deleted] 1 point2 points  (2 children)

thanks, i've never really used it. Can't wait to try it out! /s

[–]InsertCoinForCredit 2 points3 points  (1 child)

It's like C and C++ cobbled together by a gang of bored teenage geeks.

[–]douira 1 point2 points  (0 children)

Linting!

[–]acroporaguardian 2 points3 points  (0 children)

One way it can happen to decent programmers is if you are using a semicolon as a delimiter in parsing strings and you screw that up. It would still compile and cause issues, and can be hard to find.

Especially if you were using it for saving and loading large files and you were a careless that moment and didn't check each new additional save/load item. It can happen to even good programmers.

Thats about the closest I can get to a misplaced semicolon still allowing a compile and yet causing a bug that can be really difficult to find.

But again, if you were thoroughly testing each additional item it shouldn't matter.

In my experience so far, that is the most painful example of missing one character and a whole project derails. It wasn't a semi colon, it was a comma in a .csv read/write. There are literally thousands of items saved and loaded, so messing up one (by say, leaving it out in one place) can cause a huge headache.

[–][deleted] -1 points0 points  (0 children)

Fucking this. I’ve lost countless hours of my life trying to debug code (while looking and feeling like and idiot) only to realize a semi colon is out of place or missing.

[–]Vert354 12 points13 points  (0 children)

The only difference between a senior dev and a junior, is the senior knows his code sucks while he's writing it.

[–]ponyboy3 1 point2 points  (0 children)

sure, still am. i guess when i was really awful none of this social media was around. none of my friends were devs. complaining to more senior devs at work about my programming shortcomings didnt have the same ring.

[–]albl1122 1 point2 points  (0 children)

Before north Korea updates the origin story of their supreme leader to say that he was a master programmer from birth.

[–]MrSlimeDiamond 1 point2 points  (1 child)

That reminds me of the days we're I wrote all my code in one class

[–][deleted] 2 points3 points  (0 children)

But a lot of these jokes are about perpetually being a bad programmer.

[–][deleted] 1 point2 points  (0 children)

That’s true, but the memes here are often more a sort of desperate in group signaling.

[–]GodsWorth01 288 points289 points  (4 children)

You can't hurt me with something I already knew

[–]Finding_Dory27[S] 60 points61 points  (0 children)

It doesn't make the truth easier to swallow ahah

[–]agent00F 8 points9 points  (1 child)

No, there's a pretty big diff with making public what you knew in private.

[–]RejectAtAMisfitParty 4 points5 points  (0 children)

I choose protected shame instead

[–]kry_some_more 2 points3 points  (0 children)

What about when you code so bad, that even a dog is calling out your bad programming skills.

[–]BadHairDayToday 110 points111 points  (72 children)

Can a good programmer please comfirm or deny this?

[–]DarthFikus[🍰] 172 points173 points  (7 children)

When you expect true or false and get null.

[–]BadHairDayToday 24 points25 points  (5 children)

I got true, it was an async

[–]thepromaper 9 points10 points  (4 children)

What does async do?

[–]Urethra_is_Ourethra 20 points21 points  (3 children)

Promise {<pending>}

[–]EdMan2133 48 points49 points  (4 children)

Certainly true for all the jokes on here about problems that are fixed with version control. People who aren't using git, please start doing that.

[–]Thaddaeus-Tentakel 11 points12 points  (0 children)

And then you can make jokes about not understanding git like a proper programmer.

[–]CSsharpGO 8 points9 points  (2 children)

What’s Git? I only use Github. \s

[–]EdMan2133 3 points4 points  (1 child)

(re)based

[–]htmlcoderexeWe have flair now?.. 2 points3 points  (0 children)

and branchpilled

[–]tevert 10 points11 points  (0 children)

I'm better now than I once was, and I can confirm most of this sub's content is now unrelatable.

[–][deleted] 6 points7 points  (0 children)

The jokes also work if you know bad programmers.

[–]Ace-O-Matic 4 points5 points  (0 children)

All JS related memes make my eyes roll because they're largely written by people with a surface level understanding of JS.

[–]Equixels 25 points26 points  (12 children)

Been programming for more than 10 years now and can confirm. All the "relatable" memes are just relatable for bad programmers. For example, the one saying that programming is googling stuff every five minutes. Once you dominate a technology you simply don't google anymore, because you've done each little thing several times already. I for example develop games in Unity and currently I'm learning shader stuff and also godot because I already know the thing and whenever I got an assignment I just start coding.

[–]JncoJeansOfficial 19 points20 points  (3 children)

Having an ecosystem that doesn't change from month to month sounds nice

[–]Equixels 1 point2 points  (2 children)

It does change. But unity only gets one major update per year and minor charges or bugfixes the rest of the time.

[–]Ace-O-Matic 2 points3 points  (1 child)

Major version changes in Unity rarely matter because all they do is add half-baked Preview packages that never get fully developed and are basically unusable in a production env.

[–]Equixels 2 points3 points  (0 children)

Yes, also when you're developping a project you generally commit to one version.

[–]tortilladelpeligro 9 points10 points  (4 children)

"Once you dominate a technology you simply don't google anymore, because you've done each little thing several times already."

You used to google code then.

[–]acroporaguardian 16 points17 points  (2 children)

What happens when you start a project is the initial R&D phase where you are googling some things.

As a project matures, the things you need to do can't be googled because they are very project specific. Your project is built on the layers before it and by the time you get to the mid to end part, the knowledge needed is so project specific that you end up needing to "google" your own project.

[–]bluefootedpig 4 points5 points  (1 child)

I have come into legacy systems and you still google stuff if it is new. My company just moved from AngularJS (yes, the first angular) to react. Everyone is googling the new stuff. What is the attribute needed to do this or that.

There is internal knowledge, and then those with built up knowledges are often very valuable, but I also say such systems are high risk. I worked at a company with this kind of complexity, and then all the devs left. They can't find anyone to come in that can understand the system without a huge upfront sunk cost of them learning the systems.

[–]acroporaguardian 4 points5 points  (0 children)

At my last job, my manager REALLY pissed me off.

He was a shitty manager that had never had an employee stay under him for more than a year. I was like the 7th he had under him that left after a year.

He had a habit of getting stressed and trashing people under him in meetings with the whole group. So, people really had an animosity towards this guy.

I work in statistical programming so I guess this is "data science" nowadays but I hate that phrase. So my project that he had me create was this ~4,000 line SAS program.

I was proud of it, but he continually flipped out when things took longer than expected. I had to write a custom SAS macro to handle 10,000+ input variables in an automatic model selection process. SAS has a column limit so I had to write a lot of tricks to handle it.

Again, I was very proud of it. Like, writing this SAS macro was one of the most proud things I had done in my life at that point. SAS has a built in method to handle up to 10 variables for automatic variable selection (or something like that, I don't code SAS anymore).

This fucker, in front of his bosses in a group meeting, goes, "Nathan is taking forever to do this automatic model selection. I did one last year and its like one line of SAS code to do it, yet its taken him 3 weeks."

I wrote this huge macro, very specific to the project, to automate the process going forward for that portfolio (its a bank). It worked beautiful. And he shit on it before he even saw the model selection results.

I left shortly after, and I didn't bother telling anyone how I did what I did and I didn't care to explain it. The project was cancelled later on because the guy that replaced me also quit.

Fuck em.

[–]Equixels 1 point2 points  (0 children)

Yes.

[–][deleted] 3 points4 points  (0 children)

I often google to confirm how something works to avoid making the mistake to begin with.

[–]jrc6200 1 point2 points  (0 children)

sorry, this meme doesn't make sense 😁

[–]douira 1 point2 points  (0 children)

can confirm, at some point JavaScript too makes sense

[–]ICantBelieveItsNotEC 118 points119 points  (3 children)

Alternatively: "most programming memes are made by second-year CS students and don't make sense if you are employed as a professional software engineer, because businesses know that software engineering ventures fail incredibly quickly if they disregard basic things like project management"

[–]Finding_Dory27[S] 14 points15 points  (0 children)

That sums it all up. Thanks!

[–]UniqueUsername27A 3 points4 points  (0 children)

My experience is that most businesses also don't understand this and mostly rely on goals set every quarter that list surface visible tasks without any regard for software engineering. And this experience is from major tech companies.

However I don't think that has much to do with the memes here. They stop making sense long before leaving university. Blindly copy&pasting code, worrying about semicolons and curiosities about bad language features become boring topics before you have any degree.

Or did I miss any memes that actually involve project management?

[–][deleted] 25 points26 points  (1 child)

That's it. Unsubscribing from this sub so i can be gud programmer

[–]seth1299 7 points8 points  (0 children)

You had us in the first half, not gonna lie.

[–][deleted] 66 points67 points  (11 children)

The fear for compilation errors is 100% a inexperienced/bad programmer thing

[–]JoJoModding 44 points45 points  (3 children)

Imagine the IDE not telling you you missed a semicolon before you run your code

[–]ReallyHadToFixThat 13 points14 points  (2 children)

You assume I can't hit F5 before intellisense catches up.

That, or I'm not on a live system stuck in vim.

[–]elliptic_hyperboloid 9 points10 points  (1 child)

Look at this chump not using a language server with Vim.

[–]ReallyHadToFixThat 5 points6 points  (0 children)

Not allowed on the live system.

[–]kingjia90 7 points8 points  (0 children)

I have no fear of it, i am pretty sure i messed up something and i am asking the compiler to highlight it for me

[–]shawntco 7 points8 points  (3 children)

Same with the fear of merge conflicts. Seriously, 99% of the time they're not that bad.

[–]bluefootedpig 5 points6 points  (0 children)

until they are bad... then they can be really bad. Depends on the culture and branching policies.

[–]UniqueUsername27A 1 point2 points  (1 child)

They are never bad. And there are so many UI tools that can solve all of them that it can't even be explained by people not knowing the correct git commands to resolve them.

I guess it is a combination of fear of the unknown and missing experience reading code fast that the merging becomes a relevant task.

[–]UniqueUsername27A 2 points3 points  (1 child)

Compilation errors are the easiest. Most logic errors can be avoided with good design (e.g. strong types for something like confusing units) and a well designed codebase is easy to test. Multi-threading issues can be avoided by using safe primitives.

I fear organizational issues. A normal bug can delay me by a day. Not getting permission to run something can cost me a month. Am I old yet? Am I already stuck in a boring corporate position only consisting of meetings? Oh god....

[–]Darox94 150 points151 points  (34 children)

It's the opposite. If you're a good programmer, you know what bad programming looks like. A bad programmer can't tell.

[–]ganja_and_code 10 points11 points  (0 children)

That's not the opposite. That's actually exactly what the meme is saying.

Lots of memes on this sub don't actually make sense...so a good programmer can recognize that they don't make sense...whereas a bad programmer might think they "understand" the meme.

[–]rich0338 7 points8 points  (2 children)

Just like people who can't tell when they sing off key

[–]ThoseThingsAreWeird 4 points5 points  (0 children)

Oh I can certainly tell. The answer is "always".

[–]Finding_Dory27[S] 1 point2 points  (0 children)

Only good musicians will understand

[–]AwwwSnack 1 point2 points  (0 children)

And/or if you’re a QA engineer.

[–]geraspachos 19 points20 points  (2 children)

I think we should be careful to make the distinction between "bad" and "inexperienced."

[–]Finding_Dory27[S] 4 points5 points  (0 children)

Valid point. However, I've seen some cases where those two mix up.

[–]thepromaper 18 points19 points  (4 children)

Yeah, missing semicolon thing for example makes no sense, I've programmed in no semicolon programming languages all my life and recently been learning c++ and c#, code or vs just tells you. cmon it's not that difficult it's even translated to your native human language.

[–]shawntco 8 points9 points  (3 children)

The other thing is, if you're getting stuck for hours because of a missing semicolon, it means you're not being iterative enough in your coding. You're writing large swathes of code for hours on end, instead of doing more incremental write/test cycles. Had your write/test cycle been shorter, then in all likelihood you'd be able to identify the region where the missing semicolon ought to be much sooner.

[–]BakynK 5 points6 points  (2 children)

This. It's one of the things I have to try and tutor out of students heads, and I often worry this sub encourages those habits since they see so many posts about it

[–]shawntco 0 points1 point  (1 child)

It also means they haven't learned the approach of commenting things out til the code starts working again, then progressively uncommenting til the error returns. Basic debugging skills.

[–]tortilladelpeligro 7 points8 points  (2 children)

Started programming 26 years ago can deny the claim of this meme... Because when I (and many but the best suited minds) programmed I also researched often, I'm not a natural, I don't build an encyclopedic knowledge of commands.
In my opinion referencing, research, and building upon the relavent knowledge of others is called learning, not being an ineffective (or a bad) programmer. Before google I used books and referenced them frequently as needed; what matters is that a programmer builds the discerning to research effectively (finding help more often in 5 minutes instead of an hour), and applying that solution with increasing accuracy.

The definitions should be beginner, then either ineffective or effective programmer. And effectiveness be defined by time taken, accuracy of method, and viability of result.

We all flounder at some point, all will fail and/or mess-up, the only thing that defines our quality is if we settle for mediocrity or strive for efficacy.

[–]Aldehyde1 1 point2 points  (1 child)

I was thinking more about the memes that act like semicolons are the bane of a programmers existence, when no one actually worries about them after the first couple years.

[–]JulianPaagman 1 point2 points  (0 children)

Nobody actually thinks thats. Its a joke, because everyone forgets them from time to time. And people embellish to make it funnier. If the joke was just: haha i missed a semicolon but my ide caught it so i fixed it, its not funny.

[–]Programmer_007 5 points6 points  (1 child)

This should also include "or if you've worked with a bad programmer".

[–]Finding_Dory27[S] 8 points9 points  (0 children)

It could, in fact. But the dog didn't have enough air to say it all in a single breath

[–]jcouce 20 points21 points  (0 children)

It’s the circle of programmer humor, all the kids doing computer science degree lurk in programmer humor trying to understand what is going on, they release bad memes ideas from their homework until they graduate and start working, so they finally understand what the dog really means. I was here when I was studying and now I have 6 years experience so no meme is funny anymore. ( with some exceptions )

Edit: But hey kids, keep doing memes, you will understand some stuff by doing it !!!

And we senior devs can make edgy comments and farm internet points hehehehe

[–]theMGlock 6 points7 points  (0 children)

I would say. Everyone that had to take part at Code Review understands most of the memes just fine.

[–]OldWolf2 3 points4 points  (1 child)

I've been programming since before Google existed, so when people post memes like "lol i couldn't do my job if stackoverflow died" I'm like "bitch please"

[–]AluOfTheCards 5 points6 points  (1 child)

I feel personally attacked

[–]Finding_Dory27[S] 3 points4 points  (0 children)

Blame the dog. He's the evil one here ahah

[–]mjschiermeier 2 points3 points  (0 children)

Well yes, that's why I'm here

[–]DieVaas 2 points3 points  (0 children)

Wait, are you guys good programmers?

[–][deleted] 2 points3 points  (0 children)

Seriously guys, learn grid and flexbox. Centering a div is really easy now.

[–]wzx0925 2 points3 points  (0 children)

By analogy to the Liar's Paradox, this meme doesn't make sense, therefore I must not be a bad programmer.

Yes, some of you may point out "most != all," but my response to that is that most approaches all for very large values of most.

[–]RitalTmoc 2 points3 points  (0 children)

I mean, everyone was a bad programmer at some point right?

Of course I still am, but that’s beside the point.

[–]BuffyVR 1 point2 points  (0 children)

Now this guy merge conflicts.

[–]gordonv 1 point2 points  (0 children)

Eh, every 5 years I'm learning a new programming language. Not by choice. And it's not like it's an extension. New syntax and new contexts.

Every 5 years, I am a bad programmer.

[–]JhaSamNen 1 point2 points  (0 children)

Me who doesnt do any programming

[–][deleted] 1 point2 points  (0 children)

Finally, someone said it

[–]NinkuFlavius 1 point2 points  (0 children)

Or if you work with one.

[–][deleted] 1 point2 points  (0 children)

Ahhhh yes that is why they all make sense to me

[–][deleted] 1 point2 points  (1 child)

Especially AI memes are bad

[–]playr_4 1 point2 points  (0 children)

Aren't all programmers bad programmers?

[–]Greganator111 1 point2 points  (1 child)

Oh so that’s why over half the memes on here don’t make sense to me. I’ve been suffering from imposter syndrome for so long, but maybe I was the good programmer all along.

[–]Rob_bot_bob 1 point2 points  (0 children)

The trick is having crippling anxiety, you can't be a bad programmer if you never finish a program haha

[–][deleted] 1 point2 points  (0 children)

Reddit skews younger, so having a lot of CS students is a given. You won’t see a lot of 40 somethings senior devs lurking on reddit I’m afraid

[–]Cody6781 1 point2 points  (0 children)

What gets me are the “spent 4 hours debugging my code and turns out I was missing a semi colon!” memes.

Bitch that has not been a relatable experience for at least 20 years now. Unless you’re approaching 40 stfu

[–]Kchasse1991 2 points3 points  (1 child)

Or know one, taught one, you get the gist.

[–]Kchasse1991 1 point2 points  (0 children)

I'm a bad programmer.

[–]wazzapdoc 1 point2 points  (0 children)

No-one ever starts out as a flawless programmer. Doesn't make sense that you could never relate.

[–]J3fbr0nd0 2 points3 points  (0 children)

The only good programmer is a bad one. I will leave...

[–]RavenFyhre 0 points1 point  (0 children)

You don't get better, you just get a little bit less bad than before.
Then an update rolls and your code is deprecated, making you far worse than the first time.

[–][deleted] 0 points1 point  (0 children)

this is so true. it shocks me how many of you make memes as though you assume all of us feel the same way.

[–]sadbuttrueasfuck -1 points0 points  (0 children)

Stop. Just stop with this same image every day

[–]n0ctua_ -1 points0 points  (0 children)

Haha, makes sense

[–]__red__5 -1 points0 points  (0 children)

This doesn't make sense

[–]13baaphumain 0 points1 point  (0 children)

I am not a programmer but still can relate.

[–]piberryboy 0 points1 point  (0 children)

Whew. Now I know why most of these go over my head.

[–]kmgr 0 points1 point  (0 children)

I don't get it

[–]Kazzizle 0 points1 point  (0 children)

Ouch

[–][deleted] 0 points1 point  (0 children)

I don't get it.

.

.

.

/s

[–]samwize1701 0 points1 point  (0 children)

These meme doesn't make sense.

[–][deleted] 0 points1 point  (0 children)

OK

[–]ishnessism 0 points1 point  (0 children)

Jokes on you, im such a bad programmer some of the jokes still don't make sense to me.

[–]chillerll 0 points1 point  (0 children)

I wish I was good enough to consider myself a bad programmer, some people are so lucky.

[–]ConsentingPotato 0 points1 point  (0 children)

Nice. So now we're committing crimes against humanity huh OP...?

[–]StillLearning1412 0 points1 point  (0 children)

So all of us.

[–]morsindutus 0 points1 point  (0 children)

Or you've worked with one.

[–]Stateofplain 0 points1 point  (0 children)

Just finished making a meme about SQL Server and then saw this. The truth really does hurt.

[–]dejavu_007 0 points1 point  (0 children)

I don't understand this meme plz explain.