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 read the following question: Tips for a first year CS student looking for a summer internship to gain experience? But rather than how to get and/or look for internships, my questions concerns of how to filter companies looking for free labor to do their website VS companies that might not offer a paid check, but it will offer you mentorship and skills.

I have a cousin that is a college freshman and she is looking for Sofware development internships, but at this point, she is desperately looking for any internship that is IT related. Besides the big software names and elite small software shops, How do you recognize a good internships in non-it-companies(large or small) doing IT maintenance vs the bad ones? If you don't have work experience, what questions a college student should ask to prevent ripoff? Are there any red flags that you can spot before accepting an offer?

share|improve this question
add comment

9 Answers

up vote 28 down vote accepted

Fair warning - in my opinion, her biggest detriment is years of college experience. While it's quite true that you can be a great programmer and be a college freshman - big companies with established internship programs that offer the kind of things you are speaking of typically have a set of hardened criteria for reviewing applicants. One of them is years of college experience and most companies don't readily accept interns that are freshman - the earliest is usually after Sophomore year.

This is partially because interns - even if they are free - are an investment. They need computers, space to work, and the time of a senior person to supervise them. The cost of this has to be weighed against the value the intern will bring to the team. IMO - most interns are a good deal, but you can't take everyone so a company has to find some set of criteria.

So, knowing your cousin is a freshman tells me that if she wants a technical internship, she's already going to have to get creative - it's time to start using every under-the-wire resource and personal connection. You'll want to maximize your contact with people who will see working with her as a plus - and that's a heck of a lot easier with people who know your cousin.

The other venue that is ALWAYS worth maximizing is her college's internship system. Most colleges have internal internship job boards where the college and the internship providers have worked together to build a set of opportunities for students. In these cases, the companies realize that they need to give interns a good opportunity.

I'm assuming that at this point, though, your cousin has tried everything and she's really scrounging - going to just about every job board and trying just about every opportunity. Assuming she gets an interview, she'll want to remember that interviewing is as much about checking out the company as it is about showing potential. Here's some things I'd look for when going on an internship interview (now that I'm well past my intern years and I know from the other side exactly what a manager can do with an intern!). I'm keeping it broad as IT is a heck of a lot more than just software work!

  • What will I be working on? - good signs are work that involve either making things work or verifying that they are working. Bad signs are doing paperwork while other people make things work. Having to service customer problems (front line tech support) isn't all bad, it may all she can snag, but if that's the case, she should be getting paid.

  • Who will I be working for? - preferably it's someone on the interview list or someone on the interview list is "sample manager" - ie a manager who needs interns, but the company may assign the candidate to a similar but different manager in the end - it's just that managers have to handle pools of interviews and often matchmaking is done later on. Ask this manager what they expect from an intern and what they are willing to give. Good signs are "I expect you to take responsibility", "I expect you to ask lots of questions", "I expect you'll keep me appraised of your status", "I expect that by the end of the internship you'll be able to take on a 3-4 week chunk of work and work with minimal assistance". Bad signs are - "you'll follow me around and do exactly what I tell you", or "I won't have time to give much guidance, and I don't have anyone that can help, we'll have to figure it out as we go".

  • How big is the technical team? - hopefully it's a team of 5-10 people with varying degrees of expertise, with at least a few senior people. Also - how much time will the senior people have to spare to answer questions? Good = 15 minutes a day, with a known rampup of longer than that early on. Bad = "what senior people?" or "it's just you".

  • What are the major goals of the team? What are the key ingredients to success on this project? - this is my particular way (when I do volunteer work) of figuring out whether I've found people I can work with. If it takes 20 minutes to answer this question, we have a failure. Even if I am working alone, with a non-technical person, I may learn a lot of good stuff. But that requires that the people I'm working with have a real clue of what they want to get done. It's amazing how many people really don't know what the problem they are trying to solve is, or what qualifies as a solution. Without that core vision, no matter how technical the team is, it's likely that the internship will be frustrating.

