Паттерны проектирования и язык в котором ты собираешся их применять обычно не принято разделять.
Врятли до миддла за год возможно это все подтянуть, особенно если ты будешь учить питон с нуля и не имеешь нормального представления о алгоритмах и структурах данных. Опять же смотря, что ты подразумеваешь под миддлом. У всех представление о знаниях миддлов, джунов и сеньерах разнятся. Вести такую статистику обучения довольно удобно в trello. И миддла от джуна в первую очередь отличает большая практика в тех направлениях, которыми он занимается.