It was a paid internship; the student has to be able to commit to working onsite in Los Angeles roughly half time or full time.
It's a good experience in many ways, both for me and for the interns. I've worked with people who were anywhere from halfway through high school to just finished graduate school. The best interns have been people who are good programmers, and who want to become experts, but don't yet have enough experience on their resumes to get the kind of job they deserve.
Why do I ask for a patch? Because contributing patches is fundamental to being a part of the open source community, and demonstrates that you can get things done.
"Since I left [graduate school], I've been following an alternate career dream - to design computer games. This last June, I finally got my big break, and signed on for an assistant network programming position at Activision, working with a senior network programmer [Dan Kegel] who really knows his stuff and is willing to teach it." (This former intern finished a tour of duty as the network programmer on I'82 at Activision, and has moved on to write online games at a new company.)
"The best thing about working for Dan was being able to work with very well thought-out and laid-out code, and to get well thought-out pointers for my innumerable questions -- this was probably the ideal first job for me in terms of learning to program effectively." (This former intern is now working as a software engineer at a defense contractor.)
"Working as an intern with Dan has truly given me valuable experience in programming -- this comes from the fact that you get hands on experience working with real modules that have to deal with the real world. To me, that is a totally different experience than working on theoretical class assignments." (This former intern is now back at school as a senior at UCLA.)
"[Working on the Disappearing Inc. email server with Dan] improved my programming skill, style, and confidence. ... I saw abstract programming concepts in action and the application of real programming style. Dan is a excellent programmer and a patient teacher, and I feel very confident with my programming abilities having worked with him." (This former intern went on to a summer internship at ISI.)
"[Dear Dan,] I had a very interesting time working with you. I have learned many things, and gained valuable experience. Furthermore, I know that working with you has been beneficial to me, because I have already applied some of the things I have learned to school... Off the top of my head, some of the most valuable things I have learned/gained from my experience are:... I had the recent pleasure of bringing out the best in some of my CS class team members. It felt great. And I hope you feel the same, too, because you did help me in many ways..."
- Unix/Linux experience (especially vi and the bash shell)
- C programming experience
- programming techniques/methods
- importance of effective unit testing and creating tests before implementation
- general knowledge about many things that I have inquired about
"Working with Dan has been a great experience. I've learned a lot about programming and also software development in general. I got to work on a large project, contributing code to an actual product. My skills as a programmer have improved and my knowledge of development in Unix has greatly increased as well. Overall though, the best part was being able to work on such an interesting project that I would never have been exposed to by just taking courses at UCLA. There are infinitely many details to software development that they never teach you in school. If you ever wanted to know what it's like to be a programmer, this is an excellent opportunity."
"I think I learned quit a bit from working with you, especially programming under Unix/Linux environment, which is something they don't teach in school. I also got a chance to see how the OS and networking concepts learned in school are implemented and used... If nothing else, just learning vi and the linux commands makes this internship worthwhile. I think you're a good teacher, being able to sit down with me going over all the commands, and answering the questions I had. ... Anyways, I think this was a good experience for me, and thanks for everything."
"Dan's a cranky old bastard..."(OK, nobody said that last one, but they probably thought it.)