This is, by far, not the first post on this topic, but it's something that I've considered for years and years and recently I was presented with the question again. Though this post is through a node perspective, it applies to front end development too....