It is amazing how easy it is to sail through a Computer Science degree from a top university without ever learning the basic tools of software developers, without ever working on a team, and without ever taking a course for which you don’t get an automatic F for collaborating. Many CS departments are trapped in the 1980s, teaching the same old curriculum that has by now become completely divorced from the reality of modern software development.
[From Capstone projects and time management - Joel on Software]
I have always told my new recruits over the years that:
- You have graduated, we are not doing term projects (ok, not exactly true, but that's what I need to say)
- Your program is here to stay, so keep it in a good shape
- If you don't know the answer, ask, or research, there is no credit to lose, but your job is tied to it
- You don't get to switch partners very often, so get to know them and work with them
- Let me know your schedule and keep them, yourself
One thing about time management is that I think it cannot really be trained at school, working on a long term project directed by the PM or group leader is more likely to cultivate the habit of doing short term check-pointing and long term goal checking.