@RubbaDuxx Firstly, you'd have to use the software to find the problems to solve. If anything troubles you, look at the source code and see how you can solve it. This is usually much easier than writing new features or solving someone else's problem.
You can also help by translate the software, write documents, and improve accessibility by label icons/buttons, though these involves less "building stuff".
@RubbaDuxx @huy_ngo I tried that approach but my problem was way more complex and went down 'the stack'. I spent too much time banging my head before moving on.
Start with a problem that is within the code you want to learn. If the problem goes beyond the 'front' app, write it in the issue and find out/ask where the problem may be.
Triaging problems to where the fault maybe is very helpful for other developers.
@dean @RubbaDuxx Indeed. My method is only simple enough for simple (and well-written) apps. For complicated apps it's certainly hard to do the digging yourself.