Sure, it's pretty easy to contribute. Just submit a pull request. If it's something that's helpful the maintainers will welcome it. If you're contributing code, make sure to include tests.
Yup. Start by contributing to projects that you are involved with. e.g. using a 3rd party library that someone made? Check out the issues section and see if you can solve someone's problem. You can also start with improving the docs. Everyone loves nice docs but nobody wants to bother writing it.
Yes. I've contributed in some libraries on Github (flyway, debubdb) for some bug fixes and feature improvements.
It's very interesting to do personally and for the community.