Diggy, I think a change should be made in the way EXP gets earned for non-criminal and non-laborer jobs: as EXP is earned right now, it promotes corruption and crime, and makes a clean city seem a bad thing for jobs which should, by nature, want it.
For instance, police are given exp if they arrest criminals, which means that during times of peace, they get absolutely no positive reward: they only get anything positive if criminals are still at large!
Similarly, firefighters are only given exp when they are fighting fires. I have been a firefighter myself, and have actually asked people to set the city on fire in order to get exp. This also makes firefighters wish to be fighting larger, harder-to-extinguish fires, in order to get more chances at earning exp. The result is delayed fire response and slow firefighting.
I propose that for jobs like firefighter and police officer, every tick where there are no online criminals, or there are no fires, respectively, they get a random chance at receiving exp. Perhaps even, if possible, the longer the server remains calm, the greater the chance at exp.
I actually like this to an extent, but the way the current EXP system works would mean that if there is no crime and only a handful of people online and there is only one cop, that cop would have a very high chance at gaining EXP. This might sound like a stretch, but it happens a lot during the day when people are at school and there are a few Europeans or sick kids online.
And remember, a crime- and corruption-free city is a boring one!