senior-python-engineer icon indicating copy to clipboard operation
senior-python-engineer copied to clipboard

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

Engineering Excellence and Advanced Python for Senior Software Engineers

By Rustam-Z 🚀

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

Senior Python Developer Skill Set

  • Advanced Python.Core and Python.OOP: object model, decorators, iterators, generators, context managers, OOP tricks.
  • Python clean coding, and engineering excellence
  • Development principles (SOLID, DRY, KISS...) and design patterns
  • Parallel programming, concurrency, async
  • Fancy data types: dataclasses, collections, typing
  • Must know libraries: logging, argparse, pathlib, os, sys, requests, itertools, json, yaml, csv
  • Testing: API and E2E testing with PyTest, unittest, and Selenium

Python Resources

TOP GitHub Repositories

Advanced Python.Core and Python.OOP

  • Python.OOP 8 tips
  • realpython.com
  • Python object model: https://youtu.be/pQdcfCmwFak?feature=shared
  • easy, https://dabeaz-course.github.io/practical-python/Notes/Contents.html
  • medium, https://medium.com/techtofreedom/python/home
  • medium, https://book.pythontips.com
  • medium, https://pythontutorial.net
  • medium, https://docs.python-guide.org
  • advanced, https://thedigitalcatonline.com
  • advanced, https://python-3-patterns-idioms-test.readthedocs.io
  • advanced, https://www.fullstackpython.com
  • advanced, https://testdriven.io/

Python Clean Code

SOLID & Design Patterns

  • SOLID
  • Desing Patterns
  • https://github.com/faif/python-patterns
  • https://www.youtube.com/watch?v=tAuRQs_d9F8
  • https://www.youtube.com/watch?v=tv-_1er1mWI

Parallel programming

  • [ ] https://realpython.com/learning-paths/python-concurrency-parallel-programming
  • [ ] https://www.linkedin.com/learning/python-parallel-and-concurrent-programming-part-1
  • [ ] https://www.linkedin.com/learning/python-parallel-and-concurrent-programming-part-2

Python Testing

  • [ ] “Python testing with PyTest”
  • [ ] “Python testing with Selenium”
  • [ ] “TDD in Python”
  • [ ] “Python Unit Test Automation“
  • [ ] "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”

YouTube

  • https://youtube.com/c/mCodingWithJamesMurphy
  • https://youtube.com/c/ArjanCodes
  • https://www.youtube.com/playlist?list=PLlb7e2G7aSpQhNphPSpcO4daaRPeVstku Yandex
  • https://www.youtube.com/c/IndianPythonista/playlists YouTube, regEx, Web, AWS
  • https://youtube.com/user/zaemiel in Russian
  • Corey Scafer
  • https://www.youtube.com/@yegor256
  • Watch conference recordings

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.
  • Dive into database topics.
  • Constantly upgrade your coding and engineering excellence skills.

General engineering resources

Books

  1. Clean Code: A Handbook of Agile Software Craftsmanship
  2. Clean Architecture
  3. Code Craft: The Practice of Writing Excellent Code
  4. The Clean Coder: A Code of Conduct for Professional Programmers (Robert C. Martin Series)
  5. Beautiful Code: Leading Programmers Explain How They Think
  6. "On Managing Yourself"
  7. "How to answer the 64 toughest interview questions"
  8. "The Pragmatic Programmer: From Journeyman to Master"
  9. "Code Complete: A Practical Handbook of Software Construction, Second Edition"
  10. "The Mythical Man-Month: Essays on Software Engineering"
  11. "Soft Skills: The software developer's life manual"
  12. "Programming Interviews Exposed"
  13. "Elements of Programming Interviews: The Insiders' Guide 2nd Edition"
  14. "Programming Pearls 2nd Edition"

Engineering Blogs

  1. https://github.com/kilimchoi/engineering-blogs
  2. https://blog.bytebytego.com/p/79-engineering-blogs-to-level-up
  3. https://blog.pragmaticengineer.com/
  4. https://careercutler.substack.com/?r=1r629c
  5. Software Engineering Daily - https://lnkd.in/gi5UgrZn
  6. The Engineering Room by Dave Farley - https://lnkd.in/gCsrhEUb
  7. Small Batches by Adam Hawkins - https://smallbatches.fm/
  8. Algorithms + Data Structures by Bryce Adelstein Lelbach and Conor Hoekstra - https://lnkd.in/gAbnrr6g
  9. The Changelog by Adam Stacoviak and Jerod Santo - https://lnkd.in/ghkzTWFR
  10. Backend Banter by Lane Wagner - https://lnkd.in/gwhYrUd4
  11. The Backend Engineering Show by Hussein Nasser https://lnkd.in/gcKD5kCm
  12. SRE Prodcast by Google - https://lnkd.in/ggpPrZhV
  13. The Mob Mentality Show by Chris Lucian and Austin Chadwick - https://lnkd.in/gBttgzy2
  14. Soft Skills Engineering Podcast by Dave Smith and Jamison Dance - https://softskills.audio/
  15. Working Code by Adam, Ben, Carol, and Tim - https://workingcode.dev/
  16. Dude Where’s My Code by Nick Cosentino and Graeme Harvey - https://lnkd.in/g6i-ry4G
  17. Signals & Threads by Ron Minsky - https://lnkd.in/gnKzUiCK
  18. Develop Yourself by Brian Jenney Jenny - https://lnkd.in/gqv5jBYb
  19. Coding Blocks by Allen Underwood, Joe Zack and Michael Outlaw - https://lnkd.in/gAYwJKSz
  20. Developer Voices by Kris Jenkins - https://lnkd.in/gVTrEj5M
  21. Happy Path Programming by Bruce Eckel and James Ward - https://lnkd.in/gqXHYQ8x
  22. Exponential Growth by James Hudnall - https://lnkd.in/gHdS3cY5
  23. The Geek Narrator by Kaivalya Apte - https://lnkd.in/gMNHBTwa
  24. Go Time - https://lnkd.in/gKY8cMZA
  25. CppCast by Timur Doumler and Phil Nash - https://cppcast.com/
  26. The InfoQ Podcasts - https://lnkd.in/gabJA47Y
  27. Software Engineering Radio - https://www.se-radio.net/
  28. Develop Yourself by Brian Jenny - https://lnkd.in/gqv5jBYb
  29. Tech Lead Journal by Henry Suryawirawan https://lnkd.in/gYdrfuPz