The way to Google Summer of Code — Start your Engineering

From the experience of a GSoC Student from OpenMRS

Kailayapathy Suthagar
10 min readSep 26, 2017

The biggest summer 2017 has reached the end. I think you all are enjoyed your summer holidays very well. Most of you went for the trips and some of you took the long rest.

What did I do?

I got a valuable gift for my career. YES! I was busy with Google Summer of Code and spent all summer to gain a lot of knowledge. I never felt hard to miss the trips or rest. Because I am very satisfied and enjoyed my summer with OpenMRS — I am happy to say, I lived with my passion and wrote Codes, save lives.

I got some capital for my career through the Google Summer of Code Program. I am not speaking about the Stipend, Just mentioned about the knowledge and experience. Now I can develop my self using that valuable experience.

Google Summer of Code

Google Summer of Code is a global program sponsored by Google Inc focused on introducing students to open source software development for the open source organizations. Students work on a 3-month development project with an open source organization under some mentors.

Do you like to get a chance to work on Google Summer of Code? Then better to think about these guidelines first,

  1. Do you have the passion about the Software development or IT related field?
  2. Do you have much time to spend the summer with an Open source Organization? — Cool, No need of much time. 30+ Hrs per week is enough for a general project. You can enjoy your summer with rest of the time.
  3. Are you willing to get a paid learning opportunity during your college time? — Definitely, you can buy a new Apple Mac book pro with your stipend.
  4. Do you want some friend in your field from other nations? — You will get a chance to meet more than 1000 students through the GSoC Program
  5. Don’t miss the chance to meet the experts as your mentors — You will be directed perfectly to achieve your target quickly.
  6. Do you have the goal to reach Google? Get a change for Google One time referral chance— You will be invited for the job/intern interview quickly for the applied position.
  7. Show your colors to the society. Definitely, they will catch you as a paid employee- Truly, Some of the GSoCers got the opportunity to continue the work as a paid employee after the GSoC period.
  8. Fill your LinkedIn, Resumes and CVs with the weight roles like Google Summer of Code. Definitely, you will be shined among the others if you have mentioned your GSoC title.
  9. Everyone can write the code to complete the task. But one mentor can direct you to utilize the methods to increase the task efficiency. You can catch those techniques using the GSoC experience.

You can get information about GSoC program through the GSoC FAQ section.

How did I familiar with GSoC?

  1. Contacted past mentors from various organizations and gathered a lot of details about GSoC and that process (OpenMRS, WSO2, Moodle and Apache Software Foundation)
  2. Subscribed mailing list and GSoC official group to know about the current discussions.
  3. Researched a lit bit about past projects and technologies which belong to some organizations
  4. Got experience with some new technologies which are mentioned in those projects.
  5. Read some blogs of past GSoC Students and referred some important workflows

OpenMRS

OpenMRS is an Electronic Medical Record System with a lot of facilities and OpenMRS is also a community of developers, implementers, and users working toward a shared and open foundation for managing health information in developing countries. So as a developer, I would like to be part of OpenMRS to make it more efficient using my Computer Science and Engineering related knowledge. OpenMRS is an open source platform, so there are a lot of ways to contribute. One of the most identified methods to contribute OpenMRS is Google Summer of Code.

Image from OpenMRS Wiki

How did I get a chance to work for OpenMRS?

I never try anything massive! Don’t think too much about the activities needed for this role.
Simply Says, Do something to get community focus on your activities.

  • I just spend some time on OpenMRS talk page get familiar with the environment
  • As the request, I got access to the OpenMRS Issues page and take some simple issues to solve!
  • Created some talk post about the issues and fixes and discussed about that with the community people
  • Contacted my mentor and discussed about the project idea
  • Did some demo works to show my potential to the community — Yes, Hopefully, I can do this project :-p
  • Created an awesome proposal for the project :-)

Yah, I got the chance to work for OpenMRS though this year GSoC. I worked with Daniel and Wyclif during this summer period.

Let follow this another post to get more about contributing to the OpenMRS,

A little bit about the project selection

More metadata Management in AdminUI — Can you understand anything using this title?
No, If you are not familiar with this domain, then definitely you can’t understand the content of this project with only the title. The title of the project might reflect the concept as more complex. But there is nothing difficult.

Image from Graphicsbuzz

Don’t get afraid of the Project title and the content. It may contain some unknown technical terms or technologies. Just Google it them and clarify.
You should Google it everything and get some immediate knowledge about them At least try to get knowledge about the used terminologies.

Can you imagine the implementation of the function in an abstract class?

Like that, GSoC Title and content is the abstract of the project. You should try to get more information about that respected project from the community or your mentor.

What Can I do to get more information about the project?

  • Go to the Organization official webpage and find out the pages respected to this project. It may contain some more information about the project
  • Just go through the content and contact the mentor for that project. He/She will response you with a list of resources to you about the project. You can continue the discussion with the mentor to get more information about the project.
  • You can follow(subscribe too) the email threads, Discussion groups and IRC talks which are used for the discussions about this project

Don’t spend much time on unrelated projects for your domain area. If you are only like to learn something new, then you can involve some new domains.

If you can’t get familiar with the project content, then better to move with another project. There will be a lot of projects to you. You can select one project which will make you really enjoy.

