Revenue - Revenue by Contract Type (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 03, 2020
Mar. 29, 2019
Disaggregation of Revenue [Line Items]    
Total revenue $ 351,734 $ 325,906
Cost-plus and cost-reimbursable    
Disaggregation of Revenue [Line Items]    
Total revenue 256,319 251,456
Firm-fixed-price    
Disaggregation of Revenue [Line Items]    
Total revenue $ 95,415 $ 74,450