Этот навык прокачивается собственным опытом.
Читать чужой код в данном случае сложнее, чем собственный, который ты написал и понимаешь его "скелет".
опять же, пока человек молод, мозг можно развить таким образом, чтобы на "быструю память" выделялось больше нейронов, так сказать привычка удерживать в "буфере" бОльшую цепочку. Чем человек старше, тем больше мозг решает задачи так, как привык до этого.
Но со стороны кода можно все упрощать.
Это делается декомпозицией кода на кусочки - функции или объекты с методами.
Для этого используется конвенции для именования переменных, функций, объектов, методов так, чтобы по названию было легко понимать их предназначение и возможно тип. Тогда не нужно в голове держать все нюансы, ты видешь глобальную цепочку.
Ну и стиль переносов, для облегчения чтения.
Ну и да, есть проекты, в которые чтобы нормально вникнуть, нужно много времени, месяцы, годы.
Поэтому собственно и стараются сейчас не писать полностью кастомный код, а пользоваться готовыми фремфорками, которые предлагают определенные паттерны.
Учат собственно общие паттерны и так далее.