You might make some mistakes if you build without frameworks (and you have to be tactical about when you do it), but if you don’t do it, how are you ever going to gain knowledge of the web platform?
Answers to Questions About Performance
Paul Lewis

Completely agree. But I’m more of the school of thought that you build with a framework if you must, but, to borrow from your metaphor, always be curious about what’s under the hood. I like the idea of figuring out why exactly you’re using a framework, then learn how to do that thing with plain ol’ vanilla whatever. Same goes for libraries. Whether or not you end up using your bespoke code in production is up to you.