Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions content/blog/GSoC/My GSoC Experience.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
title: "My GSoC 2017 Experience"
date: 2019-01-12
author: Ahmed Samir
---

Hello guys, I am Ahmed and I want to share with you my experience during my GSoC period in 2017. It was such an amazing one and I have learnt a lot from my whole GSoC journey, I will talk about how I got in, my thoughts and my recommendations about what to do next. I am a computer engineering student at Cairo University in Egypt. I am interested in machine learning, computer vision, embedded systems and robotics.

## Application Period
In March 2017, I was a student during my sophomore year, At that time, My knowledge was C++, OOP and data structures from the courses I took at college. I knew about GSoC before the deadline by roughly one week. I started searching for organizations that have projects I find interesting to me. I chose to work on a project for Slic3r at BRL-CAD organization for many reasons. First, Slic3r is by far the best open source G-Code generators for 3D printers, Second, I wanted to get involved in Slic3r community to learn more about how 3D printer software works and what the algorithms behind these applications. I guess Slic3r was the only 3D printer project in all GSoC projects offered by organizations. I saw the list of available project and decided to add the 3MF file format support to Slic3r. Second, Slic3r backend was written in my favourite language C++ and it would be fun to work on a project with the language you love. I joined the IRC channel and talked with Joseph Lenox and Alessandro Ranellucci (who became my mentors afterwards) about my approach towards to implement the 3MF file support. Of course, my approach at first wasn’t correct but I did some research about the possible solution and made a proposal. Afterwards, I was asked to implement a patch to Slic3r in order to make sure I am familiar with Slic3r codebase. I should be fixing one of the low effort issues on GitHub. I implemented the patch successfully and I was accepted later in May. I was very happy and very excited to learn and contribute to open source.

## Community Bonding Period
During May, I started to get to know the Slic3r community. The people there are truly helpful and supportive. In the community bonding period, I started to write documentation for several classes in the Slic3r C++ backend using Doxygen syntax when I knew more about the codebase and became more prepared to do my GSoC task in June. I really learnt a lot during that period.

## Coding Period
I started the coding period in June. I learnt how to manage my time and how to order my priorities, the mentors were really caring and supportive.I was talking with my mentors about my progress twice a week on the IRC chat, I was posting my daily work and commits on my GitHub issue. I learnt how to write efficient code and implement a test suite for my work. I had spent one of best summer vacations. I have finished my work early and started to work on other open issues.

## Later Contributions
I got engaged in Slic3r community and became one of its members. During my free time, I enjoy contributing to Slic3r and I really find it amazing to engage with Slic3r users and implement their feature requests.

## My Final thoughts

I think GSoC is a perfect start for open source contributions where you can get the right support. I think you can get the following benefits:
* Learn from professional mentors
* Be part of an open source community.
* Boost your coding skills, learn how to write code efficiently.
* Enhance your communication and soft skills, especially when you are not a native English speaker.
* Spend a great summer.
* Of course, gain money :)