Jobs in The Sims 3 work a little differently than they have in past Sims Games. The core thing to keep in mind is that each job has different requirements for a fast promotion. On the "Jobs" subsection of your sim's profile, there is a bar. This is your performance bar, and whenever you max it, you get promoted (or a raise, if you're at max level).
For most jobs, Mood and Boss Relations are the biggest factors (and, again, a list of all factors can be found in the job panel).
If I'm remembering correctly, the Job Bar maxes at 100 'job points'. 'Job Points' are earned whenever your sim is at work and one of the job factors is listed as above "average" (the yellow, :| smilie) at +1 / hour, +2 / hour, or +3 / hour respectively. If the job factor is exceedingly poor, below the yellow "average, you can gain negative job points as well (again, -1 / hour, -2 / hour, and -3 / hour respectively).
Finally, there are a couple of factors independent from the 'job factors'. Sims with the Ambitious Trait or Multi-tasker Lifetime Happiness Reward get a free 1.5 / hour in work performance (they stack), as is the result of choosing to "work hard" from the work tone menu (at the result of massively increased Fun loss).
In some ways, this makes the higher promotions easier to get - you get more Job Factors (up to 4) at the higher ranks, which means while it is also easier to lose performance due to lack of skill / relations / other, once you get the relevant skill up into the positive effect, you promote earlier due to more cumulative bonus stacking.