What kinds of roles are interns good at?

I have not hired interns before in the context of a startup, so I am not sure what value can they provide, but I have heard good and bad about taking this approach instead of hiring an experienced team for all tasks.

My thought is that interns may be good at certain tasks, but for other complicated tasks experienced folks can offer much better ROI.

Here are some steps in a typical software development process and I was wondering if folks can suggest which tasks would be a great match for interns, suggest other tasks that I may have missed which could also be a great match for them:

- Create surveys and collect survey results to understand the market and the problem.

- Interview and involve users from the market for which problem is being solved

- Product workflow (based on user input)

- UI design

- Content creation

- Coding

- Testing

- Alpha/Beta deployments

- Working closely with user to obtain feedback for important milestones

I hired three summer interns for my startup. I had them work on projects that were useful for reducing technical debt, but not high-enough priority to assign to my full-time developers. This project was a success.

All three interns were CS students with proven programming skills.I expected useful results and I didn't think it was fair to have them work for free, so I paid all of them minimum wage but did not provide FTE benefits. Our PEO set all this up to deal with the compliance administriva.

The projects were: (1) create an internal search tool for our design and code repositories, research documentation, and collateral. This was done with FOSS (Lucene and Apache) (2) Add documentation similar to JavaDoc to all files in our codebase that did not have proper doc, and (3)Implement a C++ add-in that performed automatic self-test and add this to critical classes. Projects 2 and 3 had some interesting intersection.

The results exceeded my expectations. Our technical debt was reduced at fraction of the cost of using a contractor or FTE, without distraction from our sprint feature targets.The internal search tool was very useful, despite some usability limitations. The interns got to do meaningful work and earn money while getting exposure to real-world software engineering.

The key was designing useful tasks that fit the intern's time box and ability-level, hiring students who were capable and motivated, and providing just enough mentoring and supervision to get and keep them dialed-in.

Consider that interns can take require a decent time investment to get a good return, and the value of an intern is borne out more in the longer-term; get them for several years, and then potentially hire them.

That's not to say that interns would not be valuable in the short-term, but you'd really need to make sure they have the core skills and maturity to operate effectively, or you'll spend more than you get when time and effort are already in short supply.

As to specific areas, again, best value would come from what they can do well with less guidance, and potentially do no harm without expertise. Testing can fit this pretty well. UI Design and Coding have more risk if the person is not experienced, for example.

Are we talking unpaid interns? If so, then be VERY careful. You absolutely have to make sure they are getting the better end of the deal, otherwise their working for you is illegal under DoL regulations. You can have an intern do things like user testing, or run surveys.. but anything that can directly be linked to any kind of revenue likely makes your arrangement illegal.