This paper analyzes the allocation of workers to jobs and the wage distribution in Germany. Our main contribution is to reconcile prominent empirical models of wage dispersion (Abowd et al., 1999; Card et al., 2013) with theoretical sorting models (Shimer and Smith, 2000; Eeckhout and Kircher, 2011; Hagedorn et al., 2016). We find that empirical fixed effect models provide a valid approximation of observed wages and matching patterns for a large part of the data. For low-type workers, however, wages are decreasing in the type of the firm a worker is matched with. This prediction of theoretical sorting models is at odds with the monotonicity assumption of fixed effect models. After ranking both workers and firms, we show that low-type workers have become increasingly sorted into low-type firms over time, especially out of unemployment. This increase is driven by selection into wage-maximizing matches at the bottom of the firm type distribution. It can be linked to increased domestic outsourcing of low-type workers to business service firms.