That's quite normal, at least under Dutch labour law. It prevents IP discussions if an employee does anything outside of the 9-5 working hours, or anything they were not directly instructed to by their manager.
Of course there can be exceptions, e.g., we exempt open source software by default, and are open for any discussions on other side projects the employee may have. But the concept that all your programming work belongs to the company is not that strange.
Also note that this is not a non-compete, but simply an IP clause.