Google Summer of Code 2023 with Django Software Foundation

Google Summer of Code 2023 with Django Software Foundation

Hey there! I am Bhuvnesh Sharma, 3rd year IT student from G.L. Bajaj Institute of Technology and Management and I have cracked Google Summer of Code 2023 in my first attempt with one of the most reputed and famous open-source organizations, the Django software foundation. In this blog, I will be sharing my journey, a detailed description of the GSoC program and Django along with some tips to increase your chances of acceptance.

What is Google Summer of Code?

Google Summer of Code (GSoC) is an annual program organized by Google that aims to encourage university students to get involved in open-source software development. The program provides an opportunity for students to work on projects mentored by various open-source organizations and receive a stipend for their contributions.

During Google Summer of Code, participating open-source organizations propose project ideas that they would like students to work on over three months during the summer. Students then apply to work on these projects and, if accepted, are paired with a mentor from the organization.

Once accepted into the program, students spend the summer collaborating with their mentors and actively contributing to the open-source project. They work remotely and are expected to meet project milestones and deliverables. The mentors provide guidance, support, and feedback throughout the program, helping the students develop their technical skills and understanding of open-source development practices.

At the end of the program, students' work is evaluated based on their accomplishments, code quality, and engagement with the open-source community. Successful students receive a stipend provided by Google as a reward for their efforts and contributions.

Google Summer of Code not only benefits the participating students but also helps open-source organizations by attracting new contributors, advancing their projects, and fostering collaboration within the community. It has become a significant program in the open-source ecosystem, promoting knowledge sharing and nurturing the next generation of developers. You can read more about it on the official website of Google Summer of Code.

What is Django?

Django is a high-level, open-source web framework written in Python that follows the model-view-controller (MVC) architectural pattern. It provides a set of tools and libraries that simplify the development of web applications. Django emphasizes efficiency, scalability, and maintainability, allowing developers to build robust and feature-rich websites and web applications quickly.

Django is widely used in the web development community due to its versatility, extensive documentation, and the availability of numerous third-party packages and libraries. It follows the "batteries included" philosophy, providing many out-of-the-box features and tools, which reduces development time and promotes best practices.

Django has been utilized by numerous famous companies to build robust and scalable web applications. These companies have recognized the efficiency and versatility of Django, leveraging its capabilities to create exceptional online platforms. One such notable organization is Instagram, the renowned social media platform that allows users to share photos and videos. Django forms the backbone of Instagram, facilitating seamless content sharing and interaction between millions of users worldwide. Apart from Instagram, organizations like youtube, Spotify, Pinterest, dropbox, NASA, bitbucket and Mozilla heavily rely on Django.

My Journey

I started contributing to Django around September 2022. Having little knowledge of how the framework works, I struggled a lot in my initial days. But I did not give up and started working harder. My first PR was a very minor doc improvement. And I cannot express the feeling I had when I saw the first mail from GitHub saying "Merged into main". It elevated my confidence to new heights.

Then I moved to medium-level issues which took more time than expected. The Django community is one of the best communities I have ever seen, the maintainers and other contributors were quite supportive and helped me whenever I get stuck. Slowly and steadily results started to show up and around 4 of my PRs got merged into Django within a month!

Motivated by this progress, I resolved to tackle even more challenging issues and one of them took almost a week to just understand what the issue actually was. By the end of February 2022, I achieved a significant milestone—ten of my pull requests were incorporated into Django. Undoubtedly, this was an accomplishment to be proud of.

Subsequently, the Django Software Foundation announced projects for GSoC'23, and one of them instantly captivated my interest. To convey my initial thoughts, I promptly drafted a pull request (PR) for the selected issue. Engaging in discussions with my potential mentor, Shai Berger, I received valuable suggestions and feedback. Incorporating those insights, I refined my approach, and to my delight, my mentor acknowledged that I was heading in the right direction. And so based on that approach I created my proposal for the issue "Allow moving a model between apps". Since I was an active contributor in Django for the last 6-8 months, this proved to be a plus point for me( and is the same in 95% orgs).

Google Summer of Code was a dream for me until I got a mail , saying "Congratulations, your proposal with Django Software Foundation has been accepted!".

Tips for increasing your chances of acceptance

  • Start early - Start early and give yourself enough time to prepare your proposal.

  • Communication - Communicate with the organization and ask anything you don't understand.

  • Good Proposal - Focus on the project proposal and do not include unnecessary information. Your proposal should be accurate and to the point with propoer milestones and time

  • Be open to feedback - Always be open to feedback, not only from your mentor but also from the community and use it to improve your proposal.

Conclusion

In conclusion, my journey with the Django Software Foundation till now has been nothing short of transformative. From my humble beginnings as a contributor to Django, I have witnessed remarkable growth and development in my skills and knowledge. The journey was challenging, but it was through perseverance, dedication, and a passion for learning that I achieved my goals. The lessons learned and the skills acquired during the past months will undoubtedly shape my future endeavours as a software developer.

I would like to express my heartfelt appreciation to the Django Software Foundation for granting me this incredible opportunity. I am excited to delve deeper into the world of Django, collaborate with talented individuals, and contribute to the ongoing growth and success of this esteemed project.

As I look forward to the commencement of GSoC'23, I am determined to give my best and make the most of this experience. I am ready to embrace the challenges, learn from the mentorship provided, and work diligently towards achieving the project goals.

GitHub: https://github.com/DevilsAutumn

LinkedIn: https://www.linkedin.com/in/bhuvnesh-sharma-a7560a203/