The Snake in the Tar Pit: Complex Systems with Python

Stephan Erb (@ErbStephan)

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. </div>

Abstract

Tags: system design complexity python

The Zen of Python motivates us to build software that is easy to maintain and extend. In reality however, we often end up with systems that are quite the opposite: complex and hard to change. In this talk, we will have a look at why this happens and how we can try to prevent it.

Description

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 we will explore software design methodologies that can help to prevent this from happening. We will have 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. Main goal of the talk is therefore to illustrate a few key messages using examples from real-world Python projects.