This paper analyzes the dynamics of wages and worker mobility within firms with hierarchical structures of job levels. The paper empirically implements the theoretical model proposed by Gibbons and Waldman (1999) that combines the notions of human capital accumulation, job rank assignment based on comparative advantage, and learning about workers' ability. The paper measures the importance of these elements in explaining intra-firm wage and mobility dynamics using survey data from the German Socio-Economic Panel (GSOEP). The use of this data set makes it possible to examine this issue over a large sample of firms and draw conclusions about the common features characterizing firms' wage policy. The GSOEP survey also provides information about workers' job ranks within the firm that is unavailable in most surveys. The results of the estimation are consistent with non-random selection of workers onto the rungs of the firm's job ladder. There is no direct evidence of learning about workers' unobserved ability, but the analysis reveals the unmeasured ability is an important factor driving wage dynamics. Job rank effects remain significant even after controlling for measured and unmeasured characteristics.