Revenue - Revenue by Contract Relationship (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 03, 2020
Mar. 29, 2019
Disaggregation of Revenue [Line Items]    
Total revenue $ 351,734 $ 325,906
Prime contractor    
Disaggregation of Revenue [Line Items]    
Total revenue 333,393 307,058
Subcontractor    
Disaggregation of Revenue [Line Items]    
Total revenue $ 18,341 $ 18,848