This has been one of my rallying points for years: in school, you are not taught how to collaborate on a team, or even basic software engineering practices like source control. This is ridiculous because every software developer needs to know this. Even if you become an academic, you should be using source control at the very least!
As it is, you're thrust into the thick of it with your first job.
My only experience during my CS degree with working on a team was interesting because of what it got right and wrong.
It was a project to develop control software for a simulated hardware device. We had a team of 4 collaborating with another team of 4 (working on a different part of the system).
So it was good because it was collaborative and you had to depend on another team. We also had to produce documentation.
But we weren't taught how to collaborate with CVS or anything like that. We sent around compiled binaries by email.
So I support any effort to teach collaboration and common tools as part of the curriculum.