We develop a discrete heterogeneity framework for matched employer employee data. The framework allows for unrestricted interactions between worker and firm unobserved characteristics in the wage function, as well as unrestricted sorting based on these unobservables. Pooling cross-sectional observations together with information from the joint distribution of wages of job movers, we establish a series of nonparametric identification results in short panels. We evaluate our method on data simulated from a theoretical model under both positive and negative sorting. We apply our method to Swedish matched employer employee panel data and report estimated wage functions and sorting patterns.