Good ability to read code is what separates agood developer from not that good.
A good developer can work on any project. A not so good developer can only work in smaller not so complex projects written in their favorite framework with certain patterns.
A good developer can solve any task. A not so good developer says that the task (or the whole project) is wrong if is too difficult to do in their favorite framework or with their favorite pattern.