this post was submitted on 07 Mar 2024
654 points (95.4% liked)

Programmer Humor

19720 readers
67 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 144 points 8 months ago (3 children)

As a fullstack developer I don’t appreciate you calling me out like this. Write an efficient SQL query you framework monkeys.

But also, this is very true.

[–] [email protected] 84 points 8 months ago (2 children)

DROP TABLE

That seems like a pretty efficient query!

[–] [email protected] 52 points 8 months ago (1 children)

I see you've met my boy Bobby

[–] astraeus 6 points 8 months ago

I hope you’ve learned to sanitize your inputs

load more comments (1 replies)
[–] [email protected] 14 points 8 months ago* (last edited 8 months ago) (1 children)

Not understanding SQL (and in some cases NoSQL DBs) and the underlying database are a reason that so many full stack devs suck. Just because they use an ORM, they think the database work is magically solved, until they realize it’s just doing what they’re telling it to do and their lack of DB understanding has created an awful database structure. And then a DBA comes in, and then the entire ORM layer has to be scrapped because it’s trash, so on and so forth. A full stack engineer doesn’t have to be a DBA, but they sure as hell need to know what the ORM is doing to their data they are CRUDing

load more comments (1 replies)
load more comments (1 replies)
[–] RonSijm 111 points 8 months ago (6 children)

Backend Requirements: "When x,y goes in, I want x+y to come out!" - Okay

Frontend Requirements: "Well it needs to be more user-friendly, and have this rockstar wow effect" - Yea wtf are you even talking about? You want me to add random glitter explosions, because I found a script for that, that's pretty 'wow effect' right?

[–] [email protected] 81 points 8 months ago* (last edited 8 months ago) (6 children)

Real back-end requirements: when x, y goes in (in JSON-as-an-XML-CDATA-block because historical reasons), I want you to output x+y+z+æ+the proof to P=NP.

æ will require you yo compile x+y in CSV, email it to Jenny, who will email back the answer. She doesn't quite know how to export excel sheets though so you'd better build a robust validator. No, we don't know what æ is supposed to look like, Rob from Frontend knows but he's on vacation for the next 8 months.

The request must be processed under 100 ms as the frontend team won't be able to prioritize asynchronous loading for another 10 sprints and we don't want the webpage to freeze.

And why does your API return a 400 when I send a picture of my feet? Please fix urgently, these errors are polluting my monitoring dashboard and we have KPIs on monitoring alerts.

[–] [email protected] 22 points 8 months ago

Clearly fake. No task ever includes anything but the happy path. Loading or failure states are a myth

[–] [email protected] 16 points 8 months ago

output x+y+z+æ+the proof to P=NP.

I'm sure there's an npm module for that.

load more comments (4 replies)
[–] [email protected] 36 points 8 months ago (3 children)

Actually the front end stuff is more like "we need to make the 'sign in' button bigger. No one can click it because it's tiny, and it's in German."

[–] [email protected] 25 points 8 months ago* (last edited 8 months ago) (2 children)

I spent years as a mobile developer and the thing that always drove me the most nuts was being handed a software design with lots of tiny buttons that were nearly impossible to tap with a finger. I generally implemented the UI by increasing the size of the tappable regions (without increasing the apparent size of the buttons) making it actually usable, but one time the designer discovered that I was doing this and went apeshit and convinced the project manager to order me to undo all this and make the tappable regions the same size as the buttons. The grounds for this was that implementing the larger tappable regions would take too much extra time - despite the fact that this had already been done and it took additional time to undo it.

[–] [email protected] 8 points 8 months ago (3 children)

So wait you actually had to undo it all? What kind of designer would make mobile buttons small?

[–] [email protected] 7 points 8 months ago (1 children)

I usually just do what they requested and when they come to complain I just tell them "well, you're the one who requested this" and pull up receipts. My DM to myself on Slack is filled with screenshots and links to confirmations for bullshit requests that the product team made.

load more comments (1 replies)
load more comments (2 replies)
load more comments (1 replies)
[–] [email protected] 15 points 8 months ago (1 children)

Marketing want us to add more typos to make the site feel more “friendly”.

[–] [email protected] 9 points 8 months ago (2 children)

As a SaaS founder I'm now wondering if this actually works. Will have to talk to the front-end devs on Monday.

load more comments (2 replies)
[–] [email protected] 12 points 8 months ago (1 children)

Isn’t our main audience German? If you wanted non German stuff you shoulda asked for regional translations. Not only is that a change request, but you’re gonna be pushing the release window by months.

[–] [email protected] 17 points 8 months ago (1 children)

But it doesn't even say "Sign in" in German. It says "Das Bootton" because someone thought it would be funny and never changed it.

[–] [email protected] 6 points 8 months ago

That someone was RIGHT!

[–] [email protected] 6 points 8 months ago* (last edited 8 months ago)

Man, if only backend demands were algebraically tractable. Often they're related to frontend demands that may or may not make backend sense, since the frontend is all users see.

load more comments (3 replies)
[–] [email protected] 68 points 8 months ago* (last edited 8 months ago) (7 children)

I can't be the only person who thinks "full stack" translates to "master of nothing." One of the best career moves I ever made was shrug off the pressure to go full stack, and dedicate myself to backend only.

[–] [email protected] 109 points 8 months ago (5 children)

Full stack means we do it because nobody else will.

[–] MajorHavoc 14 points 8 months ago

I feel seen.

I might get that sentence embroidered on a pillow.

load more comments (4 replies)
[–] [email protected] 27 points 8 months ago (2 children)

I think knowing about frontend is important for a senior or higher level engineer. I would expect someone at that level to be able to contribute where necessary, and know enough to make sane decisions and know when those decisions impact backend/frontend. But to be equally good at both isn't reasonable

