10-18, 15:50–16:20 (Europe/Lisbon), Auditorium
I worked full-time on a Python FOSS project for 503 days, so what did I learn?
In this talk I will share some of the 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 when working with others (who know more than you!) and how to deal with mistakes
- how to interact with users & contributors online
- how it feels to collaborate to a large code base
Outline
Introduction (~5min)
Personal and professional context for the talk:
- Who am I?
- What FOSS project have I been working on for 525 days?
- 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?
Depending on how the audience reacts to this segment, I might also tell an anecdote about how bad I felt when rejecting an external PR and how that feeling was amplified tenfold when I found out that the external PR came from a “Python personality”, which also contains another lesson because the person whose PR was rejected handled it in the most graceful way possible.
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.
Beginner
What are the main topics of your talk? –open source, career, personal growth
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 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.