AMA with Mohit kumar Bajoria
mbj36(Mohit Kumar Bajoria) was two-time GSOC’er in Mifos initiative and currently working as Software Developer at Neostack in Bangalore. He will be answering the questions related to GSOC.
- From where did you heard about GSOC for the first time?
I heard from our senior Rishabh sir in year 2015 - Are there any prerequisite for GSOC?
There are no prerequisites for GSoC, you just need to be 18+ and a university student. Skill wise also no prerequisites. GSOC is a time to learn in those 3 months. Its like how you sell yourself to get that project - How many students are selected per project?
1 student per projects; It depends @moksh_mahajan if org has 1 codebase but different project inside same codebase then multiple student for multiple projects - Does proposal matter in GSOC and what should be the content of a good proposal and what are the things which matter else than proposal in GSOC?
70% communication 30% proposal 😉
Proposal is a thing you sell yourself for that project. Contents of good proposal (if org has a template then strictly follow that template)
* About yourself
* Project implementation in details (Every week summary during gsoc timeline)
* Timeline (how you will cover the project in 3 months) - Can we ask organisation itself about the slots given to them and the project’s priority?
You should not ask such things; Because google decide slots; And even org doesn’t make it public unless you are very close or core contributor - Is there always uncertainty about the project being selected?
Yes, in small org there is always uncertainty about project being selected. - Can you share your experiences of GSOC as a student and as well as mentor? What you learn as student?
As a GSoC student, I learned to communicate first, large codebase doesn’t bother me now at all, learned to google stuffs and networking with people. As a mentor, I will share my experience after this year GSoC ends(I am mentoring this time 😉). Please somebody don’t ask me what I did with GSoC money. - Are “solving issues” and “opening new issues” are equally important? Or “solving issues” has some more edge over “opening new issues”?
It depends if you opened a issue, it makes sense and if you can talk with community about the issue and its solution, then you have a upper hand - Can we contribute to any issue or any idea related issues matters, which issue should I work on?
You can contribute on any issue, you have to look around for contribution, see whether the issue is important or not. Every org has low-hanging fruits or beginner friendly issues, work on them. Mentors/Org admin doesn’t have much time, they have a full time job…they don’t reply questions which they find general. They are doing open source for free! Try to communicate with org, the more you do, the more you have advantage Be active in mailing lists, channels. Look around what is going on, look what others students are doing too, these are simple ways to get ahead of everyone. - Is it mandatory to solve the application task? In my project there is given some application task that include some bugs.
I will say — if other candidate has solved project related issue, then org will select him… You have 1.5 months time, i think you should give it a try for the application task. For some org, it is mandatory to solve that ask…because they will judge you according to that. But it’s not important that you do it 100%. It just they want to see your approach - Only 1 student get selected on one idea?
Yes, 1 student per project/idea. Idea === Projects. Don’t panic at all…just work for next 2 month to get selected. I remember I used to keep open my hangout chats whole night just in the hope to get the reply from my org when I wasn’t selected - Is it necessary to complete the task till the end of GSoc ?
Yes, org will fail you and you won’t get the final stipend from Google. - For working with JS, which framework should I go with for frontend and backend?
JS framework for backend — NodeJS, for frontend — React or Vue
Go with react as of now and node for backend
Hit me up if you have any question related to JS - What about if I want to work on the same project after GSoc?
Org will welcome you and you can continue working. In a year I got the admin access and started maintaining my org web app repository, so get to maintain such stuffs also. - Is it necessary to solve issue for selection?
It is like “Is it necessary to eat food to remain alive”, 😜
These two months are enough to get you solve at least 1 issue - I have gone through many issues mostly beginner ones which I find I am comfortable with but after that I feel intimidated with the codebase, any workaround for this?
Use a good editor like VSCode…which has lots of functionality to understand functions..try spending a week…try removing some line of code and see what changed
* Start with very basic
* Ask questions in mailing lists, channels - How we approach towards reading the codebase basically orgs like debian?
I will share my experience with JS — I use VSCode editor, everything is organised in that editor…open the whole folder in the editor, don’t open the file individually, check functions relations in different file, try changing HTML and see what changes in browser, see the JS functions what it does - And also like webpack?
Webpack has one of the best code bases..but you must know AST if your looking into webpack to contribute - Can you share your proposal?https://docs.google.com/document/d/14KWN5NTWAs_ycVy0mUe9OgPGAM8I3mEOst6IGOj01c8/edit?usp=sharing
- From where I should start?
By seeing the getting started guide, every project has starting guide - Best sources to learn node and react?
My suggestion..please take time for 1 week to understand JS callbacks, promises, async/await and then dive into Node, Node js is huge big framework..you should not ask how many days such questions, also you can go through this https://www.udemy.com/the-complete-nodejs-developer-course-2/ - We still have confusion regarding the codebase, and the deadline is 27th march. How to solve a issue if you are still learning about the codebase? Everyone is confused about the same thing!
So you have ~35 days till 27th march…it doesn’t matter if you submit your proposal on 12th or 27th. You have 35 days…hung around the codebase
* ask questions
* we will try to answer
* ask on mailing lists, channels
* just go through the codebase, everything will be fine after that. 😉
* To add, the time between submitting proposal and declaration of results is also important. You need to keep interacting, contributing to the community that time too.
* That’s very important time because then your mentors can assess your proposal with how you are working on. - @mbj36 there is a general feeling while solving issues related to GSoC that I don’t know anything. A lot of people lose hope at that moment. Any suggestions on that front, how to tackle it?
Yes, this is the situation most of the people face, but at the end only those gets selected who just hang around till last day of the GSOC result
Keep yourself around the community, tickle with codebase, get help from past community contributors. If you do this, you will make it 😄
Also Be patient :)
It happens with everyone.
Some kind words in the end from Pulkit Goyal:
if a person is good at X, then most probably he will know about things which relates to X in some ways or other. This X can be and is different for various people out there. But being good at X and have some knowledge of Y doesn’t necessarily makes you better than person who is good at A and knows about B. So, having knowledge about web or frontend or backend does not uplifts you more than a person who is a system engineer or devops engineer or kernel engineer or hacks on compiler or do research work. There are thousands of different things out there, one should keep exploring.