All that said - seriously - don't feel awful if an internship doesn't happen in the summer of Freshman year. I had pretty great grades, 3 languages under my belt and a programmer mother and I STILL didn't swing an internship my Freshman summer. I used my touch typing skills to qualify as a Temp and worked answering phones, typing and filing microfiche (boy am I old!) my Freshman summer... at least I got to hang out in A.C.!

share|improve this answer
    
I just sent her your answer. I didn't know what to tell her because my experience was different from her. Thanks!! –  Armando Jun 9 '11 at 20:32
3  
+1: This is a great answer. In all my years I only had one intern candidate come close to asking questions this good, and I hired him the next year after he graduated. –  Peter Rowell Jun 9 '11 at 22:50
    
These are great questions to ask when you're interviewing for any technical job. –  Dexter Jun 10 '11 at 11:53
3  
Literally just had a (paid) internship interview, asked these questions, got the internship! Much thanks +1 –  Callum Rogers Jun 10 '11 at 16:03
add comment

An unpaid internship is by itself a red flag.

share|improve this answer
1  
I agree, I would like to know the differences between free labor vs legal slavery! –  Armando Jun 9 '11 at 19:24
7  
The difference? A slave gets room and board (probably not good room and board, however) provided in exchange for work. With free labor you don't even get that, but you're still expected to work as hard as people getting paid. –  Wayne M Jun 9 '11 at 19:27
4  
The difference is that slave does not have a choice; a free intern does, however. Interns always cost the company money. –  Job Jun 9 '11 at 21:39
1  
@Job It all depends on the intern proficiency. It's up to the company to make the right choice. If free intern costs money, it's because the company made the wrong choice. So it's 100% a company / recruiters problem. –  Olivier Pons Jun 10 '11 at 5:06
add comment

Not an answer - but....

Unless you are scoring a place at a stand-out-in-bold-on-your-resume company (like Google/Facebook) is it worth doing unpaid internship in a software house?

If on your resume you list 3 months working as an intern at No-Name Software Inc - then I know you were an unpaid coffee maker / photocopier paper loader.

If on the other hand, you wrote an app that is now on the AppStore/Android market, or added a feature to a well known open source package then I might be interested in talking to you.

share|improve this answer
    
I like your answer!! –  Armando Jun 9 '11 at 22:48
2  
If it were Google/Facebook, they would most likely pay you anyway. If it's a startup you are likely to expect little more than expenses for travel/food but if they're a well established company wanting you to work for free... well, I would be very careful. –  Callum Rogers Jun 10 '11 at 8:25
    
@Callum - if you were Google/Facebook you COULD probably charge people for the privilege of interning there. It's only what Harvard/Yale/etc effectively do! In most interesting fields (mobile/web) you probably have better tools/opportunity to build apps than the company - so interning to get experience of obsolete corporate systems and TPS reports is perhaps less useful than it once was. –  Martin Beckett Jun 10 '11 at 15:17
add comment

I don't know if it is available still, but when I was in college I got into some financial aid low paid internships / jobs. They were entry level and subsidised by both fedral and state.

share|improve this answer
add comment

Is there anything that prevents you from asking directly before applying?

If you see this as slowing you down then simply put a clear and a firm statement in your application that you're only interested in paid internships.

Having said that you need to understand that a paid internship is no guarantee for a good and productive collaboration. People still will abuse it.

During my university years at a German university closely tied with SAP students liked going to do internship at the said company. Paid as it was most of the students found themselves employed as cheap work force. In my group we had students coding like mad to get things done and staying there up to 22 hours and later to satisfy the peers.

Certain university departments even put it clearly they will not support students going on an internship to SAP because they all tended to get employed as cheap labor (their exact words) and neglected their main goal of staying there such as conducting a research for a master thesis or doctor work.

I think the assessment of the place comes down to the following:

  1. Reputation of the shop from the other students, based on hand-on experience. What they did there, how it went, how the work was accepted and evaluated at university. Word of mouth, sort of. It's practically the only trustworthy source of information.
  2. After you've initiated contact and closing on a sign, see if your future peers have a clear and a precise plan of your future activities from the beginning till the end goal is achieved which must be clear in their minds. If there is no plan and no particular goal but something vague around the theme be suspicious.
  3. If it's meant to be work guided by the university then by all mean show their plan to your adviser and get his feedback. Once it helped me to get out of some unrealistic work which would have screwed me up before starting with it.
