Python - классный язык, чтобы с него начинать, но если это ваш первый язык программирования, лучше начинать с каких-то онлайн-курсов, которые помогут вам сложить знания в систему. Получив начальную базу, можно продолжать развиваться самостоятельно. В Яндекс.Практикуме, например, учиться можно на тренажёрах. Уклон там, правда, на анализ данных и data science, но, возможно, для вас это будет даже в плюс :)
Недавно мы в Академии Яндекса вспоминали набор советов от руководителя в команде бэкенда приложения Яндекс.Такси, Олега Ермакова. Вот какие материалы, по опыту Олега, могут вам помочь в изучении языка Python (одного из основных в современном бэкенде):
— Три книги:
Python Cookbook
Diving Into Python 3
Python Tricks.
— Видеолекции таких столпов IT-индустрии, как Реймонд Хеттингер и Дэвид Бизли. Из видеолекций первого можно выделить доклад «Beyond PEP 8 — Best practices for beautiful intelligible code». У Бизли можно посмотреть выступление про asyncio.
Чтобы обрести более высокоуровневое понимание архитектуры, Олег советует прочитать книги:
— «Высоконагруженные приложения». Здесь подробно расписаны вопросы взаимодействия с данными (кодирование данных, работа с распределёнными данными, репликация, секционирование, транзакции и т. д.).
— «Микросервисы. Паттерны разработки и рефакторинга». В книге показаны основные подходы к микросервисной архитектуре, описаны недостатки и проблемы, с которыми приходится сталкиваться при переходе с монолита на микросервисы. В посте про них почти ничего нет, прочитать эту книгу всё равно стоит. Вы начнёте понимать тенденции в построении архитектур и изучите основные практики декомпозиции кода.
Один из самых важных навыков, который можно до бесконечности развивать в себе, — это чтение чужого кода. Если вдруг вы понимаете, что редко читаете чужой код — выработайте в себе привычку регулярно смотреть новые популярные репозитории.
Удачи!