Мне 16 лет. Я изучал Python в течение 2 лет самостоятельно, без прохождения курсов. Однако я чувствую, что много чего не знаю или упустил. В данный момент я осваиваю Flask и недавно завершил изучение основ Git, ведь очень хочу получить опыт работы в команде. В будущем планирую стать backend-разработчиком на Python. Сейчас я запутался в том, что именно нужно изучать, какие материалы читать и где искать практические задания. Мне нужна помощь профессионалов и специалистов в этой области. Заранее благодарен за советы!
Прекрасно, что у тебя уже есть база знаний и опыт программирования на Python! Вот несколько советов, которые помогут тебе эффективно развиваться как backend-разработчик: ### 1. **Углубление знаний Python** - **Структуры данных и алгоритмы**: Убедись, что ты хорошо понимаешь основные структуры данных (списки, множества, словари) и алгоритмы (поиск, сортировка). Это важно для решения задач и оптимизации кода. - **ООП и паттерны проектирования**: Углубись в объектно-ориентированное программирование, изучая, как создавать классы и использовать наследование. Паттерны проектирования (Singleton, Factory и др.) также полезны. ### 2. **Изучение веб-технологий и Flask** - **Flask**: Продолжай изучать Flask, но также обрати внимание на такие темы, как работа с базами данных (SQLAlchemy), создание RESTful API, аутентификация и авторизация пользователей. - **HTML, CSS и JavaScript**: Хотя ты фокусируешься на backend, базовые знания фронтенда помогут лучше понимать, как работает весь стек. Это необязательно, но полезно. ### 3. **Базы данных** - Изучай SQL и работу с реляционными базами данных (PostgreSQL, MySQL). Также ознакомься с NoSQL базами (MongoDB). - Понимание основ проектирования БД будет очень полезным. ### 4. **Инструменты разработки** - **Git и GitHub**: Ты уже начал изучать Git, что отлично. Попрактикуйся работать с репозиториями, делая форки, создавая ветки и отправляя пулл-запросы. - **Docker**: Ознакомься с основами контейнеризации, это поможет в разработке и развертывании приложений. ### 5. **Практические проекты** - Создай несколько собственных проектов на Flask, включая полноценные веб-приложения с интеграцией баз данных. Это может быть что-то простое, например, блог или TODO-приложение. - Участие в open-source проектах на GitHub не только даст опыт работы в команде, но и расширит портфолио. ### 6. **Изучение теории** - Читай книги и онлайн-курсы по Python и Flask: - «Fluent Python» — хорошая книга для более глубокого понимания Python. - Курсы на платформе Coursera, Udemy или аналогах по веб-разработке на Python. - Изучай полезные ресурсы, например, документацию Flask, статьи на Medium по интересующим тебя темам. ### 7. **Сообщество и обмен знаниями** - Вступай в сообщества разработчиков (например, на Reddit или в Discord), участвуй в обсуждениях. - Посещай митапы и конференции, если есть такая возможность. ### 8. **Постоянное обучение и практика** - Регулярно решай задачи на платформах вроде LeetCode, HackerRank, CodeWars. Это поможет практиковаться и улучшать алгоритмическое мышление. - Удели время на изучение новых технологий и тенденций в разработке. ### 9. **Создание портфолио** - Создай GitHub-репозиторий с выполненными проектами, чтобы показывать свои достижения потенциальным работодателям. ### 10. **Открытость к предложениям** - Рассматривай стажировки и фриланс для получения реального опыта. Это поможет тебе лучше понять, как работает разработка на практике. Следуй этим шагам, и ты сможешь значительно улучшить свои навыки backend-разработчика на Python. Удачи в учебе и в разработке!
Я 2 года изучал Python (сам, без курсов).
Думаю, что многого не знаю или упустил.
Переходи к созданию проектов, они будут выявлять над чем работать, и формировать тебя как специалиста.
Сейчас пытаюсь учить Flask, недавно закончил основы Git (очень хочу практики в команде).
Опять таки делай проект, я бы не рекомендовал flask (fastapi вместо), но главное это сделать проект, git будет нужен если работаешь один, необязательно командой.
В моих планах стать backend-разработчиком на Python.
В данный момент я просто запутался, что мне изучать, что читать, где брать практику.
Прекрасный выбор, после двух лет чтения, надо делать. Потом придет время опять почитаешь чего-нибудь.
Даю те советы который сам был бы рад получить много лет назад.
Стек: FastAPI, SQLAlchemy, PostgreSQL, Docker, хватит для начала.
Придумай интересную задачу для проекта, вообще пофиг что, главное чтобы тебе было интересно.
1) Поставь Linux, что-то простое к примеру Linux Mint, работай в нем и привыкай к терминалу, просто пользуйся ей, команды будут запоминаться по мере необходимости.
2) Читай книги, к примеру Грокаем алгоритмы. Бхаргава Адитья, она легко читается и с картинками..=)
2) FastAPI, напиши несколько эндпоинтов, с простой логикой, к примеру выводи данные из запроса в консоль, разберись в REST API, попробуй отправлять запросы через Postman и свагер /docs#
3) Когда разберешься с эндпоинтами, попробуй добавить базу данных, поставь PostgreSQL и SQLAlchemy, создай простую модель, попробуй записать данные из эндпоинта через ORM. Попробуй подключиться к базе через терминал, освой базовые команды SELECT * FROM table; ....
4) Попробуй добавить авторизацию, почитай что такое jwt token.
5) Напиши Dockerfile, собери проект в контейнер.
Не сдавайся, все получится!
Все обучение без практики - ничто.
Практика без смысла - демотивирует.
Придумай себе проект и пиши его. Можешь чисто для себя что-то придумать.
Популярно сейчас взять движок телеграм бота и попробовать в боте реализовать интересный и полезный функционал. Постепенно усложняй, дорабатывай.
Добавляй технологии (базы данных, авторизация, интеграция с какими-то апи, с мониторингом).
Гит можно и без команды использовать для своих изменений, чтобы мог откатить что-либо
Сначала научись что-то делать на одном языке.
Сделай пару сотен проектов с упором на развитие в ширину. (бэк, фронт, базы данных, операционные системы, докеры и т.д).
Можешь пойти на фриланс, там много придурков которые готовы тебя кинуть, зато опыта наберёшься)
Может и перепадёт что-то, заодно общаться, ставить и оценивать себя научишься - как по времени, так и по деньгам.
В случае кидалы, можешь спокойно взять его проект и доделать, с выбором технологий, которые ты считаешь правильными.
И в целом придерживайся Закона Парето .
Следом изучай математику, структуры данных и алгоритмы - это уже развитие в глубину.
После переходи к изучению других языков - в них ты вдохновишься на очень многие вещи, но это работает если действительно их изучать.
Вместо пробежаться по "rust by example" или "tour of go" и тем более "javascript за час".
Читай книжки, в первую очередь тебя должен интересовать процесс.
Если процесс не интересен - меняй направление, пока не найдёшь интересное.
Разбирай каждый кусок кода, который ты где-то увидел до атомов - и ты переоткроешь эти атомы для себя.
Потому-что иначе всё сведётся к линейному мышлению и тяжёлому интеллектуальному продвижению по лестнице саморазвития.
- А дальше?
Дальше ты сам будешь способен понять, что тебе нужно, а что не нужно и самое главное - что тебе интересно.
P.S: То что я описал, невыгодно тому, кто тебя будет нанимать.
Потому-что есть такое мнение: "стоимость разработки прямопропорциональна творческим способностям разработчика".
Следовательно пройдя этот путь, тебе будет глубоко насрать на то, что нужно кому-то, кроме тебя.
Тебя будет интересовать лишь новый вызов, а вести интерес.
Будешь как пират в поиске сокровищ, с каждым новым сундуком - хочется больше.
Книжки читать, если нужно тестовое задание маякни