Summing up my GSoC experience

This is the fifth post in my GSoC series. You can read the fourth one [here]({{ site.url }}/blog/backend-for-frontend-pattern).

This summer I worked with KDE during Google Summer of Code, for the last 3 months I have been writing a [Progressive Web App for WikiToLearn]({{ site.url }}/blog/gsoc-at-kde). In this short post I would like to share some insights about this.

The best thing about this experience is that I learnt a lot of new and exciting stuff: new technologies, pattern and development methodologies. Not only I improved my skills with modern web development tools but I also got quite proficient with the Vue.js and Webpack ecosystems. At the same time I got a bit better at writing and structuring documentation, something that many developers forget about.

For the first time I got to work full-time on a software development project, guided by my mentor and by other members of my organization. Overall working full-time was not impossible but some days it was harder than others. It got especially difficult when I had to face problems with external libraries and tools that were not well written or documented (for example I was stuck for a few days dealing with some weird issues with user authentication): I had to dig in the code of libraries I did not write to find out how to work around the problems I had. Instead, when I had to deal with bugs I introduced, it was a very fun experience: I know, it is strange to like debugging but the feeling you get when you fix the bug is well worth the lengthy debugging process.

Another thing I enjoyed during these 3 months were the blog posts, I did not write that many but every once in a while it was fun and relaxing to just write about how my work was going or about some cool technology. Sometime you get really carried away writing a blog post and many hours pass very quickly. I will try to keep writing these since it is a good way to share some quick ideas or tips.

During this GSoC I also enjoyed talking with my mentor as often as possible, he was always ready to share some tips or some ideas on how to improve the quality of my code and of my work. I think that communicating with the mentor is very important, because it is easy to get lost when the only schedule you have is the one you wrote 4 months ago as part of your proposal.

Speaking of the proposal, everything planned was pretty much implemented, except for a few minor features that were postponed because of greater issues we had to deal with (for example the recent problems with the authentication postponed the notification implementation). This was of course discussed with my mentor and we both agreed that it was ok to implement some minor details later, even after GSoC. This is because, after taking a little break, I will keep on working on the project since I hope to get it fully ready for public usage in the next months.

Overalll I loved Google Summer of Code. Thanks again to KDE, WikiToLearn, Google, my mentor and everyone involved in this amazing project. And now we wait for the final evaluation...