[–] [email protected] 15 points 8 months ago* (last edited 8 months ago)

A backend engineer that has adequately put in the time to operate at a senior level, will more than likely have worked closely enough with FE to check those boxes. They should be familiar with technical design and processes, which if done effectively, teach an engineer to ask those questions.

load more comments (1 replies)
[–] [email protected] 23 points 8 months ago (4 children)

As someone who likes to dip their toes into everything, I feel a bit called out by "master of nothing".

[–] [email protected] 28 points 8 months ago* (last edited 8 months ago) (1 children)

My apologies. My intention wasn't a dig at engineers themselves, but rather the trend of employers seeking "full stack" engineers, and the implications of them shopping for a singular engineer willing to do the job of multiple engineers-- IE be taken advantage of, and the first to be let go, because of a lack of specialized domain knowledge, etc.

load more comments (1 replies)
[–] [email protected] 6 points 8 months ago

The truth is that there is value in both a generalist and a specialist.

load more comments (2 replies)
[–] [email protected] 17 points 8 months ago

In my case, it was to increase the number of available job opportunities rather than any genuine interest.

[–] [email protected] 8 points 8 months ago

My company started with full stack devs only and we've transitioned to specialized back end and front end since we realized that 1 specialized BE Engineer and 1 specialized FE Engineer can work faster with better quality than having 2 Full Stack Engineers.

load more comments (2 replies)
[–] [email protected] 41 points 8 months ago (3 children)

In my experience it's normally frontend programmers that go full stack.

load more comments (3 replies)
[–] [email protected] 30 points 8 months ago* (last edited 8 months ago) (2 children)

In my experience, that bottom image is equally applicable when Front End devs go Full Stack lol

[–] [email protected] 7 points 8 months ago

Frontend dev here, can confirm. Last week I had to look at some Java code and was instantly greeted by some AbstractFactoryBuilderImpl. Nightmare fuel if you ask me.

load more comments (1 replies)
[–] [email protected] 22 points 8 months ago* (last edited 8 months ago) (1 children)

Most disciplines get more specialized as they evolve. Full Stack goes against that trend, and this meme points at the problem with that. I don't think it's going to last.

[–] [email protected] 12 points 8 months ago* (last edited 8 months ago)

Overspecialisation can also suck eggs. Interdisciplinary research is trendy in science for the that reason. Even I occasionally read a paper and can see they're missing some basic fact from another field or subfield that totally undercuts their result.

[–] [email protected] 18 points 8 months ago* (last edited 8 months ago) (2 children)

I sometimes wish my employer didn't know that I can write Python code, so that I would never be assigned front-end work. I prefer to deal with programs that take lists of numbers and return lists of other numbers.

(I'm not as bad as one guy I used to work with, because at least I accept ASCII input. His backend code only took binary-encoded configuration files for no reason I can think of except maybe to punish anyone except himself who tried to use it.)

[–] [email protected] 27 points 8 months ago (3 children)

Who is using python for frontend?

[–] odium 7 points 8 months ago (2 children)
[–] [email protected] 9 points 8 months ago (2 children)

Isn't that backed code? Unless your using templating..

load more comments (2 replies)
load more comments (1 replies)
load more comments (2 replies)
[–] [email protected] 12 points 8 months ago* (last edited 8 months ago) (1 children)

I'm terrified by this binary config file. Why?! Was he writing C and said "fuck it, memcpy"?

Edit: I suppose it would be more like "fuck it, fprintf(f, (char*)my_config_object, sizeof(my_config_object))"

load more comments (1 replies)
[–] [email protected] 14 points 8 months ago (2 children)
load more comments (2 replies)
[–] [email protected] 13 points 8 months ago* (last edited 8 months ago) (1 children)

If you hear 'full stack', run.

What I was told by a fellow student, while I was writing my thesis (paraphrased).

[–] [email protected] 17 points 8 months ago* (last edited 8 months ago) (1 children)

It may suggest the company doesn't want to hire the appropriate amount of engineers, with the appropriate expertise, and instead want a mule. It also may suggest that product quality is a low priority.

[–] [email protected] 9 points 8 months ago (1 children)

Came here to ask if I'm the only one grossed out by the term "full stack" and its exploitative implications. Thanks for explaining why :3

Hey, maybe they make up the difference in "exposure" or something! That's a well-loved way to ask for free/underpaid work!

load more comments (1 replies)
[–] [email protected] 13 points 8 months ago

As a full stack developer (more experienced in back end) working on a full stack task at work I can confirm, yes, this is very true lmao.

[–] [email protected] 10 points 8 months ago

Both should be the bottom picture to be honest.

[–] [email protected] 9 points 8 months ago

This is me.

I would say I'm a fairly proficient dev overall, though on this one project I had to work the frontend. It was shit. Everything was shit.

The backend was a steaming pile of crap, and all of the implications of terrible design decisions were offloaded to the frontend. The frontend became the source of every single delay as it was where all crap started to surface. They were ignoring it, so besides frontend communication was also crap. Eventually, in line with ignoring all other issues, they sacked me.

Long story short, backend devs: treat your FE devs well.

[–] [email protected] 7 points 8 months ago (4 children)

Guys I can’t do front-end! There was a time I was getting kinda good but now there’s too much CSS tricks to learn.

I’m currently making an app for the fediverse and my back-end is amazing but I need help even beginning to make something decent for the front-end!

This is a streaming app, and just developed the chat widget which looks good in OBS, that’s a start.

But the player? Responsible layout? Aaaah it seems impossible.

[–] [email protected] 7 points 8 months ago (3 children)

It'd help if the JavaScript ecosystem could pause on inventing new frameworks every five minutes and instead focus on fixing their tooling problems.

load more comments (3 replies)
load more comments (3 replies)
load more comments
view more: next ›