I think some curation is in order. I have found that studying Dijkstra's mathematical documents have been great for developing methodical, analytical thinking. They have also been indispensable for developing a taste for elegance in notation and proofs.
All of this translates directly into developing a taste for elegant (programming) interfaces and well structured architectures.
In the past, I put together a curated list of pdfs for anyone who wants to start studying and practicing Dijkstra's mathematics. Here is what I recommend:
EWD1300 - The notational conventions of the mathematics : http://www.cs.utexas.edu/users/EWD/ewd13xx/EWD1300.PDF
After that, I have this collection of EWDs and other documents that offer the best, graded, introductions to the idioms and concepts of Dijkstra's mathematics: