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.

I have been an intern at this company for about four months now. At first, it was great because I didn't have a ton of hours, the work was interesting, and it didn't interfere with school.

However, once summer started, some problems turned up. They changed my direct supervisor from the person who managed the programmers to just one of the software engineers. He is pretty busy and doesn't have a lot of time to help me, so I can end up stuck for days before I can finally get help from someone. This is pretty frustrating, as I really have nothing to do during this time period and my new supervisor is extremely hard to get a hold of. As an intern, I really feel like I need more direction and help. I quickly run out of things to do or get completely overwhelmed when assigned broad things. I'm never really "checked on", so I can sit for a long time without getting anything done and no one really cares. I've tried asking for help multiple times, but he either doesn't respond to my emails or cancels our meetings.

Is this normal for an intern? Is there anything I should be doing so that I can be more productive? Should I go ask management for help or would that be considered out of line for an intern? Should I not really worry about it, since this is just an internship?

share|improve this question
4  
How much longer is the internship? If you have a few weeks left or less is a bit different than if you have another year left. –  JB King Aug 12 '11 at 20:13
add comment

7 Answers

It is normal sometimes as you're not really on their radar of who they need to manage to get important things done. However, that doesn't mean that you should just twiddle your thumbs and wait idly for an assignment...

First, talk to your boss. Tell him that you believe you can add value to the company in some way and that you're being under utilized. If he still doesn't have time for you...

Take some initiative. Use your time to improve a process, create/improve an internal app, code a proof of concept for an improvement to production code, whatever. Regardless of whether or not they use it, you're getting the experience you signed up for in the first place, and you're proving that you can do more than wait for simple assignments to be handed to you.

share|improve this answer
4  
+1 for advising a pro-active approach. –  Frank Shearar Aug 12 '11 at 20:17
3  
This was exactly what I did during my internship. I created an internal tool when my manager didn't assign me any work, and the tool got a lot of attention from the developers at different teams. –  Alvin Aug 13 '11 at 0:00
2  
automatize whatever you feel you can do, that's what I did whenever I had spare time. –  Equiso Aug 13 '11 at 6:19
    
"Automatize"? =) –  Ed S. Aug 13 '11 at 20:25
1  
@Equiso, do you mean "automate"? –  music2myear Sep 30 '11 at 20:53
show 3 more comments

This is very typical. The solution is simple- Be proactive. Take initiative.

If you need work-

  1. Remind your boss, remind him often.
  2. Actively advertise that you need work. Other people in the same project/department may be happy to help you with that.
  3. As a very last resort, contact the "real supervisor", ie. your boss's boss, and ask him if there is anyone that could use your help. [Don't do this in a way that you're... telling on your boss.... Just email both of them together and tell them you have free time and would be interested in the addition of another project.]

If you need help-

  1. Honestly, in practice, that last thing you should do ask your boss for help unless he is actively involved with your project.
  2. Again, other people in the same project/department can probably help you too. The idea that you need to ask your boss for help is silly.
  3. Be confident in your work. You don't need to ask your boss for sign off on everything. I like Justin Cave's answer on this. The obvious answer is likely the right one. Also, for an intern, it's better to waste time doing the wrong approach then to waste time do nothing while waiting for the correct approach.
share|improve this answer
    
+1 for the comment "The idea that you need to ask your boss for help is silly." I hardly ever ask my boss directly about questions concerning the project unless we have a scheduled meeting about it. –  Ivan Sep 30 '11 at 19:39
add comment

Why do you get stuck for days waiting for a response from the developer you report to? Are you sure that there aren't other ways to get the information you need?

If you are stuck because you don't know something about how the larger application functions or about the business functions related to the code you're implementing, I'll wager that there are many other developers and business folks that could help you out. If you want to know, for example, why the Foo class has this strange call-out to the Bar library that doesn't seem to make sense, go corner one of the other developers that happens not to be doing something right at the moment and ask your question. That person may not know the answer, but they probably know who to ask. If you can do that legwork and spread the work among all the developers, that will make it far easier for the developer that you report to.

If you are stuck because you don't know how to do something using the language, library, or framework you're using, you can almost certainly figure that out on your own. Someone on the internet has almost certainly solved whatever problem you've got and has already posted an article about the solution. Someone on StackOverflow or any number of other forums would likely be more than happy to give you some pointers.

