News for hackers. Stuff that matters.
Re:I don't want to do front-end anymore by Doctor_Fegg on Tuesday February 09, 2021 @05:46AM (#26075941)
> The complicated web was here. [...]

> I've given in my resignation at my current place of employment and will be seeking an exclusively back-end role for my next adventure

Oh boy. I sympathise entirely with this post, but the story's exactly the same on the backend.

Kubernetes. Docker. AWS and its gazillion impenetrable product names. The days of security updates, pentests, honeypots and captchas you have to go through in order to put up a webapp that won't be commandeered by (insert bad guy here) within hours. The endless cycle of breakage on your server because LetsEncrypt or whoever have upgraded their crypto libraries to fight against (insert bad guy here).

The need for a lawyer to write you a privacy policy before you can let people log into your site. The endless bullshit of dealing with "Log in with Facebook/Google/Apple" because that's what people expect these days. And even then it's better than dealing with email verification because Gmail/Hotmail will kill your emails anyway.

The complicated web is everywhere. Retreating to the backend is no escape. Sorry.

Re:I don't want to do front-end anymore by sriku on Tuesday February 09, 2021 @06:01AM (#26076053)
Some of my colleagues and I were joking recently that the "AWS well architected" framework should've been named "AWS well paid" framework. It's like it's no longer legit to run a small site serving a small community. It has to "scale", be secure against minions who want to usurp your machines, have backups, CI, CD, GitHub events, run on K8sa and be "cloud native", and on and on .. to show some HTML page when an end point is hit. I feel I can't even joke about this any more here.

The stacks run deep on both ends .. but I'm often not sure to what end.

Re:I don't want to do front-end anymore by vmception on Tuesday February 09, 2021 @07:20AM (#26076636)
It actually doesn't have to.

Serving a static site on S3 can make you hundreds of millions of dollars. Of course thats because you put a metamask plugin and cater to crypto people and don't even have to build a backend to do anything impressive there.

But its scalable enough!

Re:I don't want to do front-end anymore by lhorie on Tuesday February 09, 2021 @08:54AM (#26077423)
Fun trivia: for the longest time, lichess.org - which by any measure is a high traffic, hugely interactive web app - was run on... a single server with 8 CPUs and 24Gb RAM[0]

[0] https://lichess.org/forum/lichess-feedback/hardware-of-liche...

Re:I don't want to do front-end anymore by tkinom on Tuesday February 09, 2021 @09:15AM (#26077666)
Agree! One can still Keep It Simple and Stupid (KISS).

Our latest MVP - https://www.code-scope.com lets one interactively analyze and document GBs of source such as linux kernel.

It runs on Digital Ocean's $5 instance, build just with Jquery - bootstrap4.

The app binary that runs code-scope.com website is < 10MB including all the frontend and backend code.

Good old tech such as jquery works very well for us.

Complex js front-end tooling is a choice, not a requirement for develop web app.

Re:I don't want to do front-end anymore by mumblemumble on Tuesday February 09, 2021 @10:05AM (#26078272)
KISS remains one of the most under-appreciated principles out there.

I still annoy people by talking about my time at the high frequency trading firm, because working there was a revelatory experience. They were operating at a scale and velocity far beyond any place I've worked at, with lower tolerance for downtime, and very little hardware, relatively speaking. The traders had fun, of course, but it was frankly kind of boring to work there as a techie, what with everything ticking along so smoothly all the time.

And the way they got there was through an absolutely fanatical devotion to the KISS principle.

Re:I don't want to do front-end anymore by MikeDelta on Tuesday February 09, 2021 @01:11PM (#26080700)
Too often I see developers not thinking about KISS, produce very complex and slow systems. And as a solution to improve the performance, they decide to throw 10x more cloud infra against it instead of thinking a bit harder.
Re:I don't want to do front-end anymore by mumblemumble on Tuesday February 09, 2021 @01:54PM (#26081189)
Especially with the current popularity of scale out as a golden hammer.

I've come to think that scale out is a self-fulfilling prophecy. If you choose a solution that's designed to support scale out, then all the mechanisms and limitations (yes, limitations) it needs to adopt in order to make distributed processing work will impose a burden of overhead that you will need to offset by scaling out.

Re:I don't want to do front-end anymore by why_Mr_Anderson on Tuesday February 09, 2021 @02:33PM (#26081567)
It's actually sad to see that scale-up almost disappeared, especially considering the insanelly powerful HW we have now, just NVMe SSDs are game changer for anything I/O bound. I remember how few years back there were some people in our company completely floored when they learned that StackOverflow ran on 1 SQL server (quite beefy though, 1TB RAM IIRC). Similar 'cloud' (aka 'someone else's datacenter') setup would cost significantly more, but that seems to be forgotten/forbidden knowledge these days. I guess people need to justify those cloud technologies certificates.
Re:I don't want to do front-end anymore by MikeDelta on Wednesday February 10, 2021 @04:33PM (#26095126)
Yes, exactly. I don't want to call it the 'new' generation but many have seem to forgotten how efficient systems can be if you build them properly.

I haven't seen any certificates that replace sweat and hard work yet, except in organizations where they cannot keep track of individual developer performance and simply count certificates.

