Contributing On Open Source
How to get Started with Open Source.!?
So you’ve
been a developer for so long, doing all the stuffs in your local machine and
gazing your work by yourself. Well, It’s time to make other developers gaze
your work. Firstly, if you are familiar with Open Source and if you are aware
of the ins’ and outs’ of Github this is not for you. This is mainly for
developers who are about to make their entry into open source.
Learn to use Git and Github
There are a
number of resources online that can help you learn git easily and quickly.
Knowledge on these is quite essential for contributing to open source. Make
most of the project that you do available on Github so that you can showcase
your skills.
Learn to setup projects
The most
important and the first part of getting to contribute to an open source project
is to set up the project that big organisations run onto your local system.
Most of the time README.md or Wiki in that
repo may come in handy. If you come across difficulties in setting up the
project, ask for help from that community of people in that organisation.
Be wise in choosing the Project to Contribute
For a
single organisation there may be a number of repos of different genre. Say for
an instance, a product of that organisation may have an android app, a progress
web app and/or an iOS app. Me being an Android Developer will go for
contributing to the Android part of the product because that is where I can
show my skills off.
To be precise, choose a repository that suits your skill set.
I’m not
saying if you are an android developer you shouldn’t contribute for web apps or
iOS or apps of any other genre. I’m just saying go for where you can shine.
Start Small
Okay, now
it’s time to code and actually contribute to a project, where shall I start.!?
Well, first start by raising issues, to raise issues you should actually use
the product and find fault with it, it’s easy right. Yeah, find fault with that
product and raise it as an issue.
Remember: There may be more than hundreds of open issue in your project
repo but make sure the issue that you raise is not raised by any one else
before.
If you are
confident that you can solve an existing open issue just fork the repo and
commit on the changes on the forked repo and click on Make Pull
Request button and BTW, while describing your pull request make sure
to specify the #issue_number this will specify the
issue that this PR fixes.
Don’t be afraid
Most of the
people I see have skills to contribute to Open Source aren’t because they think
Oh, this is a big project this has 1000+ commits, I’m no way near it.
This project contains contributors who are geniuses who’ll mock me on my PRs.!
so, I’m not gonna do it.
Actually,
People who are geniuses don’t mock others In fact, they appreciate others
contribution, they always give hands for the budding developers. So, stop
thinking and go do it.!
Remember : Every master was once a beginner
Don’t get Disappointed
If your PR
get any changes or if your work is reviewed and closed
directly by giving some comments don’t get disappointed. Changes are
only to make the code much more consistent and optimised before merging into
the main repo — nothing bad about it. If your PR is closed, read the comments
given before closing the PR — chances are those changes may not me needed at
this time or those features may be preserved for future releases.
Remember : First step is always the toughest, if you’ve crossed it,
the rest is dust.
Be Humble
You may know
a lot of things but be humble to developers who sought help from you. Be polite
while commenting on a PR or on an issue. Being polite shall invite them to
contribute more and more. So, it’s a win win situation for both the contributor
and to the community.
No matter how much you learn there is always something to learn. So, be
humble
Be open to
take in others suggestion as well. Listening to others will only makes you
stronger.
Learn to Learn
Doing
changes in the code and giving out PRs from the concepts you know is good but
always learn something new in every PR that you give out — this will increase
your self-confidence and this is a strong point to show that you’re striving to
improve yourself.
If it doesn’t feel challenging to you then you are still in your comfort
zone.
Try to push
yourself out of it.
Voila,
If you
follow this you’ll be a successful open-source contributor. I’m not saying
strictly follow this. Breaking the rules is good, so go for it. I’m just a
developer speaking out my views and thoughts through my experience. So, now
say,
It’s a Developer’s life for me, savvy.!? ✌🏻
More where this came from
This story
is published in Noteworthy, where thousands come every day to
learn about the people & ideas shaping the products we love.
Follow our
publication to see more stories featured by the Journal team.
Pressure Out The Placements
By
Anirudh M
GSoC
'18 with @CNCF | GSoC '17 @HaikuOS | SWE Intern @HasuraHQ
Following is applicable only for Product Based companies
like Zoho , Amazon, Google , Coda Globals, Zilker and so on. There are two
types in which a product company takes in people.
Type 1
By conducting web development rounds or advanced
hackathons and so on, Actually companies like juspay does that. In these
rounds, you'll be provided with internet connection and you have to google and
complete the stipulated task. This maybe web or android or even complex task.
To clear such a round, you'll need previous project building experience and
know how to google and how to debug and learn from stackoverflow. Just
these skills are sufficient for one can get through these rounds and then after
this it's just face to face interview with questions from academics or they'll also
ask you to demonstrate how you'll build an end to end application. This round
is called System design round, you can google it, you will get many different
examples which you can try on. Then the final HR interview. These companies usually
pay above 6lpa and even upto 30lpa. Work will be nice in office, and you will
find smart peoples around you. if one is passionate about CS, this is the best
option.
Type 2
Another type of recruitment is like how Zoho conducted,
companies like Google, Amazon conduct the same way too. They'll start with
apts, then give a question paper with 4-5 questions, it'll have questions
related to data structures and algorithms. You should write in
paper the pseudocode or in whiteboard. Example questions: build a queue using
two stacks, print top view of a tree, find shortest path in graph and etc.
You'll be given a coding round and maybe some algorithm coding round too. These
companies do not have a fixed style of recruiting but you are strong on data
structures and algorithms, you can clear even Google. They won't ask project
experience, but you must be knowing CS fundamentals from OS, DBMS, CN.
So from your perspective, if you start preparing for the
first type of companies, it is that you have to learn JavaScript frameworks now
and to build projects, and try to build some hand full of projects. If you apt for the second type, then start with data
structures and algorithms , practice problem solving and just revise
fundamentals of CS .Companies which ask project experience may reject but
surely Zoho, Amazon testing in our college won't ask project, so you clear
those for 100%.
Start solving problems in hackerrank and learn algorithm
in geeksforgeeks and revise CS concepts. If you do these sure you can
get in Zoho, Amazon testing. But if you solve problems and leave it aside,
you'll forget and lose touch, that's what happened to me now. So doing it
regularly, even before day of campus drive is important only so you'll be in a flow to solve the
problem.
Recommendation
GeeksforGeeks + HackerRank + CS fundamentals +
expressing confidence during interview. These 4 things can sure shot get you a
job. I've personally experienced and also prescribing with the collected
experience. Others may have different opinions, this is what I observed in the tech industry.
Never It’s Too Late To Begin, Start Today
Good luck! 😌👍🏻
Good luck! 😌👍🏻
Edited And
Compiled
No comments:
Post a Comment