If you're talking about people who already know atleast one of digital design or firmware design (writing bare metal drivers etc) then your advice makes sense. But if I were a beginner trying to understand how digital logic design works, the whole Processor + Programmable logic and the complex interfaces between them can overwhelm me and take me away from exploring the base digital logic that is implemented. It will be a much more enjoyable experience to create something in the programmable fabric first and then think about how you can interface it with normal software.