Python-Backend-Developer-Roadmap
Python-Backend-Developer-Roadmap copied to clipboard
Python Backend Developer Skillset / Roadmap
Python Backend Developer Roadmap
This roadmap is intended for junior software engineers in my company or newcomers in my team for onboarding purposes. Generally, this is for Python Backend Web Developer with a speciality in Instant Messager using Matrix.
1. Basic Internet, Operating System and Frontend Knowledge
1.1 Bash/Terminal
1.2 Basic Internet
- DNS
- Domain
- Hosting
- Cloud service
- resources
1.3 Web server
- Nginx, Apache, Tomcat
- Reverse Proxy
- Load balancer
- WSGI & ASGI
- Resources
2. Programming language (Python)
2.1 Basic Data Structure & Algorithm
- Resources
2.2 Python2 vs Python3
- Resource
2.3 OOP
- class
- Inheritance
- etc..
- resources
2.4 Python data type
-
list
-
queue
-
stack
-
tree
-
dictionary
-
tuple
-
hash map
-
set
-
Resources
2.5 Environment & environment manager
- pip
- env & venv
- conda
- resources
2.6 Python IDE
- Visual studio Code
- Pycharm
- Sublime
- Text Editor
2.7 SOLID Principe
2.8 Python Framework (web)
2.9 Unit Testing
- pytest
- Unittest
2.10 Important Library
- numpy
- requests
- socket.io
- psycopg2
- bcrypt
- aioredis
- stomp.py
- json
- asyncio
- time
- logging
- typing
- sqlalchemy
- gunicorn
- urllib
- matrix_client
- matrix-nio
- pyyaml
- pandas
- pytest
2.11 Python ASGI
2.12 Data Model
- ORM (Object Relational Mapping)
- Resources
2.9 Advanced Concept
- Decorator / Property (@) tutorial tutorial2
- Synchronous & Asynchronous Asyncio Python
- Multithreading python Multithreading
- python modules modules & package
3. Version Control
3.1 Git/Github
- resources
- Git documentation
- "Pragmatic version control using Git"
4. Database
4.1 Posgresql
- Resource
4.2 Databse Index
4.3 SQL (Query Language) tutorial
4.4 Normalization
4.5 ACID
4.6 ORM
4.7 NoSQL
- MongoDB
- Elastic Search
- InfluxDB
- DynamoDB
5. APIs
5.1 Rest API
5.2 Json
5.3 GraphQL
6. Caching
6.1 In Memory caching
- Redis tutorial Redis python
- memcached
6.2 Content caching
7. Testing
7.1 Unit testing
7.2 Tools
- pytest
- unittest
- Postman
8. CI / CD
8.1 Version Control
8.2 Github/Gitlab
8.3 CI/CD tools
9. Architectural Patterns
9.1 Monolithic
9.2 Microservice
9.3 Patterns
9.4 Design Pattern
-
Singleton
-
Strategy
-
Command
-
Observer
-
Resources
- [Design Pattern]https://refactoring.guru/design-patterns
10. Message Broker
10.1 Communication concept
- Producer & consumer
- publisher & subscriber
- topic
- queue
10.2 Engine
11. Containerization
11.1 Docker
11.2 Kubernetes
12. Authentication
12.1 JWT
12.2 OAuth2
12.3 hash function
- sha
- bcrypt
13. Communication Protocol
13.1 Websocket
13.2 TCP
13.3 STOMP
13.4 WEbRTC
13.5 Http Request
13.6 gRPC
14. Monitoring
14.1 Engine
- Grafana
- Datadog
- Prometheus
- Sentry