Apertus Qualification Task (Part 3)

A summary of everything I did for preparing my GSOC Proposal 2019.

After 3 months of hard work and a great learning experience later, time to write down everything I learnt during this period of time. I would like to thank the mentors of Apertus org for pointing me in the right direction and for providing me the adequate resources for a clearing my doubts. Result whether I get selected will be announced on May 6, but my chances are slim since the feedback for my proposal got really delayed, like 1 hour before the submission deadline delayed, and he said it should have had more technical details. Oh well, I gave my best and I guess I am satisfied with my hard work since I cannot afford to give it more time given my FAT exams are approaching.

What is GSOC?

A 3 month work from home program for university students, where you work for some open source org and Google pays you. There are many articles available regarding what GSOC is and how to prepare for it, so not gonna discuss that, although this post will act as a “how I prepared for GSOC 2019”. I love software engineering, and this was a great opportunity to work on something during my summer break ( and get paid for it). Here is what you get from GSOC –

  • A 3000$ stipend, over a duration of 3 months.
  • A direct referral for an interview at Google, if you successfully complete your project.
  • An unmatched learning experience as a student developer.

Since it has been my dream ( and dream of various other computer science students ) to work in Google, the direct referral was a big motivation for me.

What is Apertus?

It is an open source camera organisation. You can read more about them on their website. This was the org I decided to prepare my proposal for.

Why Apertus?

I got to know about them on Quora from Iti Shree, who was selected in GSOC 2018, and from Supragya Raj, also a GSOC 2018 student. The main reason I was attracted to this org was because their software was written in C++, which I am most comfortable with, and also their IRC is the most active out of ones I was considering for GSOC. Also, for submitting proposals, they had a challenge task to be solved, and I love challenges. You see, other organisations require some commits to their code base, and although that’s the real work in open source, this challenge sounded more like what I would like to do.

How to submit the proposal?

Their GSOC page mentioned we can either select a proposal idea from their list, or give our own idea. I decided to go with the prior, of course, since I am not that familiar with this org to come up with my own project idea. So, they mentioned that all project proposals must contain a challenge task. Since I wanted to work with C++, I had to complete this challenge.

What is the challenge?

If you opened the challenge link, try to figure out how you can solve it using C++. At the beginning, I was as confused as you are ( if you have no experience with the terms mentioned there ). Well, this was difficult, I thought to myself, and decided to quit 🙂

I never thought that I had the capability to study everything mentioned there and then implement the logic in code with 2 months remaining for proposal submission. But I didn’t want to quit, you see, I really wanted to be a GSOC student, and also, even though I am not that interested in open source, whenever I sat down for competitive programming I had this thought that maybe I should at least try for GSOC. I had nothing to lose really, and it would be a good learning experience just preparing the proposal. Also, one of my really close friend really helped me in not quitting it, so thanks for the motivation, Kritika Sagar.

Anyway, after a lot of thinking, I decided I will try to solve the challenge. I have already written 2 posts on how I approached to solve the challenge task which is divided into Part 1 and Part 2.

My project proposal

Here is the biggest mistake I did. I was so focused on the challenge task that I forgot to actually study the project I will be working on. You see, in the proposal, you need to give a weekly timeline on how you will be completing it. I totally discarded that part until the last 2-3 weeks or so. Now, I will be writing a post on how I made my proposal, but given limited time and college, I guess I didn’t have time to devote more time to this. So I did what I could, and submitted the proposal on the official website. Also, my proposal draft didn’t get any review from the main mentor who was busy during the last 48 hours and decided to hop in on IRC 1 hour before the submission deadline to tell me he expected more “technical” details, and that I talk too much about “discussion” and not much on implementation. Look, discussing means I will be doing the research and then discuss with the mentors which is the best approach. That’s what the “discussions with mentor” in my project proposal meant.

Waiting for the final result, and future plans

So, May 6 at 11:30 pm I will get to know if I got selected. Honestly, chances are really slim, since the mentors said even after submitting the proposal try to communicate further ideas on how you will undertake the project, as it proves you are a capable student.

Another reason is that it lacked more technical details, so yeah.

Even if I don’t get selected, it was a great learning experience. It taught me more than any university course could have, most importantly it taught me how software engineering looks like. Now, it’s time to go back to my real passion, which is competitive programming.

Till then, sayonara!