Re:I don't want to do front-end anymore by nefitty on Tuesday February 09, 2021 @11:24AM (#26079342)
Do you happen to know of any best practices guides that might help others achieve similar results? I’m working on an app that might have to scale very quickly at launch, and I want to do my best to help our team do it right.
Re:I don't want to do front-end anymore by mumblemumble on Tuesday February 09, 2021 @02:01PM (#26081271)
No, I don't. And the specific practices at this company would be unpalatable to almost anyone. Package managers for dependency management, for example, were banned, because they made it too easy for the dependency list to grow in an uncontrolled manner.

There was a lot of homegrown software where others would use a library. That was deliberate. If you need five features, but choose an off-the-shelf package with 5,000 features, pretty soon you'll find that the list of features you're using has grown to 50, then 500, and so on, even if you don't actually need any of it. If a toy's in the box, the kids will play with it.

Maybe one thing to try is to focus on imposing constraints, and making people live within them. RAM, # of CPU cores, whatever. Software is like a gas. It will naturally expand to fill all available space.

Re:I don't want to do front-end anymore by devlopr on Tuesday February 09, 2021 @01:15PM (#26080747)
Simple advise. Start with a 5 dollar droplet and increase ram / disk speed when required. If you reach 64 gigs consider spliting.

What I do is put my database on a droplet and my files on another and it can handles millions of requests. Put them on the same machine and I need to increase ram higher than the cost of multiple small droplets.

If you ever reach those limits consider setting up a load balancer.

Re:I don't want to do front-end anymore by tkinom on Tuesday February 09, 2021 @03:56PM (#26082286)
In https://www.code-scope.com, the source code search engine database is in the same $5 droplet that run webserver - We are cheap. It is part of <10MB app which hopefully anyone can download soon. We figured the SSD can do 1-3GBs/second transfer, no point to slow it down with separate process or worst, separate network node.

All the web queries are responded in <<< 1 second - so far....

Re:I don't want to do front-end anymore by r45tio2 on Wednesday February 10, 2021 @04:07AM (#26087004)
This is good, and it works well. The issue (as others may have pointed out) is not that simple apps _can't_ be produced, it's that they _won't be accepted_ when they are. The same thing happened to TCL/Tk ... it "doesn't look right" so is dismissed. By and large, the driving force seems to be those who want to pay for "sexy dashboards", usually but not limited to those whose primary motivation is initial impact. Aesthetics are everything - functionality is secondary. Snake oil sells. Things that "look old" are laughed out of the room. It's unhealthy.
Re:I don't want to do front-end anymore by busterarm on Tuesday February 09, 2021 @07:33AM (#26076727)
I built a static site served by S3 & cheap Lightsail boxes that serves a $5B/yr business.

That was 4 years ago and beyond basic patching they've barely touched their infrastructure and it runs around $100/mo.

Re:I don't want to do front-end anymore by codegeek on Tuesday February 09, 2021 @08:51AM (#26077398)
"that serves a $5B/yr business."

Ok but is that static site primarily generating the $5B in revenue ? That's more relevant to know. Having a static site for a business where the revenue is generated elsewhere is not that big of a deal in my opinion. Yes I get your point that the $5B company is hosting a static site on S3 which is cool but what will be cooler is if THAT static site is the primary revenue driver. I bet it isn't.

Re:I don't want to do front-end anymore by vsareto on Tuesday February 09, 2021 @09:52AM (#26078121)
I think it's more along the lines that a $5B/yr business would typically have gone to a large contracting firm, and the resulting solution would have been over-engineered with all of the front and back-end stuff and resulted in a higher cost to solve the same problem.
Re:I don't want to do front-end anymore by busterarm on Tuesday February 09, 2021 @10:19AM (#26078435)
^ You got it completely. Thank you.

Actually probably the output would be worse, because there's a significant amount of domain knowledge in building an effective website in this space. The only companies that are effective at it do it in house or go to specialists in the space.

Car dealership advertising is actually extremely similar in this regard. There are just a few big players working with hundreds to thousands of dealers.

Re:I don't want to do front-end anymore by monsieurbanana on Tuesday February 09, 2021 @09:11AM (#26077611)
I tried to imagine what kind of website could generate $5B without requiring more than $100/month of hardware. Seems impossible.
Re:I don't want to do front-end anymore by busterarm on Tuesday February 09, 2021 @09:24AM (#26077782)
Just take a look at the top 10 adwords keywords and let your mind wander. Our business touched 4 out of 10...
Re:I don't want to do front-end anymore by monsieurbanana on Tuesday February 09, 2021 @09:35AM (#26077934)
Found in a random blog post, top 10 keywords:

- Insurance

- Loans

- Mortgage

- Attorney

- Credit

- Lawyer

- Donate

- Degree

- Hosting

- Claim

Still can't see it. But just to be sure, you're saying that the $100/month website was directly generating most of that $5B?

And not, for example, being just a bridge between users and an army of attorneys?

Re:I don't want to do front-end anymore by busterarm on Tuesday February 09, 2021 @10:14AM (#26078376)
Qualified leads are king in that business.

Keep in mind that a large number of law firms in this space do not try cases and just generate and sell leads.

Yes, obviously there's a lot more that goes into it, but my point was that websites can be extremely simple in their infrastructure and still be extremely effective.

