I am struggling to contribute on GitHub even though I have good skills. [Answered]

As a part of my routine, I answered this question and decided to write it as a blog post to save my finite keystrokes.

The original question was: ‘I learned Python and practiced on HackerRank, but I am unable to contribute. There is too much code in every repo and after going through everything I decided to look for a new project. I am so frustrated and feel like giving up. But deep down I know I have the potential to be a good programmer.’

If you cannot start off on GitHub as a contributor, start off as an author. Build your own repo. You can go out and build something useful on your own. There are millions of problems (big and small) that you can help solve as a Programmer. Put those solutions on your GitHub. If your solutions turn out to be useful, other users would want to use it, contribute to it, fork and improvise on top of it. And in this way you will learn many programming techniques from other developers.

“There is too much code in every repo and after going through everything I decide to look for a new project.”

  • Remember, Once you get a programming job, you would have to go through a lot of code that you have not written.
  • One quality of a good programmer is to read and understand code written by other programmers.
  • Do not get frustrated by huge code bases by having an aerial view on the GitHub repos.
  • A Problem is broken down into many smaller sub-problems and then the solution is written bottoms up.
  • Solution for each sub-problem is written and wired up to solve the bigger problem, making the code base look intimidating to new programmers.
  • Learn to narrow down the code base. It is the most efficient way to track bugs.
  • Good piece of programs are written following a Design Pattern. Make sure you are aware of the Design practice used in the codebase you want to contribute to.

“I know I have the potential to be a good programmer.”

  • That is great! Most new programmers lose their way in the beginning as things become more complicated while transitioning alone.
  • Look out for people you admire or sought to become like. Establish a good communication with them and Ask them to mentor you.

PS: There are certain things that even HackerRank cannot teach you.