🌱

Deep dive into programming — Python & Backend

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

  1. Algorithms and data structures
  2. Programming mindset - analytical, problem-solving mindset
  3. Know your programming language

Computer Science Basics

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.

Problem solving & Practical tasks

Discover Python libraries

  • File handling: txt, json, csv, yaml
  • Working with paths with pathlib and OS with os
  • 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

Advanced Python

Web Development

Backend Development

Need to know:
  1. HTTP, TCP/IP, REST API, requests library, JSON
  2. Python libraries: Requests, SQLAlchemy, JSON, XML, CSV
  3. Web framework: django, building rest APIs
  4. Working with databases
  5. Tools: message queues, Redis, Celery

Books:

Courses by Hussein Naseer:

Modern Async & Web Frameworks

  • FastAPI & Async Engine: learn asyncdef, pydantic schemas, and ASGI servers (uvicorn, granian)
  • Asynchronous ORMs & DB Drivers: asyncpg, SQLAlchemy 2.0 async sessions, and tortoise-orm for 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: structlog and OpenTelemetry / Sentry integrations.

AI Engineering & Agent Infrastructure

  • AI Tooling & SDK Integration: building with official LLM SDKs, structured outputs (pydantic function 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.
SuperMade with Super