Intro :
Hi just a little about myself, I am Tushar from Chamba, Himachal Pradesh in India. Currently I am a B.Tech undergraduate who has a classic love-hate relationship with programming. This summer vacations I am working on redesign of new documentation site of Webpack (a module bundler written in javascript). This is gonna be my first ever blog where I will be sharing my experience and things I learnt during my GSoC period till the mid-term.
Why GSoC
After learning the basics of web development, I started to build projects and always found myself questioning about my approach. Am I doing this the right way? Is this how it is actually done in the real world? I wanted to see how production-grade code is written and understand the thought process behind projects that actually matter. These doubts made me look for internships where I could learn from experienced devs who had already been through the same doubts I was having. GSoC seemed a perfect opportunity at that time which could let me build production grade project under the guidance of mentors. So I put in all the efforts to get selected and the hard work did pay off :)
How I found Webpack organisation
I first came across webpack while going through The Odin Project there was a lesson on bundlers and I actually set up a small project using webpack manually, without any pre-configured framework. That hands-on experience made me curious about the project itself.
I found their Discord through the official site, joined it, and just stayed there for a while - mostly observing, reading conversations, trying to understand how everything worked. I also cloned the repo and started going through the codebase, which was honestly overwhelming at first since I was very new to open source.
After a while I came across a discussion about building a new documentation site. That caught my attention immediately - it felt like something I could actually contribute to and understand. That's when I decided to go for it.
Community bonding phase
Community bonding usually looks like students diving deep into an existing codebase while mentors help them navigate it. Our situation was a bit different - this was a completely new project, so there wasn't much existing code to understand. Instead it was more about thinking through what needs to be built and how.
Because of that, the community bonding period was relatively chill. We had a Google Meet with the mentors where all the mentees were addressed together, we got to know each other, responsibilities across different milestones were discussed and assigned so each one of us could focus on a particular part. Assigning responsibilities early turned out to be really efficient.
Outside of that, Discord was where most of the action happened. Mentors were always around to answer questions and point us in the right direction whenever we had doubts.
I didn't write much code during this period. Instead I spent the time going through my own proposal and my fellow mentees' proposals to understand how everything was going to come together. The goal was to have a clear blueprint in my head before the actual coding began - and that turned out to be really useful.
Coding begins (Up to the Mid-Term)
While I can't break down every single commit and line of code I pushed, I want to share the bigger picture of what remote, open-source development really looks like, especially when your teammates and mentors act as your code reviewers.
Once the official coding period started, one of our mentors opened milestone-based issues. From there, we immediately began tackling them based on the blueprint we had laid out during our community bonding phase.
During this period, I truly learned how to collaborate with fellow organization members on GitHub. Discussion turned out to be the most critical part of the entire experience. Arriving at a solution wasn't about coding in a vacuum - it was about proposing an idea, discussing it thoroughly, and then implementing it.
Of course, we ran into hurdles. We hit some significant blockers with an upstream tool called doc-kit (a Node.js doc-building tool we were using to create the Webpack documentation). I want to give a massive thank you to one of my mentors, Aviv. Whenever I got stuck, he was always there to pave the way, making the necessary upstream changes in doc-kit so our new PRs could land smoothly.
In fact, all the mentors were heavily involved in discussions and code reviews. Their feedback pushed our code quality to the next level and genuinely taught me how to write better code.
If you are curious about the specifics, you can click here to see my Webpack contributions during this phase.
We have come a long way as we approach the mid-term, and I am hoping for the best for my evaluations! I will write a follow-up post when the GSoC period officially ends to discuss the second half of the project. But so far, this has been one of my absolute best experiences, and the lessons I've learned here will undoubtedly help me in my future endeavors.
Top comments (0)