You need to understand how to use git (just basic stuff that is in every tutorial). If you only want to change small things, the github online UI is enough.
If you want to contribute code (and not just jsons), some basic C++ ability and the ability to set up a compiler that compiles DDA will be required.
Responsibilities are:
Testing own contributions before sending them for mergetesting
If the contribution breaks something and the fix is simple, following up with a fix.
When changing some mechanic already in the game, explaining why is that change good
While our code standards nowadays are much higher than ~2 years ago, this doesn’t mean bad code will be rejected, just that you will get a lot of suggestions on how to improve it. Those are generally just “change tabs to 4 spaces each”, "spacing has to look like if( fun( var ) ) {", “this name/description is misleading, you should mention x and y” and “you can replace this block with this code: {new code here}”.
Most important thing is not making big PRs (300+ lines changed). Those will be rejected unless you’re really good at explaining why it can’t be smaller. It’s better to submit big changes in 2 or 3 PRs.