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.
Check github.com/Rustam-Z/python-programming repository.
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.
- 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
Advanced Python Resources
- 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 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
- "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: 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"
- 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.