Something important is “consuming” critically.
You can be a passive consumer and never improve your taste or skill. However when you consume with the intent of asking how and then attempting to answer that question ( for skill ) and why ( for taste ) you get a much different experience.
Read code, looking for patterns. Look at design looking for patterns.
Then play, try to implement what you saw, implement to opposite and see how if feels, see what happens to the code.
This is a lot of work, but helps you improve.
You've just suggested to me following optimization:
Because one always has to pay full attention when doing that :)