Learning the "philosophy" of Redux is a natural by-product of learning how to actually use Redux.
I don't think that's natural at all. You might learn some kind of philosophy, but it's not neccessarily the right one. If frustrated or pressed for time, people might also give up completely and just resort to "copy-paste programming".
That said, the answer is not throwing some documentation full of abstract concepts at a novice and expect that they magically understand them in exactly the same way as the designers. That's just as bad. But I think many designers that tried that and are frustrated that it doesn't work try to fix it by declaring the concepts as "boilerplate" and hiding them from the users completely. That will work exactly until the user actually needs to know about the concept.
I believe you can grasp many abstract concepts a lot better if you actively work with them. So it's crucial to have a good progressive learning curve that makes you "experience" the concepts and not just read about them. (Ideally by first explaining why you need them and what problem they solve)
Comments
I don't think that's natural at all. You might learn some kind of philosophy, but it's not neccessarily the right one. If frustrated or pressed for time, people might also give up completely and just resort to "copy-paste programming".
That said, the answer is not throwing some documentation full of abstract concepts at a novice and expect that they magically understand them in exactly the same way as the designers. That's just as bad. But I think many designers that tried that and are frustrated that it doesn't work try to fix it by declaring the concepts as "boilerplate" and hiding them from the users completely. That will work exactly until the user actually needs to know about the concept.
I believe you can grasp many abstract concepts a lot better if you actively work with them. So it's crucial to have a good progressive learning curve that makes you "experience" the concepts and not just read about them. (Ideally by first explaining why you need them and what problem they solve)