I’m not an expert on frameworks
“… Here’s a possible surprise for you. I am not going to recommend that you need to become an Entity Framework guru. Nope, just the opposite in fact. I am going to suggest that you allow the Entity Framework development team to be the gurus, and you just focus on your specific application. After all, your Core Domain is where you want to put your creative energies, not in becoming an expert in Entity Framework.”
— Vaughn Vernon (from “Modeling Aggregates with DDD and Entity Framework”)
You might say, “What! Frameworks are the ones that make us do our work easily and fast! Why are you saying that being an expert on frameworks is not important?”
Wait!… I am not saying that being an expert on frameworks is not important. What I am trying to say is that, in programming, there are more important things to focus on than being an expert on frameworks — such as separating the business rules from the other parts of the system. The business rules in a system are not googleable, so I believe that it is very important to separate them so that it will be very easy to locate them when fixing bugs.
You might ask what my excuse is for not being an expert on frameworks…
My excuse is that frameworks change very often and I do not have all the time to catch up with all the changes. Also, many years ago in our school library, I read this from a book called “The Magic of Thinking Big”:
“It is more important to use your mind to think than use it as a warehouse for facts.”
“The ability to know how to get information is more important than using the mind as a garage for facts”
Today, we already have [the] google [search engine] which can serve as our garage for facts. We have StackOverflow too! And we have documentations for the frameworks we are using that are readily available online.
I would rather spend my time learning about how to write clean and decoupled code, and learning about software architecture and design, and learning about the domain of the project I am working on, than being an expert on frameworks.
But like I said above, I’m still willing to read and study more about a specific framework when I think my job requires a deeper knowledge of that specific framework.