My experience as a Google Summer of Code intern at GNOME was nothing short of fantastic. I’m grateful to my mentors and everyone else who was involved.
The drawing board
I worked on integrating the functionality of network displays into GNOME Shell, and was intially overwhelmed by the complexity of the project. There were lots of moving parts (DBus, systemd, gnome-settings-daemon, etc) and, while the goal of the project was clearly stated, the means to get there weren’t.
However, figuring that out ended up being one of the best parts of the internship. I had the pleasure with an interdisciplinary team to plan how that “integration” would look like, both in terms of architecture (thanks @felipeborges, @jadahl, and @kyteinsky) and design (thanks @allanday and @cwunder).
Mentors, mentors, mentors
As you can see by the number of people I tagged, I had lots of mentors! This was very enriching for me, as I got to learn from people of many different areas within the GNOME Project. For example, I (unexpectedly) learned a lot about UI/UX design!
I also feel like this relieved the burden on each mentor, as none of them had to bear the responsibility of mentorship on their own.
The tech stack
It took me a while to be productive in the GNOME Network Displays codebase, because it was written in C using the GObject library. This library is one of the weirdest (fascinatingly so!) things I have ever come across. It was hard to find resources online, so mentors were essential here. They did an amazing job at getting back to me very promptly and I was never “blocked” by an unanswered question by more than a day.
Learning GObject (as well as other GNOME technologies) was a huge leap for me. That being said, I think future interns would hugely benefit from workshops or tutorials during the community bonding period.
GUADEC
Attending GUADEC was the most memorable experience of the internship, without a doubt. I could never imagine they would sponsor the trip of a measly intern, but oh they did! This made me feel deeply valued by the GNOME Project as a whole and solidified the feeling of belongingness that had been gradually strengthening within me since day one.
Take your time
I can’t stress enough how not stressed I felt during my internship.
During most of the Google Summer of Code program, I had to take classes and work on a research project at my university. As I had to juggle all these things at the same time, my working pace was obviously much slower than someone who’s committed exclusively to GSoC. Fortunately, my mentors were incredibly respectful of that and I never felt pressured or burnt out during the internship.
What’s next?
After these months of mentorship I feel ever more empowered and motivated to contribute meaningfully to the GNOME Project, so you’ll surely hear more from me ;)
Thanks for everything!