11

let RANT = $state(true);

Don't even get me started on frontend engineering right now. It's like the wild wild west out here, with no rules or regulations.

I mean seriously, what is going on with frontend engineering these days? It's like we're stuck in some sort of weird limbo state where nothing seems to make sense and everything is a struggle. And to top it all off, the project I've been working on for the past two years has the same damn issues as an existing codebase that I was hoping to leave behind.

For some reason the npm build runs when container starts. Are you kidding me? Every time I have to restart the app, I have to wait for 30+ minutes just for the damn thing to build. And what's worse, it's not even a complex app. It's a simple frontend for a research website. So why the heck does it take so long to build?

I'll tell you why, because some genius thought it would be a good idea to build the entire codebase every time the container starts. And I have no doubt that this same genius probably thought it would be efficient and time-saving. Well let me tell you, it's neither efficient nor time-saving. It's just plain infuriating.

And don't even get me started on the codebase itself. It's like a labyrinth of tangled and convoluted code (multiple versions of React and now rewriting on Nextjs). Trying to make even the simplest changes feels like unraveling a giant knot (every freaking component have it's only style and everything from React is being used - hooks, Redux, whatever else is popular). And heaven forbid you make a mistake, because then you have to wait another 30 minutes for the whole thing to build and see if your change even worked.

And let's not forget about the old codebase that is still being used, because the new one wasn't ready in time. So we're constantly having to switch back and forth between two different codebases, trying to remember which one has which functionality, and hoping that we don't break anything in the process.

Don't get me wrong, I'm not against rewrites. In fact, sometimes they are necessary for a project to move forward. But when frontend engineers can't seem to make up their mind and constantly want to rewrite the code, it's a recipe for disaster.

And don't even get me started on the experience level of the frontend engineers who started this project. Most of them only had 2-3 years of experience (at the time of inception some of them has less than 1 year of experience), and yet they managed to convince management to approve this mess. It's like the blind leading the blind.

But hey, who needs experience and expertise when you have shiny new technologies and frameworks to play with, right? Isn't that what matters most in frontend engineering these days? Keeping up with the latest trends and constantly jumping on the "hype train" without any real understanding of how it will impact the project in the long run.

As a backend engineer (so I kinda don't give a flying freak about frontend) with almost two decades of experience and who was doing frontend with jQuery back in 2005 - that's frustrating and all the inconsistency is literally killing people (a couple of clients literally dropped the contract because of frontend quality).

RANT = false;

PS: why I used Svelte runes? Because some freaking genius suggested to port new (unreleased, only beta version) frontend UI to Svelte 5 because of runes.

Comments
  • 3
    Proper rant right off the bat. Always remember, your first ++ came from me.

    *Holds out both hands and starts stepping backwards*

    *Shouts* REMEMBER MY NAME !!

    *Exits the room dramatically while the shouts fade away in the background*
  • 3
    Doesn't npm build in entry point violate the Geneva Conventions?
  • 0
    Very interesting!
  • 3
    It's overly complicated because basic engineering priciples like KISS and YAGNI are routinely ignored. Then people slap in frameworks and shit like kids in a candy store until they reach the point of being overwhelmed. From there, things go downhills.

    Instead of asking what the requirements are, and what the minimum tech stack is that they actually need, they chase the latest dev fads and use any excuse as pretext to slap in ever more crap.
  • 3
    Web frontend development is a hot pile of crap, I agree.

    (Frustrated, subtly hinting at the fact that not every frontend development is web development)
  • 1
    @horus not sure on npm build itself, but pulling multi-GB Docker image with npm/node_modules, build it in runtime and not using CDN for serving the same HTML/CSS/JS (bundles or whatever it's called now) is a total violation of all the engineering principles.

    And somehow it got worse in the last 5 years, I really enjoyed React and was pumped about Svelte, but people need to stick to something and not jump like a frog from one place to another.
Add Comment