I always agree with this - start by looking at the software you use.
Read the documentation. Are there any inconsistencies or poorly written docs?
Have you run into any bugs or odd behaviour when using the software? If so, reproduce it and write a test case. Once you have written a test case, work on developing a fix.
If you're really stumped, take a look at open issues that people have raised and if they don't appear to have anyone working on them, or no one has opened a pull request, start looking into the issue and try to achieve the above.
Alternatively, if the product has a feature gap that you think would be valuable, contact the maintainer and see if they agree. If they agree, then ask if you can start working on it and get the feature merged back into the core software.