In my experience consulting for basically every kind of company that ever makes software, most front-end development follows the former pattern, not the latter.
I agree preemptively that you aren't going to get a job on the front-end team at Square without an intimate knowledge of how modern HTML layout works. But that's not the problem we're trying to solve with posts like these; rather, it's "where do I start". Here's where to start.