I agree with this for several reasons:
1. You learn how to be efficient (if not necessarily clean) with your code
2. You will network by default in order to solve the problems you encounter - and set yourself up with the network you need to find a job
3. You prove that you have the range of skills needed for a good developer (requirements management, holistic understanding, deployment environment, technical depth)