Revenue - Revenue by Contract Relationship (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 29, 2019
Mar. 30, 2018
Disaggregation of Revenue [Line Items]    
Total revenue $ 325,928 $ 320,516
Prime contractor    
Disaggregation of Revenue [Line Items]    
Total revenue 307,058 301,028
Subcontractor    
Disaggregation of Revenue [Line Items]    
Total revenue $ 18,870 $ 19,488