Chris posted a long explanation of how engineers work a number of years ago, but I can't manage to find it in the forums or on the wiki.
Ok, to add a little more detail to what Watashiwa already said:
Remember that each unit has a 'rate' listed on its stat card, next to the Metal cost. The Mk I Missile Frigate, for example, costs 1200 Metal, and builds at a rate of 120 M/s.
Basically, the normal Dock has a construction speed of 1. This means that each second, the unit currently under construction expends (1 x rate) Metal, and gets that much close to completion. For a Missile frigate, this is (1 x 120) = 120 Metal per second. A the base construction rate, this Mk I Missile Frigate takes exactly 10 seconds to finish.
When an Engineer assists, it adds its construction rate to that of the base Dock unit. So with a Mk I Engineer assisting, we have (2 x rate) Metal expended per second. The Mk I Missile Frigate is now being built at 240 M/s, and will complete in 5 seconds.
A Mk II Engineer adds +2 construction speed, resulting in a rate of 3. For the Mk I Missile Frigate, this is 360 M/s, and 3.333 seconds build time.
The overall cost always stays the same, only the rate of expenditure changes.
Repair works the same, but there are inherent discounts in repairing (1/4?) so that the Metal expenditure is less overall when compared to constructing a new unit.
A quick check with 20 Mk II engineers building an expensive starship took exactly as long as the base math (1+assisting_engineer_construction_rate) * metal_cost_rate said it should take. So, there is no efficiency fall-off, as in, it does not cost more Metal or reduce the help each extra Engineer adds. However, the first Engineer Mk I halves the construction time, while the 9th engineer only shaves another 10% or so off the time. If your engineers have other tasks, it may be better overall to let them scatter.
Technical note: There is no benefit to be had by adding more construction units, beyond the additional base +1 construction rate they possess. 1 Dock + 9 Mk I Engineers = 2 Docks + 8 Mk I Engineers = 5 Docks + 5 Engineers = 10 Docks + 0 Engineers.
Personally, I just automate the Engineers. Only when I need to mess up their priorities do I assign manual jobs.
PS: A while back, there was a bug where repair costs were deducted once per tick, no matter the repair rate was - this made it very important to repair Golems with high-mark engineers. But that bug was fixed a while ago.