Condensed Consolidated Statements of Income (Unaudited) - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Oct. 02, 2020
Sep. 27, 2019
Oct. 02, 2020
Sep. 27, 2019
Income Statement [Abstract]        
Revenue $ 352,415 $ 359,873 $ 1,040,212 $ 1,017,368
Cost of revenue 320,234 327,523 951,743 923,671
Selling, general, and administrative expenses 17,344 19,934 58,718 59,697
Operating income 14,837 12,416 29,751 34,000
Interest expense, net (939) (1,907) (3,988) (4,811)
Income from operations before income taxes 13,898 10,509 25,763 29,189
Income tax expense 3,507 2,668 5,593 6,657
Net income $ 10,391 $ 7,841 $ 20,170 $ 22,532
Earnings per share        
Basic (in dollars per share) $ 0.89 $ 0.68 $ 1.74 $ 1.97
Diluted (in dollars per share) $ 0.88 $ 0.67 $ 1.72 $ 1.95
Weighted average common shares outstanding - basic (in shares) 11,621 11,506 11,590 11,420
Weighted average common shares outstanding - basic (in shares) 11,751 11,678 11,743 11,566