The most effective programmers don't learn libraries. They look them up. A good library has embarrassingly greppable documentation, and has a regular enough design that it's easy to predict when it should have a built-in facility to help with whatever you're doing at the moment.
The most effective programmers do spend time learning design and architectural patterns, data structures and algorithms, stuff like that. Because you need to be familiar with those sorts of things ahead of time in order to know when to use them, and also when not to use them.
right, "framework" in this context is an architectural pattern. i am happy to learn one or two to know how frameworks function, and how to apply them. which framework i end up using doesn't matter. once the pattern is understood, they are mostly interchangeable (in a conceptual way) and it's more a matter of applying any chosen framework to the problem.
The most effective programmers do spend time learning design and architectural patterns, data structures and algorithms, stuff like that. Because you need to be familiar with those sorts of things ahead of time in order to know when to use them, and also when not to use them.