We've got a software engineering intern coming in who's fairly competent and shows promise. There's one catch: we have him for 3 months full time and can't count on anything past that. He still has a year of school left, which is why we can't say for sure that we have him past 3 months.
We have a specific project we're putting him on. How can we maximize his productivity while still giving him a positive learning experience?
He wants to learn about development cycles and real-world software engineering. Anything that you think would be critical that you wish you had learned earlier?
Nearly six months later: He's preformed admirably and even I have learned a lot from him. Thank you all for the input. Now I want to provide feedback to YOU!
He has benefited most from sitting down and writing code. However, he has had a nasty history of bad software engineering practices which I'm trying to replace with good habits (properly finishing a method before moving on, not hacking code together, proper error channeling, etc).
He has also really gained a lot by feeling involved in design decisions, even if most of the time they're related to my own design plans.