If I could be bold enough to say that theme development in Wordpress sucks. I remember how much I dreaded the repetition i.e. copying and pasting code. Views were always tightly coupled to the business logic with no clear separation of concerns. Templates would end up having spaghetti PHP code scattered around. Wordpress plugin development is, however, somewhat better compared to theme development; where at least you can isolate the logic in classes.
Wordpress itself is evolving drastically by introducing features like Gutenberg and WP Rest API. However even with these advanced and cool features, unfortunately, theme development experience hasn't changed much. But don't despair, Roots have you covered. The community behind Roots has introduced some awesome development tools like sage starter them, Bedrock and Trellis, which makes theme development fun.
In this course, I will walk you through the process of setting up sage theme. I will walk you through some of the basic concepts in Wordpress and an alternate way of developing themes which will help you to stay DRY ( Don't repeat yourself ).