Я бы начал вообще с мысли, что для обучения существуют учебники и хорошие курсы. Они как раз создаются для того, чтобы новичку не приходилось самому ломать голову над тем, с чего начать и в какой последовательности изучать материал.
Поэтому на старте я бы не пытался самостоятельно выстроить идеальный маршрут из ООП, SOLID, паттернов и архитектуры. Гораздо разумнее взять хороший учебник по Python, пройти его последовательно и параллельно писать код руками.
А дальше уже идти от простого к сложному:
Python → функции и процедуры → модули → классы → ООП → несколько небольших проектов → SOLID и паттерны → архитектура
После этого уже появляется собственный опыт и реальные проблемы. Классы могут становиться слишком большими, модули — сильно зависеть друг от друга, код становится трудно менять. И тогда SOLID и архитектурные решения воспринимаются не как набор непонятных правил, а как способы решения конкретных проблем.
При разборе больших проектов я бы тоже не пытался сразу понять всю архитектуру. Лучше взять один сценарий и проследить его выполнение
То есть я бы строил обучение по принципу:
сначала учимся писать → сталкиваемся с проблемой → узнаём способ её решения → применяем → понимаем, зачем он нужен.
А не наоборот: сначала учим архитектуру, а потом пытаемся понять, какую проблему она вообще решает.