When I'm saying "area" I usually mean some relatively large unit or service, which is a part of a whole product, i.e. API service, location service, warehouse service, etc.
Context: a project with 20+ separate services that has been in development for 7 years. It has been rewritten from scratch, so if it counts, its over 25 years of history. A new team was hired a year ago or so to continue development and maintenance. We have 10 dev guys right now.
The usual workflow is when a new item arrives, it will be assigned to some dev, no matter what project area it is, and then the dev guy is responsible for its resolution.
It was a bit chaotic for us to develop in such a manner for the last year, because the code base is large from my perspective, and no one can know every corner of our app, especially when tasks randomly put you in different areas.
Question: is it a reasonable idea to assign a dev to be responsible for some areas(services), so he can focus on learning 1-2 services in details, and then maintain better knowledge of it? For example, we can maintain the same development process, but there will be a person who can perform a quality code review when someone creates a pull request to their area, or give some advice when it is needed.
We're about to discuss this internally in nearest future. I personally don't see any drawbacks and want to hear if someone had experience with such approach, its pros and cons, or maybe even other ideas on how current workflow can be improved.