This is not a standard code-based question. I would like to ask some seasoned software engineers / developers, actually anyone who has ever been in my shoes.
This is the experience given: 1. About 2,5 years of C# (intermediate+-) experience. 2. About 1 year of enterprise project experience. 3. About 1 year of enterprise ASP .NET experience.
This is the given problem definition: 1. Huge C# solution with many projects. 2. Complicated architecture with many layers. 3. Many referenced libraries (projects are accessible) built in-house. 4. Business side is still not properly understood. Difficult context. 5. Many bugs in the software.
So, given all this I am wondering is there a way not to get crazy? I am working in a company for almost 1 year and everything is new for me. When I started, I had a blurry idea about ASP.NET Web API and angularJS. The solution is very big and built in a layer-like way. Everything is abstracted, overwhelmingly. Scopes, layers, injections, patterns. All this is just sometimes too much. After almost 1 year of work with all this I can say that I still have about 40% knowledge about the business part and 30% of the solution and the concepts behind its design. If I pick up a bug task I can't solve it because of the lack of deep technical knowledge and software design. Super frustrating all the time.
Can someone advise how did you guys deal with this? Any known best practice to tackle this sort of steep learning curves? Everything goes.
Thanks in advance!