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.