One of the things I really like about the lab I work in, is that we have had lots of undergrads and high school students work with us. We have always had at least one undergrad doing an internship with us. Sometimes we have more as they overlap. And the summers is always particularly busy when we have the most, as some come back to work for the summer.
We have also hired high school students, who work for about 6 weeks in the summer as part of a couple of programs at the university. These students have either just finished grade eleven or twelve when they join. One of them I still see around, as he started at the University after working with us (and is in our department, a success!).
I find it really great to get to work with these students. It’s a excellent opportunity to get a bunch of very different perspectives. Especially the high school students, as they rarely (if ever) have any computer science experience when they join us. This is really good for the project we work on, as the end goal is not for computer scientists, and it’s often difficult for us to know and predict what will or will not work for others. For example, what terms are too computer science-y, and what ones have become common enough.
This summer, I’ll be supervising a high school student. I was hoping there would be some work on my project I could delegate. But, it looks like instead we’ll be keeping the student busy with little projects from all of us on the team. There’s just nothing really directly suitable within my research. In the end, this is probably best, as the student will get a good overview of the entire project and get to try a bunch of different tasks.