If you are stuck because something in the specification isn't clear, you're generally better off doing something rather than staying stuck. When you communicate with the programmer you report to, rather than asking an open-ended question, suggest a solution and let him disagree. For example, if there is something missing in the spec, rather than saying

"Boss-

The spec for the Foo module says that the code should alert the user if the number of broken widgets is too high. But it doesn't say what form that alert should take or what "too high" means. How do you want me to alert the user? What does "too high" mean?"

you'd be better off writing something like

"Boss-

The spec for the Foo module says that the code should alert the user if the number of broken widgets is too high. But it doesn't say what form that alert should take or what "too high" means.

Unless I hear otherwise, I'm going to display a warning message on the main inventory screen if the number of broken widgets exceeds 10% of the total number in stock.

That way, the developer is aware of the problem and is free to chime in if the right answer is known. But you're making it far easier for him to simply declare that your proposed solution is reasonable. And you're making it easier for him to make a concrete suggestion-- he's much more likely to respond with something like "make the cut-off 20% and add a dialog box to the Mark Broken page when they exceed the threshold."

share|improve this answer
1  
I'm going to agree with how to handle vague specification problems: just attempt a solution. If the boss doesn't like it, he'll tell you. This is much better than waiting for a direct answer. –  Ivan Sep 30 '11 at 19:43
add comment

No one wants to manage interns. They are temporary workers, so the effort is usually considered to be wasted effort, even if the management focus is to hire great temp interns in order to hire the best ones permanently. Sometimes they have poor attitudes, like showing up late to work or leaving before everyone else "because this is my summer vacation" -- avoid that perception at all costs.

Is there anything I should be doing so that I can be more productive? Should I go ask management for help or would that be considered out of line for an intern?

Yes, you need to make your own work and initiate your own projects. Treat it like an open school project, when your prof allows you to do anything for the grade as long as it's impressive.

I had a couple internships, and on each, I wrote project proposals (couple pages with diagrams), finally got the devs to read it, didn't wait for the OK, evaluated designs on my own and finally got the devs to nod at it, then implemented the entire thing and scheduled a demo to the team. This was all done as my own side project and completed within a couple months. Rather, rinse, repeat. They were very anxious to hire me back the next summer, even at the same rate as the devs! (In that case one of the devs offered to take the summer off without pay and I'd replace him; he wanted to travel for the summer as a leave of absence and return to the same position without any hassle of losing his position.) I mention this as proof that the above suggestion it works.

share|improve this answer
    
+1 for employer's perspective on temporary workers –  rlb.usa Aug 12 '11 at 22:31
    
+1 for creating your own work. –  stoj Aug 13 '11 at 3:30
    
+1 - The best interns need hardly any management anyway. –  user606723 Aug 15 '11 at 14:58
add comment

This is very common. It's happened to me and many others I know. It sucks but it falls on you to deal with it.

My advice is that yes, you should go and talk to your management. Do not complain about your boss, but do point out that you feel you're not being adequately challenged. If you can, also try to create work for yourself that is technically interesting and contributes to your company. This is very valuable and, unless your management is horrible, they will love you for it. If they complain about you being out of line then consider working somewhere else. :)

share|improve this answer
add comment

You have stated a case that justifies going over his head to the manager. Of course, you want to do it tactfully and diplomatically. You only want to bring the best value to the company for the money they are spending on you. You aren't trying to get your lead in trouble, so just be loose and cheerful but concerned. Your professional approach will be appreciated.

You can also ask your dean or whomever is in charge of monitoring the internship program at school. Check with them first but also stress that you aren't trying to get anyone in trouble. You might luck out and find an even better internship.

Having something to do is important since you probably will have to write a report on your internship and if you have nothing to write about it could affect your grade.

share|improve this answer
add comment

Not having a task at all times just happens. Sometimes you finish all your given tasks before the next round is made or sometimes a situation arises that prohibits you from completing your current tasks. If you have no tasks here are some things you could possibly do.

  • Write unit tests. While it can often be tedious and boring, it does provide some value to the project in the long run.
  • Explore the existing code base. You may not know all the details of what is going on, but simply exploring the codebase should at least leave you with a slightly better knowledge of the project's architecture.
  • Improve your knowledge. Take one of the technical books from the company library (or bring your own) and read it. Learn what it is trying to teach. Some might think you're slacking off though, so you should stick with something directly relating to what you work with.

This is a list of what the interns (myself included) do whenever we are out of tasks to do. Your employer may have different rules as to what is acceptable.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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