503 days working full-time on FOSS: lessons learned

PyCon Lithuania 2024


Abstract

I've been working full-time on a Python FOSS project for 503 days, so what did I learn?

Am I a better (Python) programmer? Better teammate? Better person?

In this talk I will share some lessons I learned over the course of these 503 days:

  • how to get a tech job in this day & age
  • how to put your ego aside
  • how to deal with mistakes
  • how to interact with users & contributors online
  • how it feels to collaborate to a large codebase

As for the first 3 questions... Ask my colleagues!

Outline

This provides a rough outline for the talk.

Introduction (~5min)

Personal and professional context for the talk:

  • Who am I?
  • What FOSS project have I been working on since the 14th of November of 2023?
  • Who am I working with?

Lesson learned 1 – how to get a tech job (~5min)

In this segment of the talk I share the story of how I got this job. This will explain how my writing on my blog contributed to establish some reputation and how my (Python-focused) social media presence connected me with the person who would eventually become my employer.

Lesson learned 2 – put your ego aside (~5min)

In this segment of the talk I explain how I deal with PR reviews and how I've learned to embrace the criticism, taking into account that all of your work is scrutinised every time you make a PR. I'll also tell the story of how I made a couple of blunders in successive PRs, how my team dealt with those, and what I got away from those weeks when I underperformed.

Lesson learned 3 – interacting with users & contributors (~5/7min)

This segment of the talk covers the other end of the interactions on a FOSS project, answering questions like:

  • How should you behave when interacting with users making feature requests?
  • What about users that report “bugs” that would be “solved” if they read the documentation carefully?
  • How do you review external PRs, leave feedback, and request changes?

Lesson learned 4 – working on a large project (~5min)

I will dedicate this segment of the presentation to talk about the strategies I use to deal with the fact that the project I work on is too big for me to keep all of it in my head. This includes my note-taking system and my PR checklist.

Wrap-up (~2min)

To wrap up the talk, I'll summarise my learnings and share a bullet-point list of the ones that are more likely to be helpful to others.

Watch the recording