Re:I don't want to do front-end anymore by busterarm on Tuesday February 09, 2021 @09:23AM (#26077759)
The online property only accounts for about 10% of the total ad spend (over $200M/yr). The website accounts for exactly 0% of the bread and butter (high volume, low profit) business, but easily 60% or more of the the rest of it (low volume, absurd profit).

I've talked at length about it before in comments. Not really looking for the repeat discussions.

Re:I don't want to do front-end anymore by Railsify on Tuesday February 09, 2021 @07:48AM (#26076851)
This use case is about where AWS cost effective scalability ends, anything more complicated and you are into multiple thousands a month for a redundant solution for a critical web-app with a database. We used to run prod and stage envs in aws but as our stage environment grew we realized we could on-prem some pretty bad-a* hardware for the cost of a few months AWS billing. Now we run prod on aws, staging and dev locally.
Re:I don't want to do front-end anymore by monsieurbanana on Tuesday February 09, 2021 @09:19AM (#26077716)
There's a cost maintaining a staging environment on-prem while prod is on a cloud. Slightly different versions of databases, different networking, etc... It could create issues. This does depend on how much you buy into the AWS ecosystem, if it's strictly EC2-only it's not as much of a problem.

Not that I wouldn't do it, a lot of times it does make financial sense.

Re:I don't want to do front-end anymore by murukesh_s on Tuesday February 09, 2021 @08:39AM (#26077273)
Second that.. and hardest thing is you don't really know where you are getting charged. i mean you can look at the billing but boy they do add up to 1000s before you know and you are so hooked into auto scaling, s3, rds with multi-az what not..
Re:I don't want to do front-end anymore by busterarm on Tuesday February 09, 2021 @09:26AM (#26077815)
You don't exactly need to tell me. I have 10^4 machines in multiple clouds right now plus more n datacenters. Cost effective scaling is hard, but you have to design your applications around it.

Tbh, I find most engineering orgs don't have the competency to pull it off.

Re:I don't want to do front-end anymore by dvfjsdhgfv on Tuesday February 09, 2021 @06:51AM (#26076428)
It's basically about money. As a tech guy, you choose the technologies with the largest margin. Companies who use AWS are either (1) rich enough to spend huge sums of money, (2) can't calculate or are gullible enough to believe it's the best solution for them. In either case, typically you're more likely to make money on AWS-related technologies than working for more cost-conscious clients who understand the cost structure of the overall infrastructure. That's why people code a Hello World as a React app on AWS, as ridiculous as it may seem.
Re:I don't want to do front-end anymore by matthewmacleod on Tuesday February 09, 2021 @07:20AM (#26076637)
This is absolute nonsense which reveals more about your ignorance of companies’ technology trade offs than it does anything else.

Consider for a moment that other people might in fact not be idiots, and might have legitimate reasons for choosing particular technology stacks that your snarky attitude has missed.

Re:I don't want to do front-end anymore by commandlinefan on Tuesday February 09, 2021 @05:15PM (#26083123)
> Consider for a moment that other people might in fact not be idiots

I've considered it many times, but I continuously find evidence to the contrary.

Re:I don't want to do front-end anymore by collyw on Tuesday February 09, 2021 @07:26AM (#26076678)
My guess is that > 90% of people using Kubernetes will never need to scale elastically. My company uses it, cost a ton of developer time. It gives us high availability which is nice, but we have no need for the scaling in the foreseeable future, and that was what was used to sell Kubernetes to our founders.
Re:I don't want to do front-end anymore by nilkn on Tuesday February 09, 2021 @07:41AM (#26076776)
I see this sentiment a lot online, but k8s for us has been quite simple to learn and use and, like you acknowledged here, solved a lot of availability issues out of the box for us that we previously had to deal with in more manual ways. Better yet, it’s a standardized platform that we can use company-wide and that every engineer understands, including potential hires — that’s very valuable. I feel it has become a common trope to claim k8s is complicated and overkill but we are quite glad we made the move to using it.
Re:I don't want to do front-end anymore by weeboid on Tuesday February 09, 2021 @09:27AM (#26077824)
Have you ever considered the workforce aspect of technologies? Like, you'll still need devops, and if you aren't at least dabbling in containers and elasticity, you're going to get the luddites.
Re:I don't want to do front-end anymore by Guthur on Tuesday February 09, 2021 @07:36AM (#26076743)
Yes, though the GP made no reference to Kubes at all and was talking more generally about AWS.

AWS has an absolute tonne of great and not so great services but you can easily use the basic stuff to get quite simple and cost effective solutions. You can YOLO it on the console and not even worry about cloudformation if you want, and if you have no customers it will likely be free tier to boot.

Re:I don't want to do front-end anymore by matthewmacleod on Tuesday February 09, 2021 @07:46AM (#26076832)
Kubernetes was not mentioned by the comment I replied to, which was about AWS.

Even then, your founders might have made a bad business decision – which isn't unusual, and companies can often make bad business decisions, such as prioritising investment in scalability when it's not a required feature.

They can equally make good business decisions – such as rolling out a relatively standard technology like Kubernetes to gain the workflow and availability features, even though scalability is not required.

I agree that it is important to remember that sometimes "old-fashioned" approaches can be totally suitable for some use-cases, and they can be too often written off. But equally let's try not to assume that everyone who rolls out a particular modern technology stack is a gullible fool.

