2024-04-04 –, Room 228
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!
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.
Rodrigo has always been fascinated by problem solving and that is why he picked up programming – so that he could solve more problems. He also loves sharing knowledge, and that is why he spends so much time writing articles in his blog mathspp.com/blog, writing on Twitter @mathsppblog, and giving workshops and courses. You can also find his past talks on https://mathspp.com/talks.
His main areas of scientific interest are mathematics (numerical analysis in particular) and programming in general (with a preference for the Python and APL languages), but Rodrigo also enjoys reading fantasy books, watching silly comedy movies and eating chocolate.