Hacker News new | ask | show | jobs
by zelphirkalt 1464 days ago
Here is my take on this whole thing.

You want tech, that doesn't change every 5 years -- Wait, till you get in contact with frontend/web development, where people adopt new frameworks every couple of months, rehashing the same ideas over and over again, often piling on more and more overhead, so that apps become slower to respond than static rendering templates on the server side and sending a rendered template to the browser at each click of a link. OK, OK, some approaches are novel, sort of. Not all of it is bad, but a lot is utterly hyped up for no technical valid reason. Most of the hype is centered around the believe, that "<Big company x> does y, so y must be good and you are insane, if you do not adopt this last week!"

That said, the whole lambda thing is an idea, which has been around for decades. It is always the same principles under the hood, that drive this kind of tech and seems, that only the recent years or decade they have been paid more attention to. Pure functions, functional programming, and things like sending the function, not the data, to a place, where the computation needs to happen. None of it is new. In Java some of it might be "new", because after decades of foot dragging, they finally added lambdas. But then again you were able to achieve the same thing using anonymous inner classes in the past. Just more verbose and not as encouraging to use.

Basically the whole AWS lambda thing is a branded name for how distributed systems were build for decades, just using different provider and tech stack, but the same principles apply. Watch some talks of Joe Armstrong about Erlang or look at the book "Learn you some Erlang for great Good" for comparison. Joe had some excellent metaphors for lightweight processes and how they enable distributing computation. Recently there was some story here on HN about Klarna using Erlang for example. Not a small business.

You are right about something. Many people think the cloud will magically make everything better. While sometimes it might be a good solution for some problems, many companies could well work without it. Often there is some FOMO involved in having to move to the cloud. But they will lose independence that way as well.

> All your mastery of Kubernetes will be for nothing.

Yes, unless these people entrench Kubernetes in sufficient setups, so that the companies running that cannot simply migrate away and choose to stick with it, to avoid a migration.

> And the worst part is when that day comes everyone will act like it was never that great all along. They'll also embrace the next trend like it's the greatest thing ever. Because software engineers are cursed.

Yes, this is a trend. You can observe this behavior best in web development, where the cycles run faster.

Still, with mainly Java experience (and I am making assumptions here), I guess I would recommend looking at at least a language of the functional paradigm (even if only in free time) and then perhaps other paradigms, because they are the foundation of many new tech, enabling them. I mean, all of that is possible in Java, but Java is not encouraging it at all and usually existing Java projects will not be written in a style, which lends itself to writing in a functional style. This could also be a breath of fresh air, to ignite the fire again and learning many interesting things.