Re:I don't want to do front-end anymore by dvfjsdhgfv on Tuesday February 09, 2021 @12:37PM (#26080313)
I haven't called anybody idiots. There are genuine reasons for using AWS specifically. I've been consulting to several companies helping them to manage their infrastructure, and more often than not it turned out that they chose AWS "because everybody is doing it", not because they understood the tradeoffs well.

To be more specific: (1) they were not able to calculate the overall costs upfront. Yes there are many calculators, but you know the actual cost only when you receive the bill. Moreover, there is no hard cap on costs - people have been asking for it since 2006, and AWS was first saying they understand it's important and will take care of it, but in the end decided to ignore it.[0] Yes, you can set up alarms but that's not what people want. (2) AWS is marketed as saving on IT staff costs but it's ridiculous: you need competent staff to support it. The AWS infrastructure is huge, it's a whole ecosystem in itself, and it has its particular quirks. You definitely need smart people to run it and stay out of trouble. (3) Very often when you run a cost analysis of a particular aspect (like storage, processing etc.), it turns out the difference between AWS and, say, bare metal is enormous and, consequently, increases radically with the amount of resources used. There are several large companies who decided to move from AWS to bare metal just for this reason, saving enormous amounts of money.

Now, there are several scenarios where it doesn't matter, or it matters but it makes sense to use AWS anyway, but in my personal experience this is minority of cases I had to deal with. I have nothing against AWS per se - also, there are some aspects of AWS infrastructure that are a pleasure to work with. Nevertheless, usually it makes more sense to use a whole ecosystem, and the more you get locked in, the more difficult is to get out, and the sunk cost fallacy is omnipresent among companies of all sizes.

[0] https://forums.aws.amazon.com/thread.jspa?start=50&threadID=...

Re:I don't want to do front-end anymore by le-mark on Tuesday February 09, 2021 @09:42AM (#26078021)
This analysis is spot on, and well worth the time to consider.
Re:I don't want to do front-end anymore by j45 on Tuesday February 09, 2021 @07:16AM (#26076611)
Linux has far fewer networking and scaling issues as it once had, something that cloud helped with.

VPS servers are more capable than ever, and the manageability might surprise some who know cloud as the only way. It's not the only way, but it can be valid now often than realized.

Re:I don't want to do front-end anymore by jaeming on Tuesday February 09, 2021 @10:02AM (#26078251)
What's funny to me is that whenever I get stuck with docker or docker-compose (or getting our various docker services talking to each other), I'm told by a certain engineer that I ask for help from, "It's really not that complicated.". Then a week later he's asking me for help setting up eslint and vscode auto-correct/format, telling me he's been trying to get it working half the day, emphasizing how terrible JS tooling is. I of course sent him on his way with a working set-up five minutes later.

I guess the difference between us is I'm in JS everyday while he's primarily backend. I've made peace with my tooling as has he. I've also made peace with the fact that my tooling is going to continue to change every few years. From Gulp to Webpack to Parcel to Snowpack and onwards.

Re:I don't want to do front-end anymore by dimitrios1 on Tuesday February 09, 2021 @10:25AM (#26078500)
Am I the only one that doesn't mind the changes? The move from Gulp to Webpack to Rollup to now Snowpack aren't really big heavy architectural upheavals, but I suppose many people haven't written module bundlers from scratch as a learning exercise.

As is the case with much of the front end tooling, once you peel back the curtain, it isn't too terribly complicated. The biggest issue is following the data transformations through the code base because JS being a dynamic language, a lot of magical transformations can happen, but thankfully TS and other compile-to-js languages are helping a lot on that front.

Meanwhile, trying to peel back the layers of k8s, the authors of which seemingly hellbent on bringing Java-esque levels of over-engineered, over-architectured coding styles to a language which ironically supports simplicity and readability over all is a brain melting exercise. I understand Paxos and SAML better than most modern backend cloud tooling codebases. Then like a parent commentor mentioned, throw in AWS services soup in the mix, call services that have a mixture of async and sync calls with a nice mixture of some responses being consistent, some eventually consistent, some probably consistent, throw some observability, and control and data planes and you got a nice recipe for a big bowl of spaghetti you will truly never understand.

But everyone demands these things now, so what are you going to do.

Re:I don't want to do front-end anymore by tanseydavid on Tuesday February 09, 2021 @05:29PM (#26083290)
>> once you peel back the curtain, it isn't too terribly complicated

I am not sure if anyone has mentioned it already but in my experience, oftentimes it is not the particular 'complexity' of what is revealed 'once you peel back the curtain', but rather the sheer number of different curtains that must peeled in order to build a 'modern' solution.

My gut impression is also that the challenges are more about aggregate-quirks across the many tools that comprise a solution than it is due to the aggregate-complexity.

Re:I don't want to do front-end anymore by bluefirebrand on Tuesday February 09, 2021 @10:18AM (#26078426)
This illustrates really nicely how the "Full Stack Developer" is becoming more and more impossible to be. It's not enough to know how to set up a couple of servers with routing and IP blacklisting and load-balancing, you have to build a mountain of microservices with an even bigger mountain of tools.

For frontend it's no longer enough to know HTML, CSS, basic JavaScript and maybe JQuery. It's not enough to render static templates on the server. You have to build a SPA with dynamic bindings and a build pipeline with webpack or whatever else.

It's all just ballooned like crazy and personally I found it incredibly hard to keep up with all of it. So I'm trying to transition into either front or back end, so I'm not trying to learn full stack everything anymore.

