Ahh, Here's the end ft: GSoC'23
My overall experience as a contributor to PostgreSQL during GSoC

TLDR: My GSoC has finally ended. Can read about the development done on the Final Report and here's the repository link: Repository. It was a great experience overall, got to learn a number of things, and things were pretty exciting.

There's a famous saying, All well that ends well, and my GSoC "official" coding period has ended. This proverb shows me how my last few months have changed my perspective on Tech differently.

My Journey

It all started more than a year ago when one of my friends got accepted as a contributor to GSoC 2022. I wasn't due to my procrastination and laziness. I was enthusiastic about open source and believed that GSoC was the gate to help me with it.

In over a year, my interest in database internals increased, and soon, it was time for the GSoC'23 project announcement. Only in February'23, I was committed to a hackathon and couldn't devote any time to my proposal. Still, I just had the GSoC's schedule in my mind. February ended, and I got free from almost everything. And I was so free that suddenly I got tensed. While lying down, let's try it this time, owing to having a month left for proposal submission. I was clear from the start of creating just one proposal, and that too for a project in PostgreSQL (I love the DB). My project hunt began, but it was easy since it was limited to PostgreSQL.

The main thing I looked at in my choice of project was to get to tinker with internals. I saw this in pg_statviz, where I had to go deep into every possible internal statistic the database could produce and how that could be churned into getting critical information.

After spending more than 4 months on the project, it feels surreal that I believed a proposal accepted is monstrous.

My Learnings

Working as a project, getting better technically was obvious. Along with every technical aspect I won't be detailed here, I got the time to sit and think a lot about several things. For more than half of my contributor period, I was having my university summer vacation, so I was at home. I chose not to travel and give some time to myself.

In these few months, my perspective on software engineering has changed drastically. Writing more code does not necessarily mean creating an impact. My mentors asked me to read and understand how PostgreSQL works during the community-binding period. I couldn't understand the logic at that time as I wanted to write code. Lots of code. But now that I feel why that was important. Understanding what to write and building a feature that is actually needed is essential.

Community. I have heard several times from various people that being a part of a community helps, but I never understood this. PostgreSQL's community is massive. People are present on most social discussion platforms and mailing lists. The way of interaction, and the discussions happening over to talk about how even the minutest feature should be incorporated moved me. I was never a person who would think so much before proceeding to write code. Minor changes were discussed thoroughly, and the people available to guide and help others made me realize the power of open source.

Now that the coding period has finally ended, I look back to what I was, and it makes me feel happy to see progress. Software has become closer to me. I feel more thoughtful than reckless while thinking of a solution to problems. I am not even aware of hundreds of issues, and yet it fascinates me to understand things better. It exhilarates me that I am a member of such a community, and looking forward to more experiences.

My final report and work have been summarized here: Final Report. Repository Special thanks to my mentors, Jimmy Angelakos, Pavlo Golub, and Boris Mejías , for their constant support, guidance, and motivation. Also, the PostgreSQL Community has been beneficial, and developers guided me throughout the project. Thanks to various seniors and people I had during this journey, now I tread forward to learn more.