I like the explanation of horizontal slicing and the waterfall-like sprint flow. I once wrote an article talking about the proper way of preparing product backlogs without functional division that causes inevitable dependency among the team. Instead, every user story should include the entire components that brings a feature to life.
As a newbie, he might unconsciously prepare product backlogs from functional perspectives, because we are trained to master some skills and lack of the ability to get the overview. Therefore when I realized the idea, I started adapting my viewpoints to user stories from another dimension, and try to vertically divide the product backlogs to ensure minimum viable features are delivered as released. This also made the team aware of the intense collaboration to bring a feature to life, not just finish their own parts.