Java + Spring Boot. Old school server-side rendered templates with Thymeleaf if the site is static, Vuejs frontend instead if something more dynamic is needed.
Alternatively, Flask/Jinja/Vuejs if I'm working in Python.
Alternatively, Flask/Jinja/Vuejs if I'm working in Python.
I wonder what things will look like in 10 years. My feeling is there is a lot of room for improvement still.
Regarding magic... I think it is a matter of pulling away the curtain; once you know how the DI works, it becomes drastically easier to write code with it, since you can predict its behaviour. I have always had trouble when I don't know all the rules of a system.