Re:I don't want to do front-end anymore by dimitrios1 on Tuesday February 09, 2021 @10:26AM (#26078509)
I've just come back to standard web architecture these days. Just use Rails, Laravel, or Phoenix. While your compatriots will still be configuring their prettierrc and eslint, you'll have released your first set of features.
Re:I don't want to do front-end anymore by bluefirebrand on Tuesday February 09, 2021 @11:53AM (#26079695)
Yeah. It's fine for personal projects or small things but good luck convincing a big company that what they really need is 2009 technology nowadays.
Re:I don't want to do front-end anymore by tonyedgecombe on Tuesday February 09, 2021 @12:42PM (#26080369)
Well they are relying on 1995 technology (JavaScript).
Re:I don't want to do front-end anymore by veidelis on Tuesday February 09, 2021 @01:12PM (#26080715)
This is a weird statement. You are completely ignoring how the JS API in browsers has evolved.
Re:I don't want to do front-end anymore by AlchemistCamp on Tuesday February 09, 2021 @02:12PM (#26081358)
And the parent was calling Phoenix and Laravel, neither of which even existed in 2009, 2009 technology.
Re:I don't want to do front-end anymore by bluefirebrand on Tuesday February 09, 2021 @02:28PM (#26081515)
Was referring to rails, but sure.

And yes, I was wrong, rails has been around longer than that, it was just a guess.

Re:I don't want to do front-end anymore by AlchemistCamp on Wednesday February 10, 2021 @04:56AM (#26087329)
It's still called Rails but it's a radically different framework now. 2009 was before the big merge with Merb (a then competing framework).
Re:I don't want to do front-end anymore by arvinsim on Tuesday February 09, 2021 @12:15PM (#26080009)
Is Phoenix really that mainstream now?
Re:I don't want to do front-end anymore by AlchemistCamp on Tuesday February 09, 2021 @02:07PM (#26081320)
The person you're answering said nothing about Phoenix being mainstream, but it's mainstream enough for Discord and Brex to build unicorns on its back.

The reason I've been teaching it myself, despite Elixir being a young, niche language is that I believe it's an ideal choice for a solo-founder or small team trying to build an ambitious web app. It's a tool I personally want to have at my disposal.

Discord is a great model: start with a simple Phoenix app, ship way faster than the competition, build out more sophisticated infrastructure with scale, and then finally rewrite core loops as NIFs (natively invoked functions) that are implemented in Rust. They were in a crowded market with extremely well-funded competitors and they still built a considerable lead in product and infrastructure.

Re:I don't want to do front-end anymore by arvinsim on Tuesday February 09, 2021 @08:43PM (#26084907)
Right. I did hear that Elixir and Phoenix works really well for concurrency
Re:I don't want to do front-end anymore by rini17 on Tuesday February 09, 2021 @03:07PM (#26081855)
I'll bite: What kind of frontend stuff can't be done without HTML, CSS, basic JavaScript and maybe JQuery?
Re:I don't want to do front-end anymore by bluefirebrand on Tuesday February 09, 2021 @04:25PM (#26082565)
I am not saying those things are insufficient to build good websites and apps.

I am saying it does not matter if they are sufficient on their own. If you want to find professional work as a frontend dev in 2021 you will be expected to learn larger and more complex toolchains.

Re:I don't want to do front-end anymore by collyw on Wednesday February 10, 2021 @04:17AM (#26087070)
As a backend dev I have spent a fair bit of time in the last few years fixing shitty outdated frontend stuff. Angular 1, Dojo at present. It would have been so much easier and more maintainable if these apps had been done with server side rending and a bit of JQuery.

I am sure there are plenty of applications in maintenance mode using simpler tech (or possibly not, because the lower complexity means that there are far less bugs?)

Re:I don't want to do front-end anymore by justsomeuser on Tuesday February 09, 2021 @08:33AM (#26077223)
> the story's exactly the same on the backend

I don't think it is, for the business-logic code portion any way.

For backend, the hiring is typically "you know Java" or whichever $backend_language.

For frontend, your job application will be terminated in the early stages of the pipeline because you do not know the latest 2 year old framework (that is written in JS that you know extremely well).

10 years of JS and web experience amounts to nothing because "you do not know Angular". I do not think this applies to backend at all, they just see a "langauge-X developer".

Re:I don't want to do front-end anymore by sai_c on Tuesday February 09, 2021 @08:40AM (#26077282)

    I don't think it is, for the business-logic code portion any way.
You gotta be joking. Most of the time this is an attempt to transform dysfunctional processes from reality, to functional processes in software, resulting in dysfunctional software.
Re:I don't want to do front-end anymore by rzzzt on Tuesday February 09, 2021 @06:51AM (#26076421)
This fine song includes the name of 168 AWS services: https://youtu.be/BtJAsvJOlhM
Re:I don't want to do front-end anymore by mellosouls on Tuesday February 09, 2021 @07:29AM (#26076700)
Brilliant! Tom Lehrer would approve I reckon.
Re:I don't want to do front-end anymore by durnygbur on Tuesday February 09, 2021 @06:03AM (#26076075)
I have a strong impression also that the hysteria accomodated well in the backend world. Folks in the workplace need containers on k8s cluster to deploy a static website. I feel I'll start throwing things on hearing the word "cluster", but wait - the data lakes on the cloud are coming. We need a bloody thunderstorm.
Re:I don't want to do front-end anymore by alpaca128 on Tuesday February 09, 2021 @07:01AM (#26076500)
Theory: data lake

