This paper identities and compares the determinants of within- and between-firm job mobility in Portugal. Estimates are based on models that distinguish promotions by whether or not they involve a change in the tasks performed, and separations by the time workers take to enter a new firm. Both worker and firm observed characteristics emerge as important factors in the analysis. Firm unobserved heterogeneity is relevant, evidence suggests that firms vary more in their unobserved propensity to promote than in the case of separations. Overall, this study highlights two main issues; the role of firms in the process of job mobility, and the importance of distinguishing not only between types of separations from firms, but also between types of promotions within firms.