The Zen of Python motivates us to build software that is easy to maintain and to extend. In reality however, we often end up with systems that are quite the opposite: complex and hard to change. In part 2 of our best of talks at PyCon.DE blog series we are presenting “The Snake in the Tar Pit”. In this talk, we will explain why this happens and how we can try to prevent it. PyCon.DE is where Pythonistas in Germany can meet to learn about new and upcoming Python libraries, tools, software and data science. In 2017  Python enthusiasts, programmers and data scientists from around the world joined in Karlsruhe.

Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex

That is how the Zen of Python motivates us Python programmers to build software that is easy to maintain and extend. In reality however, after years of development, we often end up with systems that are quite the opposite: large code bases, slow turn around times, and brittle operations. In this talk Stephan explores software design methodologies that can help to prevent this from happening. He has a closer look at seminal work by computer scientists that has proven to be useful in practice. This includes:

  • Out of the Tar Pit by Ben Moseley and Peter Marks
  • End-to-End Arguments in System Design by Saltzer et al.
  • Programming Pearls by Jon Bentley

A conference talk is clearly not sufficient to cover the breath of the mentioned literature. Stephan’s goal of the talk is therefore to illustrate a few key messages using examples from real-world Python projects. Stephan Erb is a software engineer driven by the goal to make Blue Yonder’s data scientists more productive. Stephan holds a master’s degree in computer science from the Karlsruhe Institute of Technology (KIT). He is a PMC member of the Apache Aurora project and tweets at @ErbStephan.