Python for the Seasoned Developer
Tushar Sadhwani (~tushar29) |
0
Description:
Ever wondered how giant frameworks like Django, Pytorch, or Ansible created and maintained with such high complexity, while maintaining quality of software?
Python can be really easy to get into, as it is made specifically to be developer friendly.
But in reality, the language underneath is *extremely* complex. And learning about the language's internals, how it functions, and what tools it provides for advanced usage and maintenance of your codebase will help you become an expert of the language. This workshops aims to give you a peek into how Seasoned Python developers with decades of expertience think about, write, debug and maintain their projects.
Topics covered in the workshop:
- The interpreter: understanding how your code is located, read, and executed, and what mechanisms Python provides to tweak each of these steps of code execution.
- Debugging and maintenance: A bunch of tips and techniques about how to better locate bugs, find performance bottlenecks, test, benchmark, and fix problems in your codebase.
- Code organization: It is vital for a codebase to be well organized, and Python has its own sets of quirks and rules that define how to best structure your library or application for ease of development, downstream usage and distrubution.
- Profiling of Python and C code: Data-driven optimization is key for any project's long term success, and learning how to correctly profile and collect data about what parts of the codebase need to be improved is key to getting there.
- Code Security and Auditing: Knowing what can cause security holes in your code, how to detect any security problems, and how to mitigate these issues when found.
- Packaging and Distribution: Using the right tools to package and distribute Python applications is a surprigingly complex space even today. We will discuss the various ways it is possible today, and what are the tradeoffs between them.
Prerequisites:
Having written Python for at least a few years will be a good idea for attending this talk. Although others should be able to understand the points being made, being able to contrast it with their own experiencing in designing and creating Python projects will help a lot.
Speaker Info:
Long-term Python developer, author, OSS contributor and speaker, Tushar currently works as a Software Engineer building language tools at DeepSource.
When not working, he tries to contribute to the Python developer tools ecosystem, like black, ruff, flake8 and mypy.
Speaker Links:
- Blog: https://tushar.lol
- GitHub: https://github.com/tusharsadhwani