A witness primary job is to produce blocks as the system is delegated proof of stake and not proof of work. (There is no mining).
We are also responsible for maintaining a price feed that is used in many internal systems.
Witnesses also have a few tweakable parameters we can change and have a say in the consensus-driven final setting. These are:
- Steem Price
- SBD Interest Rate
- Price Feed Bias (affects how much SBD is generated)
- Block Size
- Account creation Fee
That's the full job description, but many witnesses do a lot more than that and act as community leaders and trusted advisors.