The project may need more than 5 technologies but still, you are the only familiar with 2/3 technologies. Then don’t hesitate to try on that project. Just Google the unknown technologies and go through some of those documentations. You will have much time before the project starting period from the project selection time(Approx. 2 months). Definitely, you can learn some of those technologies within this time gap.

GSoC is open for the Students(who can learn!) not for the employees(who already knew it)

How to increase the chance for the GSoC?

The perfect answer will be, Show your interest and Do something to convert the community view about you. They should trust you and follow your works and interest.

Contact the mentor frequently and discuss about the project. Try to get more information about the project from the mentor.

He/She is the only resource person who knows totally about the project.

If you are learning anything new, then just write some blog posts about that. It will increase your chance to the GSoC. Blogging is very important to the Open Source world. You should expose your knowledge to some others using the blogs or any other writing materials.

Read articles and learn something new, then Write blogs about that!

If you can find any ideas to write something about the organization which is your target or any ideas related to your project domain will increase your changes for the GSoC. It will express your ability and interest to the others as well as a community.

No need to fulfill the GitHub timeline with all green boxes. Anyway you need to have some of the green boxes at there :-p (I think. I had only 10% of green boxes when I was planning for the GSoC)
The Community will not depend on your GitHub timeline. You don’t need to think about that much. They only expect your interest and commitment to the project.

Before the Google Summer of Code period
During the Google Summer of Code period

GSoC Project Proposal Techniques

You can apply maximum five projects for the GSoC. Anyway, you need to work on that projects and want to show your efforts to the community. Showing efforts to five projects will not increase your chance at GSoC. So just plan and catch 1–3 projects among them and work only for those during the proposal time.

Please go through the official proposal template for the organization which is your target. Each organization prepared some proposal templates for their easy of access. If you missed that templates, then you can’t think about the GSoC :-p

If you can, just implement some demo samples for your project and include them in your proposal. Do not forget to include the timeline for the project. Clearly, indicate the main task and sub task about your project plan and better to describe those within 1–2 sentences in the timeline.

Do not wait until the last minute of the proposal submission deadline. Start working on proposal writing before one or two weeks and check all the spelling mistakes, grammar, and terminologies carefully. Making mistakes in the proposal may decrease your chance at GSoC. You should fit on your proposal and show your innovative ideas through your proposal.

Submit your draft proposal before one week of the submission and request your mentor or community to review that. Do not ask them at the last minute for the review, then surely they will fire you. If you ask early as possible, then they will spend some more time to review your proposal will give some comments to improve your ideas. Then finalize the proposal and submit to the GSoC.

What I learned through the Google Summer of Code 2017

I learned a lot of new aspects during my GSoC time. I got an awesome mentor :-). He helped me in so many ways and community cared about me every time.

  • A Chance to work with Community — A good chance to get more contacts from the industries and make friends around the world.
  • Good value for the Resume/CV — Yes, Definitely GSoC will replace the first row in my Resume/CV. It will some extra advantages while applying for the software related roles. Tech guys know the impact of the resume in their career.
  • Stipend — You are not supposed to do anything free to the community. Google will pay you! You can’t imagine the amount within your college time. I think you can buy a new Mac Book Pro or you can pay your semester fees with your GSoC stipend amount.
  • One time referral for the Google — You can get one time referral for the Google Jop. Then you will be interviewed for the role. If you satisfied their requirements during the interview, then you can land on the Google!
  • Colors — Yes, You are the most wanted guy in your university because of the contact with Google. Some of the universities honored their GSoC students and gave some credit for their works also.
  • Chance for the Mentoring — If you played your student role very well and completed your project with some good comments from the community, then you will get a chance to become a mentor for next GSoC. It will increase the chance to join with the Organization as an employee.

Hopefully, I have developed these following skills during my GSoC time,

  1. Technical skills — I learned a lot of new techniques for my project. I already familiar with most of them but I want to know them deeply to create new ideas about my project features.
  2. Coding conventions — How to code better and how to maintain the coding standards among the community
  3. Documentation Skills — I wanted to create some documentation for my project also. So I learned how to handle the wiki pages and documentation pages. Got some experience with documentation preparations tools.
  4. Open Mind — I learned how to review the PRs and How to guide others. Yes, we are allowed to guide other projects also. That means we can suggest our ideas in the talk thread and able to move with that ideas also.
  5. Problem Solving techniques— I faced some critical problems while working on the project and asked help from the community. There are so much of resource persons and they came up with different solutions. So I can learn from their solutions, How to think like them within my self.
  6. Blogging habit — Yes, I wanted to write blogs at least once per week. So I just updated my weekly works to the blog and explain the steps at there. So totally I created more than 12 blogs during my GSoC time. It increased the blogging habit among us.

This is the final report about my work for the Google Summer of Code 2017,

Spend some time during your summer and, Start Your Engineerings!

Do not miss your years!

Google Summer of Code 2017 had 12 mentors under the age of 18.
Say what? 15 years old!? Yep! This group of enthusiastic teens started their journey in our sister program, Google Code-in, an open source coding competition for 13–17 year olds.

Prepare you for the next Google Summer of Code…!

--

--

Kailayapathy Suthagar
Kailayapathy Suthagar

Written by Kailayapathy Suthagar

Software Engineer @ Sysco Labs, Google Summer of Code Intern @ OpenMRS