Why students in college should participate in Google Summer of Code (GSoC)


Hi everyone,

Today’s post is targeting students in college. The main idea is to sell you the idea of participating in the Google Summer of Code program that Google host every year since 2005. Oh and by the way, this is just free publicity, the program does not provide any money to me in order to get a post out of me! I love the program, after all, I’m an alumni!

What is Google Summer of Code (GSoC)

For starters, as a student, you must ask yourself, why would I want to participate in something I’m not even aware of, right ? Well indeed, that’s a good question. So, in a few words, it is an open source program hosted by Google during the summer break to provide the chance for students to truly experience software development and get a few bucks of out it.

A vast number of open source organizations are providing one (1) to many project ideas that a student could pick up, develop it during the summer and deliver before the end of the program. When you’re assigned to a project, you’re given a mentor who shall be there for you. By being there for you, I mean they will review the code you will deliver through a pull request and answer your questions whenever you have some. Usually, organizations will have a way to communicate instantly with the core maintainer such as a Slack channel.

Finally, it’s a remote position. When you given a project, you’re going to work in your home country and chances are that your mentor is located in an other one. In this day and age, this kind of situation isn’t problematic. I mean, a lot of companies out there have distributed team members where they aren’t even on the same time zone, but they still make it work!

Why participate? Is this a real job experience?

Again, very good questions coming from students! So, no, this isn’t a real job experience. Albeit it isn’t a real job experience, you gain so much from the program that it doesn’t matter. You get the chance to work with something that will either be completely new and thus, gain experience and new skills at the end of the program or, you can pick up a project in a technology stack that you’re accustomed with and simply add an original project to your portfolio.

Oh, and also, you get a referral to apply at Google, if you manage to complete your summer project successfully! It only works once, but you can use that referral up to 3 different positions within the company!

How does one apply to the program?

You don’t have to be in computer science or in software engineering to participate, although, it helps to have experience in software development. You need to demonstrate that you able to complete the project and also, that you’re passionate by software development.

Each organization can have their own personal pipeline to assess the individual skills of the people applying to their summer projects, and that’s necessary due to the sheer number of students applying every year and that number since to grow exponentially every summer! Some organization could ask to interview you online when the competition is fierce for top notch projects, some could ask for a basic code fix in their code, it all depends on the context! It basically comes to select a project and writing a presentation of yourself to showcase

  • Who you are
  • Why you’re interested by the project
  • Why would you be the perfect individual to take on this project
  • A brief summary of your industry experience related to the project
  • What you expect to be able to do in the summer
  • Your summer timeline for the project
  • How much can I expect to make through the summer?

Closing words

So, I hope this little incentive piqued your interest and pushes you to apply this year! By the way, you do not have to take on the most difficult project, take one that resonates with you because that’s where you’ll be able to shine. Oh and before I forget to mention it, students can expect to get up to 5500$ US during their summer!

Learn more on their website.

P.S If you want to learn more about the project I did while I was a student, I welcome you to go on my blog post on the topic and my Github repository where the code is located.


SmartSavings: Go full-stack mobile dev – Part 0



This is my third and probably last post of the day. As you probably know, I’m currently in the process on working on multiple projects and getting out of my comfort zone and I’m going to share my experiences right here with you, readers, so may not have to go through the same challenges.

In order to truly get out of my bubble, I think developing in an entirely new language is required for me. Looking at many available options, I finally set my sights on Golang, google’s programming language. It looks pretty solid, makes me go back through the basics and work with the concurrent paradigm which I really liked with Akka when I got the chance to work with it.

I was looking for a good tech that would let me write my server using something new to me, micro services and serverless architecture. Researching on the web what was already available, I found this great library called go-kit that will enable me to write my micro service system that I’m currently designing. I figured out for fun, since I’m already using Google’s programming language, I should also use their cloud services to build my serverless architecture with Google Cloud Platform. In order to get more knowledge on the platform, I will be signing up for the data engineering specialization on Coursera that starts tomorrow, on the 27th.

As the title said, I’m willing to do an entire mobile application using only Golang. In order to do so, I found something called GopherJS. It’s a Go to Javascript transpiler, or rather a compiler that takes as input Go source code and will output correct Javascript code. Using GopherJS, I can implement my front-end logic without having to stop coding in Go. This is going to be the first time I used something like this. After this, I’ll be able to know whether or not it was a good decision based on scale of a project to use a transpiler so engineers won’t have to get out of their way and simply implement the business logic without having to get out of their stacks and keep being effective. In order implement quickly the app for both Android and iOS, I’ll be using React-Native.

SmartSavings is an idea to solve an issue of mine when I’m going out. I never know where to go or what to do. It’s an mobile recommandation system to help solve that exact problem that I’m having. Basically, after quizzing the users to understand their taste for food and bars, the app will then be able to propose a top 10 spots to go based on those tastes and the position of the user in the city. More than that, it’ll be able to point out what deals that can be found near the current location such as the restaurant A is having a promotion for lunch from 11 AM until 3pm or 16 oz of beer costs 3$ less at this bar than its surroundings for the next two hours. An app like this would be not only a time-saver but also a money saver because it’ll help me make better decisions whenever people want to go to either a restaurant or a bar.

More on SmartSavings as it progresses.