Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Advanced Python for Senior Software Engineers • Design Patterns • S.O.L.I.D • OOP • Concurrency • Python Libraries • System Design

Notifications You must be signed in to change notification settings

Rustam-Z/senior-python-engineer

Repository files navigation

Senior Software Engineer Roadmap

By Rustam-Z 🚀

Can be used by Backend Developers, Data Engineers, Automation Engineers, and anyone who wants to advance in Python.

Senior Python Developer Skill Set

  • Advanced Python topics
    • Object model, data structures (mutable and immutable, LEGB rule, shallow and deep copy, dict hashing, data type caching in Python)
    • Dataclasses, collections
    • Decorators
    • Iterators, generators
    • Context managers
    • Advanced topics in OOP (Method Resolution Order MRO, Inheritance diamond problem, dunder methods, ABC abstract class, super(), descriptors, property, method overriding and overloading, duck typing, monkey patching, mixin)
    • Concurrency: threading, asyncio, I/O bound
    • Asynchronous programming (coroutines, async & await)
    • Parallelism: multiprocessing, CPU bound
    • Memory management
    • Global Interpreter Lock (GIL)
    • Garbage collector (reference counting, three generation garbage collection mechanism)
    • Metaprogramming (runtime code execution)
  • Python clean coding, and engineering excellence.
    • Check resources below ⬇️
  • Development principles (SOLID, DRY, KISS)
  • Coding design patterns
  • Testing
    • Mocking, patching, fixtures
    • PyTest, unittest for unit, integration testing
    • Selenium for UI end-to-end testing
    • Code coverage and static analysis tools
  • Profiling and optimization with cProfile
  • Package and environment management (Poetry, PyPi)
  • Must know libraries: logging, argparse, pathlib, os, sys, requests, itertools, json, yaml, csv, regex

Python Resources

Advanced Python Resources

Clean Coding

SOLID & Design Patterns

Parallel programming

Python Testing

  • Book "Python testing with PyTest"
  • Book "Python testing with Selenium"
  • Book "TDD in Python"
  • Book "Python Unit Test Automation"
  • Book "XUnit Test Patterns" book

Python Books

  • "Python basics"
  • "Python tricks"
  • "Clean Python"
  • "Practices of the Python Pro"
  • "Python Workout"
  • "Effective Python"
  • "Fluent Python"
  • "Learning Python"
  • "Python Cookbook"
  • "Advanced Guide to Python 3"
  • "Mastering Object-Oriented Python"
  • "The Python workshop"
  • "Expert Python Programming"

Other GitHub Repositories

YouTube Channels to Follow

Software Engineering Resources

Books

  • "Clean Code: A Handbook of Agile Software Craftsmanship"
  • "Clean Architecture"
  • "Code Craft: The Practice of Writing Excellent Code"
  • "The Clean Coder: A Code of Conduct for Professional Programmers" (Robert C. Martin Series)
  • "Beautiful Code: Leading Programmers Explain How They Think"
  • "The Pragmatic Programmer: From Journeyman to Master"
  • "Code Complete: A Practical Handbook of Software Construction"

Soft Skills Books

  • "Soft Skills: The software developer's life manual"
  • "On Managing Yourself"
  • "How to answer the 64 toughest interview questions"
  • "The Mythical Man-Month: Essays on Software Engineering"
  • "Programming Interviews Exposed"
  • "Elements of Programming Interviews: The Insiders' Guide 2nd Edition"
  • "Programming Pearls 2nd Edition"

Engineering Blogs

🚩 What's next?

  • Dive into System Design topics: watch the "Systems Expert by AlgoExpert" course, read the "System Design interview" book.
  • Dive into DevOps and Cloud Arch, pass AWS Solution Architect Certification.
  • Dive into database topics (scalability, sharding, replication, NoSQL databases, CAP theorem).
  • Learn best practices in the areas of your interest: backend, AI, automation.
  • Constantly upgrade your coding and engineering excellence skills.

About

Advanced Python for Senior Software Engineers • Design Patterns • S.O.L.I.D • OOP • Concurrency • Python Libraries • System Design

Topics

Resources

Stars

Watchers

Forks

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /