I am a hobby programmer (working as an SDE in the industry) and I have been observing qemu for quite a while. I have always wanted to contribute but I couldn't manage my time. I am good at Java and Python but quite a bit rusty with C++ and C (although working with it will not be a problem, I might have to google more than usual). On the theory side, I have a good grasp of data structures and algorithms and a decent understanding of OS and Compilers.
I have built qemu from source and I have my machine setup for git-publish via email.
I would like to start contributing with one of the bite sized tasks mentioned in the wiki page. The one that interests me and which I think is the easiest are the sections on "Compiler Driven Cleanup" and "Dead Code Removal". I think this is a good way to get introduced to the codebase.
I plan to stay and become a long term contributor. Is there any CS theory that I would need to know other than what I mentioned above? Is it possible to "learn on the go"?
I realize this is quite a long email and I would like to thank everyone in advance for reading this!