Oh: and I must say that modern frameworks have made frontend development much easier than it used to be. With Angular, Vue, React you can actually apply the good engineering practises to structure your code in a way that makes it more manageable than it was in the past (with JQuery + server-side templates).
The testing frameworks are also pretty good, helped a lot by the frameworks being built properly (inversion of control :drools:).