senior-python-engineer
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
- [ ] GitHub: Python clean code
- [ ] PEP 8
- [ ] testdriven.io: Clean code in Python
- [ ] LinkedIn: Clean coding practices
- [ ] LinkedIn: Advanced Python
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
- 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
- "On Managing Yourself"
- "How to answer the 64 toughest interview questions"
- "The Pragmatic Programmer: From Journeyman to Master"
- "Code Complete: A Practical Handbook of Software Construction, Second Edition"
- "The Mythical Man-Month: Essays on Software Engineering"
- "Soft Skills: The software developer's life manual"
- "Programming Interviews Exposed"
- "Elements of Programming Interviews: The Insiders' Guide 2nd Edition"
- "Programming Pearls 2nd Edition"
Engineering Blogs
- https://github.com/kilimchoi/engineering-blogs
- https://blog.bytebytego.com/p/79-engineering-blogs-to-level-up
- https://blog.pragmaticengineer.com/
- https://careercutler.substack.com/?r=1r629c
- Software Engineering Daily - https://lnkd.in/gi5UgrZn
- The Engineering Room by Dave Farley - https://lnkd.in/gCsrhEUb
- Small Batches by Adam Hawkins - https://smallbatches.fm/
- Algorithms + Data Structures by Bryce Adelstein Lelbach and Conor Hoekstra - https://lnkd.in/gAbnrr6g
- The Changelog by Adam Stacoviak and Jerod Santo - https://lnkd.in/ghkzTWFR
- Backend Banter by Lane Wagner - https://lnkd.in/gwhYrUd4
- The Backend Engineering Show by Hussein Nasser https://lnkd.in/gcKD5kCm
- SRE Prodcast by Google - https://lnkd.in/ggpPrZhV
- The Mob Mentality Show by Chris Lucian and Austin Chadwick - https://lnkd.in/gBttgzy2
- Soft Skills Engineering Podcast by Dave Smith and Jamison Dance - https://softskills.audio/
- Working Code by Adam, Ben, Carol, and Tim - https://workingcode.dev/
- Dude Where’s My Code by Nick Cosentino and Graeme Harvey - https://lnkd.in/g6i-ry4G
- Signals & Threads by Ron Minsky - https://lnkd.in/gnKzUiCK
- Develop Yourself by Brian Jenney Jenny - https://lnkd.in/gqv5jBYb
- Coding Blocks by Allen Underwood, Joe Zack and Michael Outlaw - https://lnkd.in/gAYwJKSz
- Developer Voices by Kris Jenkins - https://lnkd.in/gVTrEj5M
- Happy Path Programming by Bruce Eckel and James Ward - https://lnkd.in/gqXHYQ8x
- Exponential Growth by James Hudnall - https://lnkd.in/gHdS3cY5
- The Geek Narrator by Kaivalya Apte - https://lnkd.in/gMNHBTwa
- Go Time - https://lnkd.in/gKY8cMZA
- CppCast by Timur Doumler and Phil Nash - https://cppcast.com/
- The InfoQ Podcasts - https://lnkd.in/gabJA47Y
- Software Engineering Radio - https://www.se-radio.net/
- Develop Yourself by Brian Jenny - https://lnkd.in/gqv5jBYb
- Tech Lead Journal by Henry Suryawirawan https://lnkd.in/gYdrfuPz