Learn and code every day! Take notes.
Learn to ask GOOD questions.
Learn to prioritize tasks. Focus on 1 thing!
Build something, anything. Build projects that bring some benefit to you or the people around you.
Take small steps, but every day, consistency is very important.
- Important Skills
- Computer Science Basics
- Start Learning Python
- Discover some Python libraries
- Databases: SQL, NoSQL
- Web Development
- **Advanced Python
- Algorithms and data structures
- Programming mindset - analytical, problem-solving mindset
- Know your programming language
- Harvard CS50 - Scratch, C, Arrays, Algorithms, Memory, Data structures, Python, SQL, HTML, CSS, JavaScript, Flask
Optional
Crash Course Computer Science
Learn the basics, watch a couple of tutorials, read articles, and then build projects using Python. Learn by building. Start from building console applications, then learn how to build desktop apps, then web apps.
- 11 Beginner Tips for Learning Python Programming
- freeCodeCamp.org - Python beginning
- freeCodeCamp.org - Python intermediate
- 30-Days-Of-Python
- Программирование на Python
- Corey Schafer, focus MORE on this!
- Readings:
- Easy practical Python
- w3schools.com
- programiz.com
- *pythontutorial.net - Python Basics and Python Advanced sections
- **python-course.eu - only Python Tutorial section
- **realpython.com
- OOP in Python:
- Books:
- Learn TKinter
- Learn web scraping using beautiful-soup or *Selenium
- File handling: txt,
json
,csv
,yaml
- Working with paths with
pathlib
and OS withos
- Sending HTTP requests and receiving HTTP responses with
requests
- Building CLI with
argparse
- Working with data
collections
,itertools
- SQL
sqlite
,sqlalchemy
- Relationships: One-to-One, One-to-Many, Many-to-Many
- Data normalization
- Understand how the Internet works, OSI & TCP/IP models, DNS, HTTP, REST API.
- HTML, CSS, JavaScript
- Learn Django or Flask
- Mozilla Developer Network, Django
- Django girls
- "Flask Web Development" Miguel Grinberg
- "Building REST APIs with Flask" Kunal Relan
- See how others build projects using Django, then build your own app.
- Books:
- "Django for beginners" by Vincent W.
- "Django for APIs" by Vincent W.
- "Django 3 by Examples"
Check https://github.com/Rustam-Z/senior-python-developer.
On a high level:
- Clean code:
- PEP 8 - Style Guide for Python Code
- clean-code-python
- testdriven.io
- "Clean code in Python" book
- LinkedIn Learning: Clean coding practices
typing
dataclasses
- Clean design:
- Design principles: KISS, DRY, SOLID
- Design patterns
- Concurrency, parallelism, asynchronicity programming:
- Testing:
unittest
,pytest
- "Python testing with PyTest" book
- Advanced topics:
- Books:
- "Fluent Python"
- "Python Cookbook"
- "Learning Python"
- "Effective Python"
- "Advanced Guide to Python 3"
- "Mastering Object-Oriented Python"
- "Expert Python Programming" 2021
- "High-performance Python"
- "Practices of the Python Pro", "The Python workshop", "Python Workout"