Highly Detailed Python Developer Roadmap
list
string
datetime
tuple
namedtuple
dict
Hash collisions
defaultdict
Counter
set
frozenset
array
bytes
Base64
deque
Queue
Singly linked list
Graph
Adjacency matrix
Adjacency list
Incidence matrix
Incidence list
Tree
Binary tree
Heap
B-tree
Red–black tree
AVL tree
Trie
range
enum
dataclass
struct
memoryview
Highly Detailed Python Developer Roadmap
Chapter 9, Databases
SQL
Chapter 11, Architecture
Chapter 12, DevOps
Chapter 7, Common Practices
Chapter 2, Data Management
Chapter 10, Net
Chapter 5, Under The Hood
Chapter 3, Data Flows
Chapter 1, Data Structures
Chapter 4, Object-Oriented Programming
Chapter 6, Multithreading & Multiprocessing
Chapter 8, Algorithms
RDBMS
Relational basics
Linux
asyncio
System design
itertools
Logging & Monitoring
Design patterns
String management
Microservices
Exception
Principles
REST API
Order of execution
PostgreSQL
NoSQL
Technique
Window functions
Testing
Duck types
Output
DML
Git
Web servers
regex
Typing
OOP basics
Environment
File
more-itertools
Graph
Cryptography
functools 2
Roadmap Legend
Multiprocessing
Tree
DDL
Introspection
Streams
Datetime
ELK Stack
Inheritance
Synchronization
Isolation
Combinatorics
Frameworks
Sort
Search
Finite iterators
Mitigation strategies
Normalization
Other
Scopes
Built-in functions
functools 1
Tools
Random
Generator
Object copy
High level API
Linked list
ACID
Python specific
HTTP
Paradigms
Object-oriented
Garbage Collector
Iterable duck types
Low level API
Represent a graph
Format
Input
Dict
Unit tests
Decorator
Comprehension
UI-related patterns
Multithreading
Sources
Queues
gRPC
Array
Protocols
Infinite iterators
SQLite
ORM
Context managers
Sorting
Metaprogramming
SOLID
Streams
Doubly linked list
Tuple
Set
Chapter 13, Data science
Chapter 14, Performance & Python-C interaction
Neural Networks & Deep Learning
Machine Learning
Data Processing
Python-C interaction
Key Algorithms
Mathematics
Development lifecycle (SDLC)
Visualization
Basics
Сode-level fixes
Basics
Containers
Profiling & tracing
Architectures
Advanced Topics
Tools
Metrics
Compiling Python to machine code
CI/CD
Pandas
NumPy
Static
Interactive
CPU & GPU acceleration
Linear Algebra
Statistics
Calculus
PyTorch
Optimizers
Python>=3.13
Supervised learning
Gradient boosting
Clustering
Optimized Libraries
Garbage Control
Generative models
Unsupervised learning
Time series, text
NLP
Activation functions
Tools
lambda
TypedDict
\*args, \*\*kwargs
Operator
Pydantic
Y Combinator
Generic
mypy
Packages
globals, locals
GIL
Modules
vars
attributes
PyPI, pip
dir
parameters
Import system
variables
Protocol
typing
Exception chaining
Handling with
@singledispatch
Name mangling
virtualenv
pyenv
ctypes
Literal
global
builtin
Exception logging
Handling in decorator
User exceptions
add_note
PyPy GC
Context manager +
exception
traceback
Exception groups, except*
Built-in exceptions
local
Garbage collector
Warnings
Exception raising
GC debug / objgraph
nonlocal
Exception handling
LEGB rule
Reference counting
Assignment (=)
slots
Multiple Inheritance,
MRO
@abstractmethod
ABC, ABCMeta
Mixin
copy.replace (>= 3.13)
Deep copy
Slots' inheritance
Metaclasses
dict
Callable
ABC Sequence
@classmethod, cls,
self
Inheritance
Shallow copy
Sortable
Sequence
@staticmethod
contextlib
Iterable
Comparable
init, repr, str
Collection
Hashable
@property
Magic methods
Iterator
enter, exit
@total_ordering
functools.wraps
@singledispatch
yield from
Parameterized
decorator
...
enumerate
Decorator
@cache
Generator expression
@lru_cache
yield
Сlosure
@cached_property
Generator comprehension
takewhile
take
...
...
unique_everseen
dropwhile
combinations_with_replaceme
nt
batched
sliding_window
chain
cycle
combinations
compress
permutations
repeat
collapse
accumulate
count
product
chunked
JSON
StringIO
partial
Today, now
BytesIO
any, all
Timezone
RawIOBase
Monotonic clock
map
Encode
Read/write
filter
reduce
Decode
Math
Text/binary
IOBase
orjson
paths
Protocol Buffers 1
stdin, stdout,
stderr
Pickle
BufferedIOBase
...
...
match
ord, chr
finditer
sub
split (splitlines,
rsplit)
compile
findall
strip (lstrip,
rstrip)
search
split
Convert case
Multiprocessing for CPU-bound
tasks
NumPy -> CuPy
CUDA
TensorFlow/PyTorch for GPU-
based ML
PyObject
Reference counting
Type conversions
Python containers in C
Exception propagation
Object model internals
Bytecode manipulation, dis
Interpreter hooks
Atomic operations
Interpreter architecture
Memory management
Custom types,
PyType_FromSpec
Avoiding API overhead
hotspots
Bytecode structure
Initialization patterns
Buffer protocol
Vectorcall protocol
Profiling C extensions,
cProfile
Disable GIL
JIT
Nuitka
Numba
Avoid cyclic
references
Use weak references
NumPy
Pandas
py-spy
VizTracer
Precompute loop-invariant values
Generators for memory efficiency
Flame graphs
dict -> slots
Manual loops -> C-based tools
(map, itertools)
Call Graph
tracemalloc
timeit
tqdm
String concatenation -> join()
perf_counter
dicts/sets for lookups
Minimize global variables
SGD
Adam
RMSprop
Transfer learning
Fine-tuning
GANs
VAEs
Reinforcement
learning
BERT
GPT
LSTMs
CNNs for images
RNNs
TensorFlow
Keras
Model building
Tensors
autograd
Accuracy
Precision
Recall
ROC-AUC
F1-score
k-means
DBSCAN
XGBoost
MSE
MAE
Aggregation
Linear regression
Logistic regression
Decision trees
Random forests
SVM
k-NN
Histograms
Statistics
Heatmaps
Science
Finance
Pairplots
Bar charts
Basic
Maps
LightGBM
Distributions
Line plots
Plotly
DataFrame
Series
Filtering
groupby
Pivot tables
ndarray
Slicing
Reshaping
Matrix operations
Broadcasting
Indexing
Gradients
Optimization
Integrals
Derivatives
Distributions
Mean
Variance
Correlation
Hypothesis testing
Perceptrons
Layers
ReLU
Sigmoid
Backpropagation
Loss functions
Dimensionality
reduction
Cross-validation
Scikit-learn
Overfitting/underfitti
ng
Regression
Classification
Clustering
Stopwatch
Avoid unnecessary copies
Vectors
Matrices
Dot product
Norms
Eigenvalues
Docker
Managed Kubernetes
Docker Compose
Kubernetes Operators
VMs (VMware, VirtualBox)
Watchtower
Linux namespaces, cgroup
Portainer
CircleCI
Jenkins
Clouds (AWS, Azure)
Docker Swarm
Standalone Kubernetes
GitHub Actions
Continuous testing
Linters
Forking workflow
Technical debt
Agile
MVP
Documentation
Extreme Programming
Trunk-based development
Twelve-factor app
SDLC tools (Jira,
Trello)
Kanban
Waterfall
Scrum
Iterations = mini
projects
Refactoring
Git flow
GitHub flow
Networking utilities
Processes
Daemons
GitHub
TortoiseGit
Commit style guides
Disk management
Installation (apt,
pip)
SSH
Vim
System administration
Network administration
Monitoring,
optimization
Stashing and
cleaning
Advanced merging
...
Task schedulers
Bash/Python automation
SELECT: expressions and functions are
calculated, column aliases are defined, window
functions are executed. Aliases from SELECT
become visible only at this stage (cannot be
used in WHERE or GROUP BY).
PERCENT_RANK
CUME_DIST
FIRST_VALUE
LAST_VALUE
CTE: executed before the main query, as
temporary tables.
DISTINCT: removal of duplicate rows.
ORDER BY: sorting results. Can use aliases from
SELECT.
LIMIT / OFFSET: limiting the number of returned
rows and skipping the specified number of
records.
WHERE: filtering rows at the level of individual
records. Cannot use aliases from SELECT or
aggregate functions.
GROUP BY: rows are grouped by specified
columns/expressions. After this stage, only
groups remain in the dataset, not individual
rows.
HAVING: filtering at the group level. Unlike
WHERE, works with aggregation results.
RANK
DENSE_RANK
ROW_NUMBER
NTILE
LEAD
FROM, JOIN: data sources are defined, tables are
joined.
SET
Order of execution
WHERE
FROM
DELETE
INSERT
UPDATE
SELECT
LAG
NTH_VALUE
create_future
...
run_forever
new_event_loop
StreamWriter
StreamReader
PriorityQueue
LifoQueue
Queue
...
run
create_task
gather
sleep
...
Range types
pgAdmin
Sharding
Security
Analyze an execution
plan
Replication
TimescaleDB
SQLite
SQLite syntax diagrams
Triggers
PostgreSQL
PL/pgSQL
asyncpg
pgbench
hstore
JSONB
Arrays
PostGIS
DataGrip (paid)
DBeaver (free)
...
FOREIGN KEY
PRIMARY KEY
DROP
ALTER
Citus
CREATE
SQLAlchemy
Django ORM
TCL
SQL standard
DCL
SQL injection
N+1 problem
Transaction
Denormalization
Other normal forms
Durability
Third normal form
Two-phase locking
(2PL)
Serializable
Repeatable read
Isolation
Read committed
Read uncommitted
Atomicity
Consistency
Relational model
First normal form
Second normal form
Public keys (RSA)
Hybrid cryptosystems (PGP,
TLS)
Symmetric keys (AES)
One way hash (MD5, SHA-256)
Catch accidents (CRC32)
∞
Graphs
Dynamic programming
Hash tables
Grind 75
Divide and conquer
pytest
Coupling & isolation
assert
mock
Sliding window
Recursion
Backtracking
Brute force
Linked lists
Greedy algorithm
BFS
DFS
P vs NP
Dijkstras
Bellman–Ford
HeapSort
MergeSort
InsertionSort
RadixSort
Binary search
Linear search
QuickSort
FizzBuzz
O(n)
BubbleSort
Performance tests
TDD
Integration tests
End-to-end tests
f-string
json.dumps & dump
pprint
t-string
str.format & format_map
print
UUID
random
Semaphore
BoundedSemaphore
SocketHandler
SysLogHandler
TimedRotatingFileHandler
python-json-logger
Kibana
RotatingFileHandler
Log formatting
FileHandler
ColoredFormatter
Filebeat
New Relic
Prometheus
Grafana
input
Logstash
Snowflake ID
Elasticsearch
secrets
Command line arguments
Argument parser
StreamHandler
elasticsearch-py
Condition
Barrier
Event
Pipe
Value
Array
Manager
Pool
Process
Listener
Lock
Input/output, redirect
Merging
Branching
Basics
Bash, piping
sudo, chmod, chown
Unix philosophy
nano
Linux file system tree
Terminal
HTTP
IPv6
CSRF/CORS
HTTP/2, HTTP/3
HTTPS, SSL/TLS
requests
WebSocket
websockets
JWT tokens
OpenAPI Generator
Gradio
Jinja
aiohttp
Streamlit
MongoDB
Flask
Django
REST
JSON
OpenID Connect
TCP/IP
Document-based
Redis
Redis for caching
Key-Value
redis-py
pymongo
...
OSI
NTP
API Code-First
MessagePack
API Contract-First
AWS API Gateway
nginx
Load balancing
CDN
Clouds
LocalStack
Newman CLI
OpenAPI
Swagger Validator
FastAPI
GraphQL
Protocol Buffers 2
gRPC
grpcio
RESTful
Postman
OAuth 2.0
Serverless
DNS
Apache
Strategy
Iterator
Facade
Structural patterns
Proxy
Command
Functional
Behavioral patterns
Refactoring to
Patterns
Creational patterns
DTO
Value object
Decorator
Abstraction
Structured
Polymorphism
OCP
LSP
ISP
DIP
Cyclomatic Complexity
Coupling vs cohesion
Jones Complexity
Clean architecture
DDD
YAGNI
Encapsulation
DRY
KISS
Object-oriented
SRP
Load balancing
Consistent hashing
Rate limiting
...
Two-phase commit (2PC)
CAP theorem, PACELC
Lamport timestamp
Message queues
Procedural
Inheritance
Smart endpoints, dumb
pipes
AMQP
CQRS
Serverless
Saga pattern
API gateway
Backpressure
Sharding, data partitioning
Graceful degradation
Circuit Breaker
Decentralization
Administration Tools
API-Gateway
Apache Kafka
Security
SQL vs. NoSQL
Load shifting
MVC
MVP
MVVM
Asynchronous
communication
Design for failure
Latency, failures,
consistency
RabbitMQ
POCO (POJO)
Singleton
Timer
Thread pool executor
Thread
Observer
Factory Method
Adapter
Incidence matrix
dataclass
Incidence list
struct
Red–black tree
AVL tree
memoryview
Trie
sort
slice
dict
list
Logical operators: not, and,
or
Bitwise operators:<<, >>, &,
|, ~, ^
set
bisect
sorted
Basic math
frozenset
set
Hash collisions
defaultdict
dict
Counter
array
Queue
Tree
Singly linked list
Graph
deque
Base64
bytes
bytearray
Adjacency matrix
range
Heap
Binary tree
namedtuple
tuple
datetime
string
list
Adjacency list
enum
B-tree
github.com/amaargiru/pyroad
Auxiliary topics
Python documentation
The red topics are for senior
developers
The yellow topics are for middle
developers
The green topics are for junior
developers
Start