Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Edit - 6/10/11 in response to first batch of responses:

Wow, what a response. Let me speak to a few points.

  1. I already stated that I will have a curriculum, and my intention is to teach people the things that college courses don't prepare you for (the entire CI process and all the technologies it entails for one)
  2. All the people that complain about CS programs that don't prepare students to enter the workforce... where are you at? You seem to have left and invited the anti-taking-advantage-of-students brigade, and the you-cheap-bastard committee in your place.
  3. I didn't really want to advertise the fact that I was at a not for profit as I just trashed my IT department (and deservedly so) I doubt any of them will actually see this, but it was my preference to not make myself easier to identify to people in my organization
  4. I am not as convinced as many here seem to be that there are a lots of local business wanting interns (paid or not), but I will definitely feel it out with local schools if I decide to go forward
  5. Regarding being Cheap... seriously? I am a developer. Not a manager, not anybody with any ability to spend budget. I am trying to improve myself (by mentoring), others (interns, and by extension the community) my team, and my employer.
  6. I did not refer to useless CS grads. I referred to clueless CS grads. As in the many questions on this very forum that deal with the notion that CS grads know nothing about actually applying the technical skills they have acquired.

End Edit/Rant

Just to give you an idea of where I am coming from...

I am a developer on a small team reporting to the business (yes, the business... we have a horrible, dictatorial IT division that refuses to meet business needs, hence several business development teams) in a fairly large company. My motivations for wanting interns include:

  • Bettering my own skills, (technical and otherwise) by mentoring others
  • Teach interns (and even coworkers) ideas and methods for software construction that go beyond just solving a biz problem (readable/maintainable code, benefits of design and testing, etc
  • Accelerate adoption of .Net on the team
  • Help solve the problem that we all complain about - that being clueless CS grads

I don't, for one second, believe that getting unpaid interns will be free labor. Before even going down that path, I will have setup an entire CI setup, which will of course be one of the benefits to the interns. I will also have to find a small project, or a piece of a project that can be broken off and given to interns to chew on. I will have a bit of a curriculum, which will include introduction to all the technologies involved in the CI, and other software development concepts. I will also be prepared to spend time with them every day to help set direction and help out when they hit a wall.

I've been kicking this idea around in my head for a bit now, and the recent questions have prompted me to post. I was actually surprised to see such a negative reaction to unpaid internships, but then again maybe it is the norm that unpaid internships aren't that helpful for the intern?

Anybody with experience with interns (either being one, or teaching one) have any thoughts?

share|improve this question

closed as off topic by Yannis Rizos Mar 7 '12 at 5:38

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here. If this question can be reworded to fit the rules in the help center, please edit the question.

interns aren't employees, littleadv, they're a "work experience project" within the confines of a (usually) university course and therefore excempt from most laws governing workplace environments. They can be paid anything, including nothing. –  jwenting Jun 10 '11 at 5:44
@littleadv has a valid point - in my area there are strict requirements to have unpaid internships. I am pretty sure my situation is ok, but I will definitely look into it further –  jlnorsworthy Jun 10 '11 at 6:01
@jwenting - I don't know where you live, but I've worked in places where not paying to employees (and the state doesn't care how you call them) is a criminal offense. –  littleadv Jun 10 '11 at 6:02
@littleadv, @jwenting - In France, it is illegal not to pay employee. But internship is not a job: an intern cannot be fired for not working and it is OK not to pay an intern. The only constraint is not a legal one: when given choice, applicants prefer paid internships. –  mouviciel Jun 10 '11 at 8:29
Why is it so bad that your team reports to the business? –  FinnNk Jun 10 '11 at 9:11

14 Answers 14

Unpaid interns have alternative Honestly, working for free is not really exciting! Also keep in mind that If you don't get a paid internship, you can do open source and get a mentor while staying at home all the time. Believe me, If all things equal, having a summer open source project will be equally impressive (unless a software elite company) or even more than most internships.

My suggestion for a good internship: Make sure is a learning experience and that you will have the patience and time for the intern. You might also have a very enjoyable moment as well. Remember that your are shaping somebody else skill and mind. I started as a (paid) summer intern in my current company and I didn't feel I was the programmer's secretary, in fact I felt like an equal member of the team. I was giving CS assignment related for the team... like algorithm analysis and then present it to the team. The company did workshop and meetings with interns and it was really cool to meet people all over the country. I was also given books to read and then present my thought to the team. In summary, I did presentations, I did team-work with other interns, I did a lot coding as well.

share|improve this answer
+1 good point mentioning summer open source projects. –  underdark Jun 10 '11 at 7:48
And more on the working for free aspect: Unpaid internships were pretty much the only kind of internship available when I was in school. I knew a lot of kids that couldn't do internships because they needed to earn money to live. Consider paying a bit of a stipend. –  red-dirt Jun 10 '11 at 9:46
I can't imagine doing an unpaid internship in technology. Unpaid internships are for liberal arts majors, and not even all of those (journalists, even these days, don't do unpaid internships). –  Satanicpuppy Jun 10 '11 at 13:54
+1: After doing an unpaid internship, I would seriously recommend considering playing around with open source stuff and making your own cool things that you can show off to future employers instead. And this comes from doing probably the best possible unpaid internships with super-interesting people; however, partly to my (and other interns) unpaid work they are now now enjoying success and fun after moving to San Fran - in retrospect it was really a role I should have been paid for. –  Callum Rogers Jun 13 '11 at 18:58

Being a recent intern (last summer) and a second semester CS student, I hope I can tell you a bit or two about my experiences.

  1. Good interns have multiple options. It is unlikely they will chose an unapid over a paid internship, even if its just to cover their own costs (accomodation, commute). It's not that we are in for the money, but the moment an internship creates a financial burden, there's a serious psychological barrier attached to it.

  2. What interns are really looking for is solid real world experience. If you are in a position to provide that, a decent mentoring and the chance for an intern to act within your team as a peer, you are likely to rate high on an interns favourite list. No intern wants to work on a typical "intern project", i.e. a project that provides no business value and that you could as well live without.

  3. Interns evaluate their offers just like any prospect employees do. I was interviewing for a summer intern position with several companies last year. After the usual Q&A, I took the chance to ask some questions about their company:

    • Do you know the Joel Test? Whats your score?
    • How many members has your team? Developers, Analysts, QA?
    • What project would I be working on? What's its business value?
    • What kind of mentoring will I receive? Will I get code reviews?
    • Does your team have a library of technical books? (This single question says so much about about the attitude a team has towards learning themselves, and embracing learning is a precondition for good mentoring).
  4. Some students want to do internships. Some need to. This is naturally a bit local-biased. At least in Germany, it is not uncommon that students are required to have relevant internship experience before they are admitted for a bachelors studies. Some curriculums include them. There is a very good reason for that. Before making such an impotant decision as what to study, you better have a clear picture of what the typical job is you will be qualified for. At the moment, students are in the fortunate situation that demand for personell in our sector is higher than supply, and cutting one or two corners, this also benefits intern positions.

Summing up all the above, I'd recommend:

  • Make sure you convey what you have to offer to prospect interns
  • Make sure interns will get compensated for their expenses at least
  • Try posting to a local universitys job board/write a letter to the CS departement.
share|improve this answer
+1 for covering both the compensation aspect AND the fact that most internship are dumb so "real" work experience helps tilting the balance. –  Matthieu M. Jun 10 '11 at 16:56

Crazy? No. Cheap? Yes. But you will likely get what you pay for.

share|improve this answer
I can't imagine why any IT/CS students worth their salt would go for an unpaid internship. There are too many paid internships available. –  M. Dudley Jun 10 '11 at 13:00
That sounds locally biased. It's not necessarily true everywhere. –  tylermac Jun 10 '11 at 18:33
@tylermac: CS interns don't have to stay home. –  kevin cline Jun 10 '11 at 20:20
I agree that it sounds locally biased. Yes, very talented students are being recruited by large and/or prominent software vendors, but the other 99.95 percent of students have to be realistic and prepare to not be flown across the country for an interview with FogCreek. –  jlnorsworthy Jun 11 '11 at 20:42
Pretty much every single student I know who has put any effort into finding an internship (and some who haven't :P) have multiple options. And this covers a fairly broad range of skills, even including some non-CS people who just know how to program and can't find a job in their preferred field. –  Tikhon Jelvis Mar 7 '12 at 6:27

No, it's not crazy. But make sure you provide the following:

  • The possibility to network - this gives the intern to meet professionals (people that they wouldn't have been able to meet by themselves).
  • The possibility of further employment - stress that if you find a brilliant intern, you will extend an offer of employment. (Or at least give the intern more chance of gaining employment with those in your network.)
  • A short-ish internship - no one wants to volunteer for months and months on end with no immediate (monetary) reward.
  • A great work reference - gaining work experience is very valuable. Tell the intern that you will take the time to write a great professional reference for when they seek employment elsewhere.
share|improve this answer
"if you find a brilliant intern" -- that's a big if, considering that a brilliant intern will invariably land a paid internship elsewhere. :-) –  Denis de Bernardy Jun 10 '11 at 9:43

I used to hire college students 10 hours a week during the school year. One year we hired a young man with lots of potential and were pleased to see him learn a lot and make a great contribution to the team. (In fact, we hired him full time each summer and made him an offer on graduation, but the love of his life was going on to do grad work somewhere too far from us for him to commute, so he declined. But that's not the part I wanted to tell you about.) Within weeks of joining us, his performance in school work rocketed up. He was nodding along with the prof while the others were thinking "wait, what?". He had his assignments done in 2 days while others were struggling. Everyone noticed, and many of them emailed me and called me. "I want what he's having!" they said.

I declined to hire any more of them, even for free, because of the overhead you're already aware of. Salary didn't real make a difference for me against that overhead, and it gave me some way of making sure students would come in when they were supposed to. My advice to you is to take on one intern and do for him what we did for that guy (and he wasn't the last, and nor was he the last we hired after an internship). The students will come to you.

share|improve this answer
What did you do for that guy exactly? –  Job Jun 11 '11 at 3:28
@Job - put him on real projects, got him to write code, showed him the mistakes he was making, had him join design meetings and be part of decisions, taught him our development process, explained things he didn't know - normal intern stuff really. –  Kate Gregory Jun 11 '11 at 13:42
Great point and suggestion - only one intern would probably be a better idea. –  jlnorsworthy Jun 11 '11 at 20:37

You're going to have a much harder time getting software developers to work for free than you would if you were looking for journalism students or legal interns, simply because there are so many more paid opportunities (and self-employment in the mobile app space) for programmers even before they've finished their degree. Consequently the people you'll find are probably going to be the dross of their cohort, unless you've got something especially exciting you're working on.

Note also that, at least in Australia, there's a very minimal amount of .NET in university courses (with focus on Unix technologies/Java being the norm), so that may hurt one of your desired effects.

share|improve this answer

It's ridiculous, but I have the feeling, that it's easier get people paying for a training course that teaches them solving problems in real IT teams and producing clean code then to hire people for an unpaid internship ;)

Even if purpose and content are exactly the same...

share|improve this answer
I like your lateral thinking skills! :D –  thesunneversets Jun 10 '11 at 17:41

My thoughts are that you should pay them enough to cover their rent, bills, transport to work, food and a little bit extra so that they can enjoy themselves on a Friday night. Yes getting some real world experience might be good for their careers, but presumably you are intending to get something valuable out of it to; if it is financially not viable to pay them then you are wasting everyone's time right because you are giving them "play work" to do. As the man at US customs said to me a number of years ago "if you aren't getting paid son, then it isn't work".

If you don't pay then you are limiting your potential interns to those who have parents who can afford to pay their wages for an entire summer instead of you; or even worse some poor kid who thinks that working for you for a summer is so vital to their future that they should take another big loan so that they can pretend to afford to do so.

The whole "getting students to work in profit making organisations for free or for a fee" thing is in my opinion morally quite indefensible. So drop the free from the title and re-ask the question.

share|improve this answer
Actually I work at a non profit - that is why I commented above that I was pretty sure I was ok to hire unpaid interns –  jlnorsworthy Jun 10 '11 at 16:22
Granted, that does make a difference, you probably should have said that in your original post. –  user23157 Jun 10 '11 at 17:25
That is true - I address that in my edit above. –  jlnorsworthy Jun 10 '11 at 17:38

Be aware that if you are in the US, unpaid internships are typically illegal. They aren't often prosecuted, but illegal nonetheless. (And they should be illegal -- programming is a job and programmers should be paid a fair salary for their work. Would a slightly above minimum wage job really prevent you from hiring paid interns?). The requirements from the US Department of Labor for an unpaid internship to be legal are:

  1. The internship, even though it includes actual operation of the facilities of the employer, is similar to training which would be given in an educational environment;
  2. The internship experience is for the benefit of the intern;
  3. The intern does not displace regular employees, but works under close supervision of existing staff;
  4. The employer that provides the training derives no immediate advantage from the activities of the intern; and on occasion its operations may actually be impeded;
  5. The intern is not necessarily entitled to a job at the conclusion of the internship; and
  6. The employer and the intern understand that the intern is not entitled to wages for the time spent in the internship.

As it seems that you are interested in getting an "immediate advantage" (e.g., adaption of .Net, having them complete projects of use to the company) from hiring the interns that you are looking to do it for reasons in direct violation of the fourth requirement.

share|improve this answer

I agree with Kevin that you'll get what you pay for. CS students have a myriad of paid internship opportunities (also with good networking etc.), and you're probably going to end up with all the students that weren't able to get one.

There may also be some legal difficulties..I've heard more than once that engineering interns must be paid by law. However, I just heard that through the grapevine, so you may want to research that yourself.

share|improve this answer

Working an internships combined with the students weekend job might mean they are doing 60 hours weeks! Just so they can pay their own bills.

Paying something to make sure they have their weekends off so the can regain their strength isnt that crazy is it? Just make sure they do drop their weekend job for the duration of the internship.

share|improve this answer

It depends on where you live. Here in Belgium everyone is required to do an internship during his last year of college. These are rarely paid.

share|improve this answer
My daughter went to a major Canadian culinary school. They all serve a 17 week externship at a restaurant, unpaid. In that case, getting interns is just about contacting the right department at the school. But the OP has a different situation, no? –  Kate Gregory Jun 10 '11 at 11:44
Getting paid or not is a non issues in our case. For the rest of the answer, the benefits of interns have been discussed in other questions. –  Carra Jun 10 '11 at 11:48

All of the previous answers, plus one thing: this is your chance to learn what the intern knows. Don't just dismiss school learning as "useless CS grads". Ask him/her for a lunch-n-learn on big-O notation and maybe an overview of what functional programming is all about. It ain't useless.

share|improve this answer
Agreed, but I never called the useless. I think that people that like to get up in arms about a downtrodden class just read what they wanted. –  jlnorsworthy Jun 10 '11 at 17:36
Or they read what they've heard before and you get the "benefit" of the response. You're right, you didn't say useless, I just heard it. –  JohnL4 Jun 10 '11 at 17:44

If I'm working for you for free, how am I gonna pay the bills, and why would I take your job over one that pays? The logic just doesn't make sense.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.