It makes more sense when you understand that copyright was hardly ever about protecting authors, but about protecting the interests of the more powerful middlemen.
Having programmers sign off their copyright has the same effect as classical capitalism: it separates whoever owns the code from whoever works on it. The owners can then enjoy the full royalties, while the programmers are limited to their salaries —just like the factory workers.
Factory workers could walk away with the fruits of their labour, if only they owned the factory. Programmers could walk away with the fruits of their labour, if only they retained the rights to them. And in my opinion, they both should. The means of production should be owned by the workers, not the capitalists.
If on the other hand you agree with capitalism, it makes perfect sense to have programmers sign away their rights.