Young neutron stars (NSs) have magnetic fields $B$ in the range $10^{12}-10^{15}$ G, believed to be generated by dynamo action at birth. We argue that such a dynamo is actually too inefficient to explain the strongest of these fields. Dynamo action in the mature star is also unlikely. Instead we propose a promising new precession-driven dynamo and examine its basic properties, as well as arguing for a revised mean-field approach to NS dynamos. The precession-driven dynamo could also play a role in field generation in main-sequence stars.