We're currently interviewing few candidates for an internship, which is a really new experience for us as a company and for me personally as a team lead/manager.

What would be the most effective and useful, yet fun approach for both sides here? How do we 'integrate' an intern into our development team and workflow without much disruption in such a way that he or she could be learning and yet be helpful?

  • this is a paid internship we're talking about, right? – Rudolf Olah Jul 6 '11 at 21:53

I'm currently in an internship program that's going very well. I think the things that are making it succeed are: A) I'm doing real work (I'm learning a ton) B) There are a lot of social events that help me to really connect with the other employees and interns C) We're getting awesome free housing!

So part C you may or may not be able to accomplish, but parts A and B you should definitely focus on.

For part A) You're not there just to train the intern...the goal is to help the intern become a temporary part of your team. Make sure to explain the culture/rules/everything to your intern. Also, make sure your intern has a mentor on the team. I've found my mentor to be incredibly valuable in helping me get up to speed. Choose a mentor that is experienced, friendly, and available to answer the intern's questions. Finally, don't give the intern all the easy, boring stuff. Give him/her something real to work on. They'll feel great about their internship if they learned a lot (and by challenging them, you'll get to see whether they might be a good future employee).

For part B) Plan some social events! Barbeques, bowling, movie night...anything to help the intern feel more like a part of the group. This will be fun for both parties involved.

  • 4
    Not all interns like social events (programmers in particular tend to be more introvert than... salesmen for example). I guess point A is the best and probably the only definite rule: doing real work. I cannot think of anything more satisfactory than seeing my first project being taken into use (when all those bugs came rolling in from people using it in ways I never imagined it would be used). That's definitely a prerequisite that made my internship a great success! – Louis Somers May 17 '12 at 8:36
  • +1 For part A - I'd give +5 if I could. That was definitely what made my internship rewarding and enjoyable. – dj18 May 17 '12 at 19:16
  • @Louis: True, not every software engineer would want to go to social events. However, I found that in my internship, the great majority of interns DID go to and enjoy these events. They weren't mandatory or anything though. My company had loads of interns though....in a company with fewer interns, forced social events could be awkward! – Casey Patton May 19 '12 at 19:13

I was an intern at the company that I am currently working at now (full time since the beginning of the year) and I had a really great experience. When I first started my boss had me working on internal side projects to help me get used to the frameworks/company software. When I was able to work full time during summer I was just like any member of the team just getting paid less :). I learned many things in a short amount of time because our team did paired programming which allowed for a newbie like me to soak up a lot of information and good practices. Avoiding passing the busy work to the intern like changing the variable name in 500 files would be beneficial to both sides. The more the intern has a chance to learn the better for them and everyone else involved.


If they are in college (junior going to senior year), treat them like an entry-level employee in regards to work and challenges.

Give them real work with clear objectives that have tangible results.

Whether this means having them work on documentation, bug fixes or something else make sure you're getting something in return. If you can afford it, have someone mentor this intern. They are going to most likely be really green - show them the ropes/give them experience they won't get in the classroom/etc.

Include them in design reviews , so they can see how the process works. Include them in code-reviews so they see how that goes. And most importantly have code reviews on their stuff.


Hehe, necromancing bounty ;)

About hosted internships, this requires :

  • time : you must follow your interns ; its a non-sens to recruit a resource without following it. Your interns planning must match the required work time (see below).
  • projects : as already said, they must have real work ; a demo project is not a real project (deadlines, customers needs etc...)
  • relationship : relationship is more important than knowledge ; you don't recruit an associal which work in the basement, do you ? :)
  • management : if you plan to hire them (see below), you have to treat them as employees ; how do they work with your management ?

In the most situation I encountered, the first three points were the keys : if you don't have time, real work and relationship for your interns, they'll not do something you'll consider as a well done/usefull work, they'll not learn how to work with YOU/YOUR COMPANY.

About the time, I have seen a lot of (fail) internships where the "tutor" didn't have time or where the interns worked 2 weeks a month for a 2 months project : 4 months to gets things done instead of 2 ? Is this acceptable ? In some case, it's not, especially if the work is "chopped".

For the third part, if you plan to hire them I believe its because you need them. The question is, do you hire them because they are good and gets things done or only because of the knowledge they acquired during the internships.

If you feel you don't really know what was done during the internships, the second reason may point out a lack of sharing, communication or management and you should ask if your management will be able to manage this.

  • Interesting points: have you mentored interns yourself? – user4051 May 18 '12 at 10:51
  • Yes in a way, the interns were followed by my boss regarding the administrative and management points. We were some engineers to mentor them on their work, depending the projects they were working on. Result: it costs time for engineers too. – JoeBilly May 21 '12 at 10:11
  • I listed the requirements by priority, about the time, its the key as everyone can guess. A poorly planned internship is a bad internship for the interns and the company. About the "chopped" work case, I encountered it : bad work, bad feeling for my boss, the users, the intern and me. It requires more organization to achieve it and could be difficult in a case of an internship. – JoeBilly May 21 '12 at 10:32

Rands (of Rands In Repose, Being Geek, and Managing Humans) posted a huge (and awesome) article about this recently.

The points in his article seem to mostly be that:

  • Your days are numbered from the day you set foot in the door. This should affect how you make decisions.
  • You are evaluating the company, not just the company evaluating you.

You have to be conscious of the stage of learning your intern fits in and what motivates him. The first point will help your intern develop as a professional, the second will help you develop as a manager/leader.

I suggest reading on Pragmatic Thinking and Learning to understand the stages of learning.

Basically it says that there are stages of learning and work has to progress through them. The very first stages people need clear recipes with well defined contexts, they work by example. Then they learn to solve new problems, and later on they learn to optimize their work. So you want to find out where he stands and provide him work accordingly, else he won't learn.

So it's not wrong to give your intern monkey work, if you feel he's in that stage, if he needs to learn to read code, learn to speak your DSLs, to interact with your services/databases, etc. If the challenge is beyond his level he will fail, and some people have yet to overcome failure as a demotivator.

On motivation there is some good thoughts in Management 3.0.

The idea is that every person has different motivators on different levels. People seek challenge, money, status, freedom, power, gratitude, fitting in, standing out, etc all on different levels. It's up to you to understand what drives them and find a way to provide that.

I tend to think of it like an exchange currency specific to each person. If the person misses theirs, they start questioning if the company provides them with a fair deal. If my currency is status, but they only provide me money, I have to exchange money for status somehow in my life to feel satisfied, and I often lose in the exchange taxes.

On what has been said about the kind of work interns do, I will stand against the "real work" crowd.

Computer Science Bachelors often get bored doing "real work" on the enterprise segment. That's another thing you have to go by feeling. Some people like being academics, so you better turn them into a mini-R&D, get them to build tools, metrics, etc. Make them feel the scientists inside the corporation, don't let them crawl back to academia frustrated with the enterprise.

Other people are just looking for a chance to get out of the fantasy world of academia and are eager to learn the business.


In times of bad economics (e.g. 2009), hiring interns is the best way for a company to continue its business. It is easy to hire them with very low costs. At that time, over 50% of staff in software department were intern students. What you need is a team leader to lead the interns towards software development. The leader should ensure the quality of work the interns produced and see if they follow the styles and traditions.

  • time: work time may be a little bit longer, but less costly
  • projects: we do real projects to deliver to clients
  • management: treat them as employees, also have same annual leaves as permanent staff

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