The best internship I ever had was before I switched my career path to computer science; it was an accounts internship at a small (~10 FTEs, ~10 freelancers) advertising firm. It was unpaid besides a small meal & transportation stipend.
The atmosphere was very similar to what you'd expect from a small tech firm: friendly, low-key atmosphere, lots of nicknames, lot of small fun free things. My mentor (I don't really know what his actual title was. I just called him Joel.) explained to me that there were two parts of what I was doing:
1. Fake work (his words, not mine.) He said that there would be downtime, and that I should spend it as productively as possible; if that meant taking on some grunt work for a neglecting client, good. If that meant browsing the internet, fine. It was my time, and he said he trusted me enough to assume that if I wanted to spend my summer on Reddit then I would have done so from my couch.
2. Real work. Joel explained that the difference between an intern and a junior employee was usually a piece of paper and a few months of experience and little else; as such, he explained that I'd be given a certain level of autonomy. I had mistakenly assumed this to mean "you can go to meetings and you can go down the street for coffee": what this meant was "you are expected to meet and converse with clients on your own."
I fondly remember sitting across the table from a small bakery looking to open its third store, poring over market research and possible online advertising. That summer I was referred to as a 'social media guru', a term which I realize is sort of toxic but I was so proud of this place that had made me feel valuable. That summer I was given a taste of what the industry was like, not by attending flashy events or getting a bunch of branded apparel but by doing the work that someone would do. There's a lot of talk in the tech sphere about auto-didacticism, but what I learned in that internship could never be found in a book or on Coursera.
(Ironically: one of the pieces of 'fake work' that I gobbled up was maintenance of a bunch of WordPress sites that needed maintenance. Instead of using the firm's usual web design guy, who charged $200/hr for basic HTML & CSS work that even I could do, I convinced one of the partners to just let me do it instead. I had so much fun I decided to take a few CS classes for kicks, and then somehow I ended up with a Computer Science major.)
That's not entirely accurate. A guideline for unpaid internships is that the interns should contribute nothing to your business; they get to learn and you get to train them so you might get a better shot at employing them later, or at least know if you don't want to hire them.
The guidelines are also different for nonprofit and for-profit companies (and if your interns are getting college credit vs. not), so it definitely pays to check. FWIW we pay our fulltime interns, but there are circumstances when it's ok not to.
Having both been a summer intern and supervised summer interns since, I have followed the advice of the person who mentored me as a summer intern when it was time to work with my own:
Choose a project you would do if you had time, but is off the critical path of your project plans, then help bring your intern up to speed on the nature of the problem you want to solve, make yourself available, and give them some breathing room.
After that, I try to remove as much friction from the work process as possible - make sure they aren't handed the laptop from the bottom of the storage cabinet that is running an OS from 2002, have access to test servers (db, app server, etc) as needed, and get them access to other people who can provide other support as needed.
In general, I want interns to have projects that can "tell a good story" and help them along their career path.
It helps that I had two great intern/co-op experiences and one that was terrible. On the terrible one, I was literally handed a stack of dusty manuals and then abandoned for the summer. No deliverable, no regular meetings with anyone, nothing. I needed the pay to finish school and it took me a two or three week window to realize that I was on my own.
My internship now follows all of these points very well. In particular,
1. I'm compensated very well (plus they pay my rent in a metropolitan area).
2. I've already contributed greatly to their internal products.
3. They ask me what I like to work on. (I was hired with a more
systems-engineering speciality but have the opportunities to do web dev work if I choose).
4. They have me working with a brilliant developer who is probably the smartest and kindest man I've ever met.
5. I feel like a part of the company after only a month.
My internship last summer seemed like a complete joke after I've been at my current one.
During my last internship, I spent the majority of my time working on a project idea I came up with. Apparently it ended up being much more difficult than what the team there was going to come up with, but it was a lot of fun. I learned a lot.
Eventually, the summer project became an important feature of their product. It feels great to have a significant contribution as an intern.
If you're hiring interns, ask them what they would like to do. It might let them make the most out of your internship.
This is almost completely how I run my internship: A bit of background, I'm at an independent science research nonprofit, my research is in synthetic biology.
I will say one point of disagreement is in the selection process, I look at the college first. If a college student is at a big research university, and in their 2nd or 3rd year, they shouldn't be interning with us, they should be pursuing research opportunities locally. So I restrict my search to 1st years from big universities or students from primarily undergraduate universities generally. I will never take a graduate student intern. My second criteria is the essay, and I always cross-check what they say about themselves against the transcript. You can't proudly 'you really love math' and then pull a C- on your first quarter of calculus in the second-tier calculus class. You may actually love math, and just had a terrible quarter where your family members passed away, but in that case you should't say it in your essay, right?
I plan well in advance what the student will be doing. Typically my strategy is a new project all their own that will be highly repetitious (i.e. doing the same tasks repeatedly) but which will culminate in a broad understanding after cumulative effort. I think it's a horrible waste to have your intern just do things that are your scraps or to try to have them 'experience everything'. They'll SEE everything that's going on around them, better for them to achieve mastery over one task with the short time. Amazingly, this year, my intern has gotten the ropes and is basically ready to hit hyperdrive after three weeks. I also let my interns have a lot of independence, if they want to pursue an experiment off of the agenda, I encourage them to do it (though I try to steer them away from foolish wastes of time).
I usually welcome my intern with a BBQ cookout at the beginning of the internship. This is in addition to other social activities that the institute provides. I also try to help them find things to do in town. One of my bosses is a Nobel laureate and he has a BFF; they're great personalities, so as a bonus, I arrange for my intern to have a private lunch with the two of them towards the end of their internship.
Thirdly, I structure the internship as follows: I don't plan for inordinate meetings, that just gets in the way. With three months, my structure is for the first month to really ramp up on the technique, the second month to explode in productivity with the learned technique (to saturate their time doing it), and I leave the third month for the student to take it in whatever direction they choose. Usually the project I put them on is HIGHLY risky, but one where after two months you can do an assessment to determine if the path is likely to bear any fruit - and I have a 'backup plan' for the third month, where I assign a different project that uses the same techniques that is almost guaranteed to result in something learned.
The atmosphere was very similar to what you'd expect from a small tech firm: friendly, low-key atmosphere, lots of nicknames, lot of small fun free things. My mentor (I don't really know what his actual title was. I just called him Joel.) explained to me that there were two parts of what I was doing:
1. Fake work (his words, not mine.) He said that there would be downtime, and that I should spend it as productively as possible; if that meant taking on some grunt work for a neglecting client, good. If that meant browsing the internet, fine. It was my time, and he said he trusted me enough to assume that if I wanted to spend my summer on Reddit then I would have done so from my couch.
2. Real work. Joel explained that the difference between an intern and a junior employee was usually a piece of paper and a few months of experience and little else; as such, he explained that I'd be given a certain level of autonomy. I had mistakenly assumed this to mean "you can go to meetings and you can go down the street for coffee": what this meant was "you are expected to meet and converse with clients on your own."
I fondly remember sitting across the table from a small bakery looking to open its third store, poring over market research and possible online advertising. That summer I was referred to as a 'social media guru', a term which I realize is sort of toxic but I was so proud of this place that had made me feel valuable. That summer I was given a taste of what the industry was like, not by attending flashy events or getting a bunch of branded apparel but by doing the work that someone would do. There's a lot of talk in the tech sphere about auto-didacticism, but what I learned in that internship could never be found in a book or on Coursera.
(Ironically: one of the pieces of 'fake work' that I gobbled up was maintenance of a bunch of WordPress sites that needed maintenance. Instead of using the firm's usual web design guy, who charged $200/hr for basic HTML & CSS work that even I could do, I convinced one of the partners to just let me do it instead. I had so much fun I decided to take a few CS classes for kicks, and then somehow I ended up with a Computer Science major.)