Revenue - Revenue by Contract Type (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 28, 2018
Sep. 29, 2017
Sep. 28, 2018
Sep. 29, 2017
Disaggregation of Revenue [Line Items]        
Total revenue $ 308,095 $ 269,625 $ 949,744 $ 819,005
Cost-plus and cost-reimbursable        
Disaggregation of Revenue [Line Items]        
Total revenue 240,338 194,982 713,289 609,323
Firm-fixed-price        
Disaggregation of Revenue [Line Items]        
Total revenue $ 67,757 $ 74,643 $ 236,455 $ 209,682