I like the idea of the article. However, I wonder what are ways to increase the practice surface area for programming / software engineering?

I can think of various high-Level activities such as analyzing systems we interact with on a day-to-day basis. However, I cannot come up with exercises that would improve my code itself.