Reality: data leak

I'm also tired of all those hyped technologies. Sure, containers, "serverless" etc. are neat and powerful things, but in most cases it reminds me of Top Gear's kitchen blender powered by a V8 engine. Yes, I could use TypeScript, React and a couple other libraries to build that website. But then I also need to handle 3 configuration files and their interactions, wait for the incremental compilation to run through after every change, waste time debugging because the incremental builds got the whole amalgamation into an undefined state and deploying the project now requires its own toolchain and scripts.

Re:I don't want to do front-end anymore by bryanrasmussen on Tuesday February 09, 2021 @08:05AM (#26077002)
>it reminds me of Top Gear's kitchen blender powered by a V8 engine.

sadly, there is no kitchen blender powered by Node.js in the V8 engine.

Re:I don't want to do front-end anymore by BoumTAC on Tuesday February 09, 2021 @09:24AM (#26077775)
coming soon to Deno !
Re:I don't want to do front-end anymore by tanseydavid on Tuesday February 09, 2021 @05:35PM (#26083359)

    418 I'm a teapot
Re:I don't want to do front-end anymore by vmception on Tuesday February 09, 2021 @07:19AM (#26076627)
> The endless bullshit of dealing with "Log in with Facebook/Google/Apple" because that's what people expect these days.

That reminds me, there should be a mandatory session variable that tells you which of those you actually use to sign up/in

Re:I don't want to do front-end anymore by sai_c on Tuesday February 09, 2021 @08:33AM (#26077217)

    Kubernetes. Docker. AWS and its gazillion impenetrable product names. The days of security updates, pentests,     
    honeypots and captchas you have to go through in order to put up a webapp that won't be commandeered by (insert 
    bad guy here) within hours. The endless cycle of breakage on your server because LetsEncrypt or whoever have 
    upgraded their crypto libraries to fight against (insert bad guy here).

    The need for a lawyer to write you a privacy policy before you can let people log into your site. The endless 
    bullshit of dealing with "Log in with Facebook/Google/Apple" because that's what people expect these days. And 
    even then it's better than dealing with email verification because Gmail/Hotmail will kill your emails anyway.
I've often heard the term "If bridges were built like software..." to show the fragility and ad hoc building of software. But let's image "If bridges were built like software" to survive pretty much any kind of malicious attack (like in "WTF? Why did the bridge collapse when those crazy guys bombed it?").

So maybe, just maybe, not everything should be a web app, and be connected to everything.

EDIT: Corrected typo.

Re:I don't want to do front-end anymore by higerordermap on Tuesday February 09, 2021 @07:34AM (#26076733)
Assuming learning is not a big problem, which area would be pleasurable experience? There's not a whole lot there except Back end, front end, embedded, mobile application, ML? Any substantial fields I missed?
Re:I don't want to do front-end anymore by splatcollision on Tuesday February 09, 2021 @07:38AM (#26076752)
Game development! You can choose whatever tech you are most familiar with and you get to be creative, work on probably the most interdisciplinary area of technology possible.
Re:I don't want to do front-end anymore by Kaze404 on Tuesday February 09, 2021 @07:45AM (#26076816)
How do you start with game dev as someone who already knows programming? I've tried to get into it at least 3 different times with different approaches, and could never reach a point where I could make even the most basic of games after hours of Unity articles / Unity projects / YouTube videos / Godot documentation, whatever.

Every time I try I feel like I must be missing something because everyone says it's easy to get into, but all the information I can find is completely useless.

Re:I don't want to do front-end anymore by why_Mr_Anderson on Tuesday February 09, 2021 @02:27PM (#26081507)
Because game dev isn't about programming for the most part, making game engines is. But that's a whole different beast where hardcore math and all kind of tricks and hacks often considered 'wrong|unmaintainable|bad practices' here on HN rule supreme.
Re:I don't want to do front-end anymore by sprkwd on Tuesday February 09, 2021 @07:54AM (#26076901)
Make a game in the programming language that you know.
Re:I don't want to do front-end anymore by Viliam1234 on Wednesday February 10, 2021 @05:13PM (#26095506)
Big frameworks like Unity make difficult things easier, but easy things more complicated. I would recommend starting with a simple game, in the programming language you are most fluent with. An example of a simple game would be a minesweeper. An example of a complicated game would be a massive online multiplayer strategic 3D shooter with artificial intelligence... in Unity ;)

Computer games have a few things different than usual applications; you probably don't want to encounter all those differences in your first project. The user interface is generally completely different: instead of dialogs with buttons and input fields, you typically have one window with canvas, where you paint things. (If you also want buttons and input fields, you probably have to implement them yourself on top of that.) Things are in motion, they appear and disappear, interact with each other. You probably want to clearly separate updating of the game state from displaying the game state. (You probably also want to save and load the game state.) In addition to algorihms, there is lot of data: design of the levels, different units which are kinda the same thing but with different parameters and different pictures. (Will you also make a level editor? Or design a clever system for easily describing the level in a plain-text file?) Plus the details that still require lot of work, like the intro screen, help screen, option screen, high score table, etc. Plus you sometimes need to care about performance; a one-second delay to e.g. calculate the proper path through a maze may be unacceptable, because it would make the game freeze for a moment every time you command a unit to go somewhere. For network games, performance is even more complicated. You need to make semi-arbitrary choices about object dimensions, bitmap resolutions, etc. For a professional looking game, you also need music and sound effects.

