Knowledge? It depends on what language SME Server is written in. I know enough of PHP to make complicated websites, ive dabbled in C a little, but would like the excuse to learn a new language. Experience - quite a lot in being a user of SME and other linux distros, both for server and desktop use.
SME Server is not coded in a single language, but this is not important. Most of the packages included in SME Server aren't even touched by the SME Development Team, but pulled directly from the Centos project.
There is alot more to maintaining SME Server than writing code. However, until you become familiar with the practices an procedures behind maintaining SME Server, it won't matter how much dev experience you have.
As previously stated: Start in the bug tracker, the forums, and the wiki. Contribute were you can and start learning the SME project. As time goes on and you learn the project, you will naturally gravitate towards areas where your skills match the needs of the project.