Do I need to know how to code already? At what level?
Edited

You will need to be proficient in at least one programming language to participate. You should have some experience working on a variety of projects using that language and feel comfortable using it to solve real-world, practical problems.

Experience levels usually range from intermediate to advanced for each language. Based on your experience level, we will try to match you with an appropriate project.