Thanks.
It just doesn’t work this way.
You get good at some specific activities and then maybe generalize the experience to the point where you’re able tov extrapolate it to something else.
In other words — first you need to answer what do ypu need this abstract skill for, what exact goal and then go get good at that specific thing.
An example of the above with C# might be determining what is a class member function versus an extension method.
The parameters that are used in the method are the only ones that are logical.
Eg. Looking up a car owner by license plate in a SaaS.
Yes for: license plate number, on ( datetime) and country code.
No for tenant ( eg. should be injected by Tenancy service).
Take time to do some refactoring if you can.
Gradually you will impress upon yourself to take the initiative and do things right the first time (aka “the hard way”.)