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

1.3 Web server

2. Programming language (Python)

2.1 Basic Data Structure & Algorithm

2.2 Python2 vs Python3

2.3 OOP

2.4 Python data type

  • list

  • queue

  • stack

  • tree

  • dictionary

  • tuple

  • hash map

  • set

  • Resources

2.5 Environment & environment manager

2.6 Python IDE

  • Visual studio Code
  • Pycharm
  • Sublime
  • Text Editor

2.7 SOLID Principe

2.8 Python Framework (web)

2.9 Unit Testing

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

2.9 Advanced Concept

3. Version Control

3.1 Git/Github

4. Database

4.1 Posgresql

4.3 SQL (Query Language) tutorial

4.5 ACID

4.6 ORM

4.7 NoSQL

  • MongoDB
  • Elastic Search
  • InfluxDB
  • DynamoDB

5. APIs

5.2 Json

6.1 In Memory caching

6.2 Content caching

7. Testing

7.2 Tools

8.1 Version Control

8.2 Github/Gitlab

8.3 CI/CD tools

9. Architectural Patterns

9.3 Patterns

9.4 Design Pattern

10.1 Communication concept

  • Producer & consumer
  • publisher & subscriber
  • topic
  • queue

10.2 Engine

11. Containerization

11.1 Docker

12. Authentication

12.1 JWT

12.2 OAuth2

12.3 hash function

13. Communication Protocol

13.2 TCP

13.3 STOMP

13.4 WEbRTC

13.5 Http Request

13.6 gRPC

14.1 Engine