None of this is rocket science. But each of these things requires some thinking and experimenting, when you do them for the first time. You might want to create a demo for each of them separately. Definitely don't use all of them in your very first game.

Start with a simple game, such as minesweeper. Open a game dialog with a canvas. Load bitmaps from resource files. Place the mines randomly in a memory array, then paint that information on the canvas. When user clicks mouse, convert the mouse coordinates to the click field, update the memory array accordingly, then repaint the canvas. That's all, but you need to think about all possible game states: each field can be "hidden", "hidden with mark", "hidden with question mark", "open", "open with number", "open with a bomb that killed you". Also, when you are killed, you cannot click anymore (other than the restart button).

As a next game, just make a simple animated demo: balls bouncing within a rectangle. (To keep it simple, balls only bounce from the boundaries of the rectangle, not from each other.) Your game state is where the balls are (x, y) and what is their speed (sx, sy). You need a method that will update the state when some times has passed; the time interval is provided as a parameter. The coordinates need to be floats, even if ultimately they will be rounded to int when you paint the balls. A linear movement is simple: add "time × sx" to "x"; if you passed a boundary, fix "x" and flip the sign on "sx" (and do the same for "y" and "sy".) Make a loop that waits for some time interval, updates the state, and repaints the state. Congratulation, you made your first animation! Now try supporting the mouse; when a user clicks find out if any ball was clicked, if yes, change its color.

When you have these two parts mastered, you are ready to make a simple animated game. On a very abstract level, there is a game state, a method that updates the game state when a time interval has passed, a method that updates the state when a mouse was clicked or a key was pressed, and a method that paints the state. And an infinite loop of: wait, update for time, update for mouse and key events, repaint; and again. For a more complex game, the game state is more complex, but the essence remains. (Plus you may want a method to save the state to a file, and load the state from a file.)

Moving a player character can be done the same way. You have an object with coordinates "x", "y" and speed "sx", "sy". When time passes, "x" and "y" update based on "sx" and "sy". (To implement friction, make also "sx" and "sy" move slowly towards zero based on time passed. To implement gravity, increase "sy" based on time passed.) When an arrow key is pressed, "sx" or "sy" is either increased or decreased. When the object hits an obstacle, it bounces. When the player object overlaps another object (a collectible item, or a missile), the other object is destroyed and the game state is updated accordingly (score increased, key collected, or hit points reduced).

How to implement shooting? The shots are also objects with their own "x" "y" "sx" "sy", which are generated when you press a key, and disappear when they hit something or get out of the screen. How to implement enemies? For starters, make them bounce off the boundaries of the screen, and shoot at random moment in a random direction. Check when your missile collides with an enemy (destroy the missile, reduce enemy hit points, destroy enemy if hit points get to zero), check when enemy missiles collide with you.

The next step would be to load levels from files. For example, imagine a rectangular maze M×N, loaded from a text file (where walls are represented by "x" characters, and empty squares by spaces), and your task is to walk from the start to finish. Optionally, add colored keys and doors (specified in the text file e.g. as "a" "b" "c" for keys, and "A" "B" "C" for doors), where you need to collect a key in order to be able to walk through the corresponding door. Make 10 levels like this; completing a level starts the next level. The easy way is to do this without animation: your positions are integers in the maze grid, and they update only when you press a key.

Now make the same version, but more alive. Make a rectangular maze with walls loaded from file. Make yourself and the enemies bounce from the walls (this will require a little math, but quite simple). Add shooting. (To keep it simple, enemies do not bounce from each other. Neither do you bounce from an enemy, but your collision removes hit points from both.)

Now all you need is to add more sophisticated behavior to the enemies. The constraints are that the enemy has a state, and the method that updates the state of the game will also update the enemy state. (The algorithm for enemy is implemented in small pieces. For example, instead of a loop "choose a random place on the screen, walk there", you would specify small increments, such as "if you have a place chosen, move towards it time×sx steps; if you reached the place, choose another"... essentially write a code which executed many times repeatedly will produce the desired behavior, but at each time only does a tiny part of it.) Make multiple enemies, specified in a configuration file: they will differ by bitmaps, amount of hitpoints, and maximum speed.

...and when this is done, you are ready for Unity. What Unity does for you is providing 3D graphics and 3D physics (it will calculate the bouncing and collisions for you).

