Roadmap for Python Engineers at Swetrix - Ultimate open-source web analytics service.
Senior Python Developer Roadmap
Authors
Base
- Introduction to Python (Features, Why?)
- Download and install IDE
- Primitive Datatypes, int/float/str/bool
- Assignment Operator ( = ) + print/input
- Arithmetic Operator (+,-,*,/,//,%,**)
- Relational Operator (>/< /<= />= /== /!=)
- Logical Operators (and or not)
- Conditional Operator (if/elif/else)
- Loops (for/while)
- Data types/structures (Numbers, Strings, Lists, Tuples, Dictionaries, Sets, Booleans) + Mutable/Immutable classification
- Writing comments
- PyCharm Guide
- Debugging(complete tutorial)
Functional Programming
- Intro to Functions
- Real World Examples
- Concepts of functional programming
- Functions definition
- Functions with return values
- Variable number of arguments, Default arguments and Named arguments
- Optional arguments (args*, **kwargs)
- Higher-order functions
- Closures
- Global, local, nonlocal and builtin functions
- Decorators
- Anonymous functions
- Function pointers
- Function composition
- Function currying
- Function memoization
- Partial functions
- Function overloading
- Recursion
- Function annotations
- Design of the program
- The definition of File
- File types (Text/Binary, etc..)
- How it (File System) works in OS (pointer, etc..)
- How to work with files in python (open, read/write, close)
- Modes
- Methods/Attributes
- File exceptions handling
- Full/Absolute paths
- How to work with files of different format
- CSV
- JSON
- XML
- YAML
- Pickle
- What is an exception?
- How to handle exceptions?
- How to raise exceptions?
- How to create custom exceptions?
- What is a module? (Difference between a Module and a Script/Folder)
- How to import a module?
- How to import a module with a different name?
- If name == 'main':
Object Oriented Programming
- BASE
- INTERMEDIATE
- ADVANCED
- Design principles
- Design patterns
- Python '!=' Is Not 'is not' (Comparing Objects)
- Context managers
- Type checking
- SOLID
Advanced
- Working with DB in python
- Logging
- Testing
- Algorithms
- Regular_expressions
- Refactoring + Code Review Concepts
- Proggramming Principles (DRY, KISS, YAGNI)
- Documenting python code (https://realpython.com/documenting-python-code/#why-documenting-your-code-is-so-important)
Speed up your code
- Concurrent_vs_Parallel Programming
- Gil(Threading)
- Multiprocessing
- Coroutines/ Asynchronous Programming
- Asyncio
- Garbage Collection
⬆️ These topics - are incredibly important for python developers. I have been using listed resources down below for a long time and I can say that they are the best. I recommend it to everyone who wants to learn advanced python.
Courses
Baron and Olivia
- https://www.linkedin.com/learning/python-parallel-and-concurrent-programming-part-1/learn-parallel-programming-basics?u=106534538
- https://www.linkedin.com/learning/python-parallel-and-concurrent-programming-part-2/learn-parallel-programming-basics?u=106534538
The best website for fast python
Additional stack:
- SQL/NoSQL
- GIT
- Linux
- Docker/Kubernetes
- AWS/Azure
- CI/CD
- Q/A