If you knew exactly when you got experience it wouldn't be nearly as rewarding when you actually get it.
I beg to differ. It's rewarding when it actually happens whether if it's expected or not. So far it hasn't happened to me, 1000 lumber later. That's not really rewarding.
Having the EXP be random makes people more determined to do their jobs overall improving the gameplay.
How? They have no idea when it's going to happen, or if it will ever happen. It's pretty grueling actually.
If random EXP isn't your thing some jobs have a 100% chance of getting EXP, it just requires a little more work though.
Except for the fact that I have to get 10 EXP to get to those jobs, which so far isn't happening (again, 1000 lumber later, nothing to show for it)
If people knew when they were going to get EXP and how long it will take them and how much work they would have to put into it, then they could plan ahead. Right now it's a crap-shoot as far as people's futures go.