Re:I don't want to do front-end anymore by ritchiea on Tuesday February 09, 2021 @07:52AM (#26076881)
I hear game dev is the worst paid as well!
Re:I don't want to do front-end anymore by powerapple on Tuesday February 09, 2021 @03:07PM (#26081854)
Mobile games are quite lucrative. Those leading games typically have large bonuses.
Re:I don't want to do front-end anymore by why_Mr_Anderson on Tuesday February 09, 2021 @08:23AM (#26077154)
AAA game development is the very definition of misery, pain and suffering.
Re:I don't want to do front-end anymore by harimau777 on Tuesday February 09, 2021 @08:35AM (#26077237)
Are there entry level positions in game dev outside of the, notoriously horrible to work at, AAA studios?
Re:I don't want to do front-end anymore by RHSeeger on Tuesday February 09, 2021 @09:33AM (#26077899)
I feel like I'm misunderstanding your question, because there's tons of other work when it comes to programming. Desktop UI programs of many different types (ex, web browser, chat, games, etc), command line utilities, compilers, operating systems, data bases... the list is long.
Re:I don't want to do front-end anymore by spinlock_ on Tuesday February 09, 2021 @02:48PM (#26081700)
I recently got really into databases. However, coming from the "web dev world", I'm still struggling to decide whether the time invested is really worth it. From an educational point of view, it damn sure is. But in order to make a transition into this area professionally, I'm not sure given the low number of companies that are working in this area (worse here in Europe).
Re:I don't want to do front-end anymore by collyw on Wednesday February 10, 2021 @04:25AM (#26087127)
Wondering if databases are worth learning? SQL is still one of the most in demand tech skills and has been for decades (for good reason in my opinion).
Re:I don't want to do front-end anymore by codegeek on Tuesday February 09, 2021 @08:50AM (#26077380)
This person backends. No seriously though, well said :). If the author thinks backend is all sane, let us welcome them to the world of everything you said plus more stuff. How about working with databases, ORM, API (is there a standard ?), package managers (composer?, gem?), authentication/authorization ? (should I use JWT..ooh thats crazy. cookies anyone??) etc etc
Re:I don't want to do front-end anymore by simonbarker87 on Tuesday February 09, 2021 @09:03AM (#26077527)
Yes, as a full stack dev I think the front end is easier than backend.

We joked at my old place that the best thing for a web dev's sanity long term is to retire into SQL

Re:I don't want to do front-end anymore by specialist on Tuesday February 09, 2021 @10:49AM (#26078837)
I sympathize differently: I just want to work. Change for change's sake gets really, really old.

In 2007, I was already long past done. DHTML [1997] and AJAX [1999] were distant memories. (Had to check wiki.) I mercifully forget what the hotness was during the final years of the Bush Admin.

Sure, some things get better. Fonts on the web are now pretty terrific. But React? Please kill me. Components? Code generation? Meta meta languages? Ya, no thanks.

But I am happy the kids are now finally rediscovering (reinventing) server side includes. Full circle.

Good times.

Re:I don't want to do front-end anymore by collyw on Wednesday February 10, 2021 @04:23AM (#26087117)
I think once you have been working in tech for a decade or so, you start to see the fashion show for what it is. Constant churn for the sake of it. Sure some stuff is genuinely useful, but the majority of it gets forgotten about pretty quickly.
Re:I don't want to do front-end anymore by Nic0 on Tuesday February 09, 2021 @07:49AM (#26076858)
> Oh boy. I sympathise entirely with this post, but the story's exactly the same on the backend.

I was thinking exactly the same thing while reading the conclusion of the post. You leave frontend complexity for even more complexity, are you nuts!

The good old single PHP page is gone long time ago as well.

Re:I don't want to do front-end anymore by collyw on Tuesday February 09, 2021 @07:22AM (#26076651)
The thing is a LAMP stack would serve most businesses needs fine and would take a fraction of the effort to implement. Server side rendering and a bit of jQuery. Actually matching technology to requirements is going to make me unemployable in the future.
Re:I don't want to do front-end anymore by FriedrichN on Tuesday February 09, 2021 @09:06AM (#26077552)
Neither is retreating to B2B. Personally I can deal with B2B than with B2C because it's not all about The New Shiny Thing™.

But then you get to integrate with some weird funky SAP extension some company wrote and they can't even configure their web service URLs right.

If you work in IT, you'll have to perpetually fight against people and technology. It's why people hate people who work in IT, because they always say "no".

Re:I don't want to do front-end anymore by properdine on Tuesday February 09, 2021 @09:46AM (#26078062)
My impression is that backend changes more slowly (and is easier to control) than frontend. At least when you're doing backend you can choose your whole stack (vs. frontend where you have to deal with a huge array of different types of computers and such).

Plus IMO you set up your framework for building once or twice and just reuse it everywhere, so doesn't end up as difficult as the faster changing front end work.

Re:I don't want to do front-end anymore by ezekg on Tuesday February 09, 2021 @09:52AM (#26078118)
> But the story's exactly the same on the backend. Kubernetes. Docker. AWS and its gazillion impenetrable product names.

Not in my experience. I made the switch from front-end to back-end about 5 years ago and I never worked with k8s or AWS, and Docker very little only for spinning up local envs; those were always the job for devops. I guess it just depends on the company. I mainly read code and wrote code.

Re:I don't want to do front-end anymore by uxcolumbo on Tuesday February 09, 2021 @07:42AM (#26076799)
> The endless bullshit of dealing with "Log in with Facebook/Google/Apple"

Do you have some sources for that? Just curious.

I personally avoid having to login via FB, Google etc.

Re:I don't want to do front-end anymore by antfarm on Friday February 12, 2021 @07:22AM (#26112896)
Native iOS is relatively simple toolwise, esp. with Swift and SwiftUI, yet at the same time very deep and powerful.
Re:I don't want to do front-end anymore by kgwxd on Tuesday February 09, 2021 @09:25AM (#26077795)
At a larger company, most of that would be in the infrastructure department.