
Ask HN: How to know if you are prepared to contribute? - mcdevilkiller
Hello guys, as a student and amateur developer, I know that I&#x27;m not a very good programmer yet, but a lot of people seem to recommend contributing to e.g. github projects to get better at it. How can I know if have the knowledge or expertise to contribute? What if my commits aren&#x27;t good enough? They probably would reject them directly, but I want to see what the experienced people here think about this.
======
GFischer
What are you thinking of contributing to? Also, don't think that your
contributions won't be "good enough" just because you're a student.

I've seen amazing stuff built by students - the React Create App was created
by a student !

[https://mxstbr.blog/2016/12/a-dream-come-
true/](https://mxstbr.blog/2016/12/a-dream-come-true/)

Incredibly inspiring story, and it shows you don't have to build something
huge or amazing to help !

Closer to home, a coworker wrote some simple Javascript helpers for the same
reason, he didn't find anything that helped him online, and it's amazing to
see them everywhere.

The Javascript environment in particular is ever-changing and can use some
help :) , and there's new stuff every day where you can contribute.

OTOH, I wouldn't go to contribute directly to the Linux kernel or any big,
mature project where serious experience is needed (and even then, they do need
help although they might direct you to help with the docs or stuff like that).

~~~
mcdevilkiller
Thanks for the link. I believe that the projects I will contribute to wouod be
C or C++ because it is what I like the most and the hardest, although Python
or JavaScript could be fine too. I will probably try to make some minor
changes to little projects with a low number of contributors.

------
itamarst
Some projects are setup for new contributors, they will have tickets marked as
easy, so you can start with those. They will also have code reviews, so
rejection would still be educational and you could probably come back with
revised version that would be accepted.

