Software patterns for productive teams

Enabling teams to be more productive when working with Python & Django

Radoslav Georgiev

Abstractions Best Practice Communication Django Projects Management

See in schedule Download Slides

Software development is a team game.

When we want to deliver more work, one of the variables that we can change is the team size. But as we all know, increasing the team size does not automatically translate into increased productivity & more features shipped.

If things are left unmanaged, people can step on each other toes, block each other & generally decrease the overall productivity of a given software project.

In this talk we'll identify different problems teams can face & see how we can solve them using different strategies & patterns.

In the end, we want to enable the team to perform better & ship features with high confidence. We want enable the team & put its potential into building good software.

Problems we are going to cover:

* Constant merge conflicts / working in the same files
* Blocking each other on different features / Feature deadlock
* Constantly switching between bugfixing & feature development
* Constant regressions and things breaking down
* Fighting with local setup & not being able to properly test things, especially when working with 3rd parties
* Merge strategies & improving the work with git & GitHub
* Communication between team members & ego fights

For each problem, we are going to propose different solutions with provided real-life examples from our experience & projects.

The examples show are going to be in the context of large Python / Django projects.

This talk is the natural sequel of the following talks from previous EuroPythons:

* EuroPython 2017 - Practical Debugging - Tips, Tricks and Ways to think - https://www.youtube.com/watch?v=9Ys4gCUtTh8
* EuroPython 2018 - Django structure for scale and longevity - https://www.youtube.com/watch?v=yG3ZdxBb1oo

Type: Talk (45 mins); Python level: Intermediate; Domain level: Intermediate


Radoslav Georgiev

HackSoft

Currently working as a senior Python and Django developer @HackSoft

A programmer from ~8 years, studied Computer Science in the Faculty of Mathematics and Informatics, Sofia University.

Founder and CEO of HackSoft (Sofia based software company with main focus in Python, Django and Scala) and HackBulgaria (Programming courses, based in Sofia / Bulgaria with main focus of getting the students ready for their first job - either as an intern or a junior developer. Mainly focused in Python and Java)

Also doing a lot of teaching - Functional Programming classes (Racket / Haskell) @Faculty of Mathematics and Informatics , Programming with Python and Django @HackBulgaria.

GitHub - https://github.com/RadoRado/