Exception: always bring the interns in house. I've heard the talent crunch is bad, but I cannot imagine a remote internship being beneficial at all.
I tried working a remote internship once and it was awful. I didn't get anything done, had no idea what was going on, really a big waste of time. The first day I got to the office I fixed a bug and got the product to actually work though. The rest of my time there I did some good work.
Interns don't know what they are doing. If they did, they would be full time employees. They need to have somebody to point out some of the basics, not all!, but enough for them to actually be productive.
Eh. My first job was a remote (cross-country, even) internship when I was 16 for a 2-man bootstrapped startup that didn't have an office anyway. Since they were already setup to do most work conversations through Campfire, it worked great.
There's nothing keeping you from "pointing out the basics" via email, chat, or Skype and being available on chat if they hit walls just as you would be in person.
Sure, if you're not communicating well, maybe your full-timers can get stuff done despite that and your interns can't. But I'd say that means that having a remote intern is one of the most important things you can do from time to time. It will be a test of whether you're actually doing the distributed team thing right, instead of your team just being competent enough to work around it.
Maybe. I think there is much to be said for being able to just walk down the hall with your laptop and debug everything in person with someone who knows what they are doing. I didn't know much before that internship about software development and I learnt a ton about the whole field just watching other people. It's why I use emacs nowadays at a more than beginner level.
Again, if the intern is competent, then they aren't really an intern anymore. Just kind of a part time worker more likely to be hired in the future.
You really have to hire mostly experienced folks to make things work on a distributed team. You can hire juniors and let them pair with senior devs, but they still need to come with some previous experience.
If you want to hire interns, you really need to get some office space and pair them with experienced devs.
I tried working a remote internship once and it was awful. I didn't get anything done, had no idea what was going on, really a big waste of time. The first day I got to the office I fixed a bug and got the product to actually work though. The rest of my time there I did some good work.
Interns don't know what they are doing. If they did, they would be full time employees. They need to have somebody to point out some of the basics, not all!, but enough for them to actually be productive.