I recently wanted to apply for a position in the Firecracker [0] team because the project really interest me and gets me excited, so I thought that contributing to it would increase my chances of getting an interview for that position.
The problem I'm facing right now is that the project feels very intimidating, it's giant and I don't know where to start/how to lay down a strategy to slowly get myself comfortable with it.
Maybe I started with a project that is too complex and definitely requires much more knowledge that I currently have, but I would really love to know other stories and approaches that the HN community have to share on open source contributions other than the classic "start with the good first issue".
[0]: https://github.com/firecracker-microvm/firecracker
1. Start learning about the project from user perspective. Try the most common use cases. Do tutorials, and read the documentation.
2. Download the code, build it, and run the project locally.
3. When you have the project running locally walk over the code of the most common use cases. To find the right code search for text from the UI, names of the API calls, or just add breakpoints at multiple places and see which one is hit.
4. Go over the code with the debugger and try to understand what's going on.
5. But don't spend a lot of time just aimlessly browsing the code. Only familiarize yourself a little with it and verify that your setup works, debugger is debugging, etc.
5. Choose some bug from an issue tracker and try to reproduce it locally.
6. Try to fix the bug.
Pick a simple bug, dive in and send a fix. Repeat. Level up the difficulty. Repeat.
They have labeled some bugs as good for first contributions:
https://github.com/firecracker-microvm/firecracker/issues?q=...