Skip to content

pro1code1hack/Senior-Dev-Roadmap

Repository files navigation

Roadmap for Python Engineers at Swetrix - Ultimate open-source web analytics service.

Senior Python Developer Roadmap

Authors

Base

  1. Introduction to Python (Features, Why?)
  2. Download and install IDE
  3. Primitive Datatypes, int/float/str/bool
  4. Assignment Operator ( = ) + print/input
  5. Arithmetic Operator (+,-,*,/,//,%,**)
  6. Relational Operator (>/< /<= />= /== /!=)
  7. Logical Operators (and or not)
  8. Conditional Operator (if/elif/else)
  9. Loops (for/while)
  10. Data types/structures (Numbers, Strings, Lists, Tuples, Dictionaries, Sets, Booleans) + Mutable/Immutable classification
  11. Writing comments
  12. PyCharm Guide
  13. Debugging(complete tutorial)

Functional Programming

  1. Functions
  • 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
  1. Files
  • The definition of File
    1. File types (Text/Binary, etc..)
    2. How it (File System) works in OS (pointer, etc..)
  • How to work with files in python (open, read/write, close)
    1. Modes
    2. Methods/Attributes
    3. File exceptions handling
    4. Full/Absolute paths
  • How to work with files of different format
    1. CSV
    2. JSON
    3. XML
    4. YAML
    5. Pickle
  1. Exceptions
  • What is an exception?
  • How to handle exceptions?
  • How to raise exceptions?
  • How to create custom exceptions?
  1. Imports
  • 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':
  1. Iterators
  2. Generators
  3. Environments + Package Managers + poetry
  4. Data_Structures(Advanced)

Object Oriented Programming

  1. BASE
  1. INTERMEDIATE
  1. ADVANCED
  1. Programming principles

Advanced

  1. Working with DB in python
  2. Logging
  3. Testing
  4. Algorithms
  5. Regular_expressions
  6. Refactoring + Code Review Concepts
  7. Proggramming Principles (DRY, KISS, YAGNI)
  8. Documenting python code (https://realpython.com/documenting-python-code/#why-documenting-your-code-is-so-important)

Speed up your code

  1. Concurrent_vs_Parallel Programming
  1. Gil(Threading)
  2. Multiprocessing
  3. Coroutines/ Asynchronous Programming
  4. Asyncio
  5. 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

  1. https://www.linkedin.com/learning/python-parallel-and-concurrent-programming-part-1/learn-parallel-programming-basics?u=106534538
  2. https://www.linkedin.com/learning/python-parallel-and-concurrent-programming-part-2/learn-parallel-programming-basics?u=106534538

The best website for fast python

  1. https://superfastpython.com/
  2. https://superfastpython.com/python-concurrency-guides/

Additional stack:

  1. SQL/NoSQL
  2. GIT
  3. Linux
  4. Docker/Kubernetes
  5. AWS/Azure
  6. CI/CD
  7. Q/A