Too Long; Didn't Read
Software engineering principles have been the building blocks of what we have today. SOLID is a software engineering acronym broken down to: Single-responsibility Principle, Open-closed Principle, Liskov Substitution Principle, Interface Segregation Principle and Dependency Inversion Principle. The goal of this is to make whatever that project you, as the engineer, is working on, be maintainable and extendable. The libraries you are actually going to use are those that you stumble upon while looking for a specific need and problem to solve.