- Software Engineering with Python
- Contents
- Important Skills
- Computer Science Basics
- Start Learning Python
- Problem solving & Practical tasks
- Discover Python libraries
- Databases: SQL, NoSQL
- Advanced Python
- Web Development
- Backend Development
- Modern Async & Web Frameworks
- Load Testing, Profiling & Observability
- AI Engineering & Agent Infrastructure
Software Engineering with Python
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.Contents
- Important Skills
- Computer Science Basics
- Start Learning Python
- Discover some Python libraries
- Databases: SQL, NoSQL
- Web Development
- *Advanced Python
Important Skills
- Algorithms and data structures
- Programming mindset - analytical, problem-solving mindset
- Know your programming language
Computer Science Basics
- Harvard CS50 - Scratch, C, Arrays, Algorithms, Memory, Data structures, Python, SQL, HTML, CSS, JavaScript, Flask
- Crash Course Computer Science
Start Learning Python
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:
Problem solving & Practical tasks
Discover Python libraries
- File handling: txt,
json,csv,yaml - Working with paths with
pathliband OS withos - Sending HTTP requests and receiving HTTP responses with
requests - Building CLI with
argparse - Working with data
collections,itertools - Learn web scraping using beautiful-soup and Selenium
Databases: SQL, NoSQL
- SQL
sqlite,sqlalchemy- Relationships: One-to-One, One-to-Many, Many-to-Many
- Data normalization
Advanced Python
- Modern Python Tooling & Package Management
uvfor ultra-fast dependency resolution, Python version management, and virtual environment creation.rufflinter and formatter replacingflake8,black, andisort- Dependency Management: lockfile workflows (e.g.,
uv pip compileorpyproject.tomlstandards) - Clean code:
- PEP 8 - Style Guide for Python Code
- clean-code-python
- testdriven.io
- "Clean code in Python" book
- LinkedIn Learning: Clean coding practices
typingdataclasses- Clean design:
- Design principles: KISS, DRY, SOLID
- Design patterns
- Concurrency, parallelism, asynchronicity programming:
- Clean Architecture & Domain-Driven Design (DDD): decoupled architectures (Ports and Adapters / Hexagonal) in Python to separate core domain logic from framework-specific code (Django/FastAPI models).
- Advanced topics:
- python-course.eu
- book.pythontips.com/
- Python topics for Senior developers
- Python best practices - realpython.com
- Medium blog
- thedigitalcatonline.com
- Python 3 Patterns, Recipes and Idioms
- 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"
- "Clean Python"
- “Python Automation Cookbook” 2nd edition, Jaime Buelta
- Testing:
unittest,pytest- "Python testing with PyTest" book
- “Python testing with Selenium”
- “TDD in Python”
- “Python Unit Test Automation“
Web Development
- 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"
Backend Development
Need to know:
- HTTP, TCP/IP, REST API, requests library, JSON
- Python libraries: Requests, SQLAlchemy, JSON, XML, CSV
- Web framework: django, building rest APIs
- Working with databases
- Tools: message queues, Redis, Celery
Books:
- "Django for Beginners"
- “Two Scoops of Django 3.x”
- "Django 3 Web Development Cookbook"
- "Django for Professionals"
- "Django for APIs"
- https://wsvincent.com/django-rest-framework-tutorial/
Courses by Hussein Naseer:
- https://backend.win
- Fundamentals of Network Engineering https://network.husseinnasser.com
- Fundamentals of Backend Engineering https://backend.win
- Unlocking Peak Backend Performance https://performance.husseinnasser.com
- Fundamentals of Database Engineering https://database.husseinnasser.com
- Introduction to NGINX https://nginx.husseinnasser.com
- Python on the Backend https://python.husseinnasser.com
Modern Async & Web Frameworks
- FastAPI & Async Engine: learn
asyncdef,pydanticschemas, andASGIservers (uvicorn,granian) - Asynchronous ORMs & DB Drivers:
asyncpg,SQLAlchemy 2.0async sessions, andtortoise-ormfor non-blocking database I/O - API Specifications: OpenAPI (Swagger), gRPC (Protobufs for microservices), and GraphQL alongside standard REST APIs
Load Testing, Profiling & Observability
- Load Testing: Locust (Python-based load testing framework) to stress-test endpoints under concurrent traffic
- Profiling & Performance: profiling tools (
cProfile,py-spy,memory_profiler) for diagnosing bottlenecks and memory leaks in production - Telemetry & Logging:
structlogand OpenTelemetry / Sentry integrations.
AI Engineering & Agent Infrastructure
- AI Tooling & SDK Integration: building with official LLM SDKs, structured outputs (
pydanticfunction calling), and vector stores (pgvector, Qdrant) - Agentic Frameworks & Context Protocols: build AI agents (e.g., model context protocol integrations, agent harnesses, Telegram bot workflows) using Python.