share|improve this answer
    
I think your paragraph about university departments not supporting some internships hits home. At my university, we had three groups at play - the department, the co-op/career office, and a student organization. For anything to count for academic credit, the department (typically with the career office) had to approve it. Even if it was approved, if lots of people were unhappy there, you could find out from them. But given the small and tightly knit nature of the department and students, you can get the real scoop on a lot of places that hired co-ops from students who had worked there. –  Thomas Owens Jun 9 '11 at 20:06
    
@Thomas Owens: Yep. Get feedback from the others. Otherwise it's a lottery. I would even go that far to say that if no decent place with a good reputation can be found, avoid doing an internship at all. They can screw you and jeopardize your studies. –  user8685 Jun 9 '11 at 20:15
    
I know this is personal and has nothing do with this question, but were you talking about HPI Potsdam? –  Johannes Rudolph Jun 13 '11 at 7:13
    
@Johannes Rudolph: Yes I was. –  user8685 Jun 13 '11 at 12:11
add comment

This isn't a complete answer, but when I read this, a few thoughts crossed my mind:

It's important to consider timing when looking for a job. When looking for a summer position, you need to start asking around companies that you are interested in working for as early as December or January to find out what companies are possibly hiring or might be interested in having an intern. Once you have companies, ask around about them to find out of their opportunities are both a good fit for you and also going to be beneficial. Which brings me to my second point.

The university should have some kind of career services office. The people there should be able to help find internships, co-ops, and even part-time work when you are a student. Developing a relationship with them is a good idea as early as you can, especially since you'll probably want to utilize them as you near graduation to find a full-time position. These people would probably know about the company and if their opportunities are legitimate. Sometimes, if any alumni or other contacts are at the company, they can put you in contact with them to learn more about the work the company does and the internship program.

Any unpaid internship is a red flag, like Wayne M said. Most companies aren't going to have their unpaid interns doing anything legitimate in their field. They are going to be pushing paper and making coffee. Not exactly resume-worthy. Like Martin Beckett said, if you have the option between an unpaid internship and personal development, take personal development. Learn on your own, join Stack Overflow and Programmers and ask/answer questions. Develop software on your own. Maybe join an open-source project. Do something that you can talk about, produce code that might be a code sample for a job application. Just stay in your field - this experience will help you get a job, even if it's not a job.

share|improve this answer
add comment

At my company all internships are paid, but I still think it matches what you are asking. What we look for is something that makes the person valuable to us before they have had any serious programming classes. And there are two major items that will get our interest.

The first is if they've written some programs. Someone who comes in with a clever little android app they wrote, no matter how basic, is someone we want to interview.

The other is someone who blogs, understands the social media side of the IT world, and has some good marketing instincts. They'll start off doing marketing, but that will grow to include programming as they take classes. And it's a paid job at a software company.

If your friend fits either of the above two and is in the Boulder, Colorado area - ahve them send me their resume!!!

share|improve this answer
add comment

An unpaid internship means they are unlikely to respect you or the time/effort that you put in and you will waste the majority of your time shuffling paper. Meaning that you aren't likely to get the kind of experience that is actually valuable. It is human nature to not value the things we get for free and if the company isn't paying you they aren't going to value you.

Personally I would not even consider taking a development internship for anything less than ~2X what you can make flipping burgers. The amount of money a company pays an intern is only a small portion of the cost to the company of hiring/training you. If the company skimps on your salary you better believe they are going to skimp on training and teaching you.

Internships are a valuable tool especially in software development where it often seems that experience > education. Many good companies use internships as a way to try out a talented college kid and so they can have a leg up on recruiting them after they graduate.

share|improve this answer
add comment

I don't agree with everyone about an unpaid internship being a red flag. I've been an intern at a company which offered me no payment.

When I started at the company I got small jobs like changing images in web pages and changing small styles on websites, I had to work my way up the ladder. I then later got more serious jobs like building a caching tool(which is still used) and creating a website for a big customer(I did this together with a senior).

At the end of my internship I did get a reward for being a hard worker and I've really learned a lot.

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.