My Journey to Google Summer of Code 2021 @ OpenMRS

Vineet Sharma
5 min readJun 14, 2021

A journey worth being a part of.

Hello Everyone!

I am Vineet Sharma, an undergraduate student at NIT Hamirpur. I have been selected in Google Summer of Code 2021 under OpenMRS. I am so delighted to have this opportunity and would love to share my journey and insights in detail for all the students who want to participate in the upcoming years.

Who am I?

My name is Vineet Sharma and a resident of Gurugram, Haryana, India. I am pursuing Integrated (B.Tech + M.Tech) Dual Degree course from NIT Hamirpur and will be graduated(and post-graduated) in May 2022. I am a student of Computer Science and Engineering Dept. Along with that, I have a great interest in building applications in web development and have decent knowledge in React. In short, I’m a MERN Developer and have been building various projects and have done a few internships in the same. Your can find about me and follow me on LinkedIn.

What is Google Summer of Code?

Well, if you are reading this blog, I hope you must be knowing about GSoC. If you don’t, Google Summer of Code is a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a 10 week programming project during their break from school. The current working period is from 7th June 2021–16 August 2021.

What does OpenMRS do?

The OpenMRS community is a worldwide network of volunteers from many different backgrounds including technology, health care, and international development. Together, we’re working to build the world’s largest and most flexible technology platform to support delivery of health care in some of the most challenging environments on the planet. The global OpenMRS community works together to build the world’s leading open source enterprise electronic medical record system platform.

How did I got to know about OpenMRS?

I gave my GATE exam in Feb 2021 and at that time, the selected organizations were declared by GSoC for the year 2021. I looked out the list of all the selected organizations and was keen on the projects put up by the organizations. When I checked out the projects of OpenMRS, there were 5 different projects in React and those all were a part of the same project. I was keen to learn more about the project and since the project was using micro frontends, I found an interest to learn more about the project and signed up with OpenMRS on the various platforms that are used by the org.

How did I introduced myself to the community and built a bond with them?

Introducing yourself to the community is of utmost importance. An introduction should be short, which should briefly describe where you study and what all technologies are you aware of or have a good knowledge. Your introduction should be of an impact that you are interested to contribute in here.

What do I mean by contribution?

By contribution, it not only means about the no. of pull requests or the changes you did to the codebase. You should not be present in the community but you should be a part of it. You should join the talks or meetings and listen what all is being discussed in the community. You should also focus on the next steps of the community and participate in every event organized.

What after a decent introduction?

Never wait for a reply, that a person from the community will reply to you and will take you on a walk about the project. That’s your job. You shouldn’t be a person who is always there for spoon-feeding. You should do your research on the project, learn about the project and set it up in your computer and have a walkthrough of it. Try finding the docs or try going through the code by yourself. You can look out for the platform where all the issues are discussed and are put up to be worked upon. Try filtering for the easy issues and try solving it. If you are at a point, where you can’t find any answers to your problem, you should contact a senior developer for help. Again, don’t expect spoon-feeding from them as well.

I also followed the same steps as above and set up my local env and tried running the project by myself. I tried looking out for some issues on the JIRA issue tracker used by the org. It’s not that I never asked for help, I did ask for a lot of help, but only when I wasn’t able to solve it from myself.

What if the project which is put up is not yet started?

That’s the reason why the project is put up on the list. Try searching about the project which this project is either a part of, or is linked to. That way you would be able to have a better grip on the project.

How I wrote my proposal for the project?

After working on the project and solving few issues on the project(or the related project), the time for proposal submission came. I tried researching more about the project proposed. I read the project description and checked out all the related links to the project. Since my project was to upgrade an existing admin panel, I checked out the previous implemented admin panel and pointed out all the implemented functions and along with that, I listed out all the points where I can improve from my side.

You should focus on how you can add some features or some new things into the project which can improve the project. All these points matter a lot because if you want to work on the project, it’s your duty to try to know the project in depth.

Caution

As I noticed, many students after submitting their proposals, got busy in their college studies and then stopped contributing into the project. I will count it as a very bad point, because to be a GSoC student, your focus should not only be upon your work on the summer project, but to be a part of the community. So, be consistent because you are trying to be a part of the community and community is not about the job done, it’s more about the personal contributions in it.

How would you describe a successful GSoC student?

  1. A student who is ready to give all their efforts voluntarily, keeping in mind that they might not get any reward, still contribution is important.
  2. A student who might not be well versed with the technologies being used, but is all ready to learn them. A student doesn’t need to be an expert in the domain, even a beginner is a good candidate.
  3. A student shouldn’t be a part of just contributing technically, instead they should be active in conversations and in the meetings.
  4. A student who not only contributed in the community for the summer period, but also aims at being a part of the community on a long term basis.

Constant determination and hard-work always pay off.

I would love to thank all of the community members at OpenMRS for their constant love and support. It’s a great opportunity for me to be a part of this great community.

I hope my blog is useful to you and if you have any doubts, you can email me personally at sharmava05@gmail.com . I will be more than happy to help you out.

Signing off.

Vineet Sharma.

--

--