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
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?
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.
Yea, fair enough. My point was mostly: backend requirements are usually at least objective. "Json xml comes in", "CSV goes out by email", "The request must be processed under 100 ms", "API should not return 400 on feetpics" - these are still mostly objective requirements.
Frontend requirements can be very subjective "The user should have a great user experience with the frontend"
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.
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.
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.
Yeah if you have shitty UX people frontend will just built what they’re told. Or actually more often, you could have really talented UX people and management decisions are like “needs more buy now buttons, the 3 visible on the screen aren’t enough.” Shit flows downhill
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.
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.
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.
This is the dumbest trope. It's not the same kind of job, or even very coding-ish, but all the frontends I've made are horrifyingly ugly, and I hated making them.
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.
I'd suggest finding some examples or templates that are reasonably close to what you want, and working from there. It's much easier to adapt something existing with small tweaks than building it all yourself.
If you have any concrete questions, feel free to shoot me a DM :)