You have interests, and you are interested enough to ask, but are you
interested enough to follow through? --That's the tough part.
HN sees a lot of questions similar to yours, and even the best replies
can be summed up with three steps:
1.) Get Familiar
2.) Get Involved
3.) Get Hacking!
In your case there would also be step #0 pick a field. In most cases,
step #1 seems overwhelming. There is a ton of work in just getting
familiar with the basics in a given field. With the fields you
mentioned, I'd start with universities. There are tons of universities
with departments/schools specializing in the fields you mentioned, and
the majority of them have publicly accessible projects. You could
literally spend months quickly reading all the various projects/code
from universities with Bioinformatics departments, and that doesn't
include the related research papers. Take your time, and be patient. Try
to quickly cover as many of the projects as you can find, and remember
your goal is to just get familiar with all of the work that is currently
getting done by all of the related, but separate, groups. Keep Notes.
Once you're familiar with the bulk of the projects out there, decide on
something that interests you a lot, and get involved by contacting the
group. Get to know them. Get to know their published research. If you
have any difficulty with the people, it won't be any fun working with
them, so politely disconnect and move onto another project.
When you find a project that interests you and people you want to work
with, then get hacking. Learn the codebase. Since every project has
bugs, start with the bug reports, and providing patches. Do not be
surprised or upset if your patch is not accepted -- this happens a lot
when you're first starting out on a new codebase. Ask for feedback on
both your approved patches and your rejected patches. Try to learn from
the feedback of people who know the codebase and conventions better than
you do, but remember to respect the time of others.
Always stay classy, and civil, and committed. --And if you figure out
how to always be classy, civil, and committed, then tell me how. ;)