views:

573

answers:

10

I just listened to the most recent SO podcast, and one thing mentioned, that I'd already realized, was the importance of internships.

My question is: how do you find/get hired on a decent internship? I'm not an A* student so this already makes it difficult and I've applied and been rejected from some of the big obvious places: banks/IBM/etc. (to be fair I probably wouldn't really even want a career in a bank but it seemed an obvious place to start).

Quick background; I'm in the second year of a Comp Sci degree at a good university in the UK. The first year went ok but I didn't do brilliantly. My A Levels (qualifications before university) are two great / one poor and I already spent a year, after school/before university, learning/doing web development for at a digital agency in London.

I still think I need to do more to differentiate myself from everyone else who will get a 2.1 in CS.

I'm most interested in web application-type work but I don't know how to go about finding companies. Most smaller companies don't even advertise internships so it's a bit of a long shot half of the time anyway.

Is there any value in doing a few weeks or a months work experience? I don't think I could afford doing any longer than that.

I wouldn't want to go back to where I worked before because I think I've already learned everything I can from there, and also, with the credit crunch I think I'd be lucky to find them with enough work to support me.

If I can't get an internship and have to spend my summer working in a bar, what else can I do in my free time to help me stand out? Contribute to an open source project? And if so how do I find one I'm passionate enough about and is interesting enough for me to want to contribute to. Should I just work on a project of my own?

If I'm having to ask these questions does that already put me in a bad position?

+1  A: 

If you can't get yourself some work experience (which may or may not be great depending on the firm you're working for) the absolute best place you can get free experience is working on an open source project.

I'd recommend jumping on sourceforge or codeplex and finding a project that really interests you and start looking for ways you can contribute patches.

Having experience in open source projects is a massive way you can differentiate yourself from an intern crowd.

Scott Hanselman has a great post on how you can get started contributing to open source

lomaxx
I always overwhelmed by the prospect of adding code to a open source project. +1 for the link.
James McMahon
remember, to contribute you could fix something as small as a typo in the main page. Even tho the codebase for some of the projects is very large, there are often lots and lots of small problems you can fix. If nothing else, it'll get you reading the code and expose you to new ways of doing things
lomaxx
A: 

I would take a close look at the research opportunities at your university. I learned a lot by doing undergrad research, it helped me land a job, and hopefully it will give me a leg up when I apply to grad school.

EDIT:
To follow up to Adam's not "real worldy" enough point. I actually learned a lot of real world applicable stuff working in a research lab. It was my introduction to C#, source control, web services, and various server technologies. It really depends on what type of project you work on (obviously) but mine was very hands on. We did a lot of cool stuff with GPS, google maps, and traffic analysis.

James McMahon
That's an interesting point, I think they do provide some opportunities along this path but I seem to remember thinking that they were quite researchy and theoretically, which is not surprising but I'm interested in something more 'real-world'.
Adam Taylor
+1  A: 

Another good place is Google's Summer of Code. You'd get the open source experiance lomaxx recommended and you get paid (alittle). I'd start scouting out possible projects early. Also remember that you to be accepted by not only the project, but Google needs to deem the project's task worthy of funding, so choose a one or several good ones.

James McMahon
+19  A: 

I've gotten two internships at respectable software firms in my city.

An internship is invaluable for you snagging that first development position and it can also raise your initial salary a significant bit as well. Think about this: you are interviewing two candidates with similar skill sets straight out of college. One of them had a software development internship and can talk about real world projects he worked on. The other one can't. Who wins?

The Hunt

Many companies will often times advertise for interns on their website but I have never gotten an advertised internship. I always work hard at creating or finding opportunities that are not publicly announced.

The first software company I did a summer internship at, I contacted the HR department and asked who did technical recruiting. Don't waste your breath giving a huge schpeal to the wrong person. Get a phone number! This is important. Then, hang up and dial them yourself rather than be transferred so you know you can reach this person on your own easily.

Once I was on the phone with her, I told her that I was interested in doing an internship at her company. I didn't say, "Do you have internships available?". That is too easy of a question to say no to. I simply stated that I wanted one from her company and I wanted to know who to talk to on the development team about it. After some discussion I was able to get a team lead's phone number. Once I called him, I stated that I had previously talked with HR and I was interested in helping them out with some software projects over the summer.

He was interested! Honestly, if it sounds like you aren't going to need hour-by-hour hand holding I think most teams would welcome someone to take on a menacing project that others haven't wanted to do. After our conversation he said he would contact HR. This is important because now I have validity and his phone call back to HR holds serious weight.

The Kill

Now, I wait a day and call the technical recruiter HR person back (remember, we have her direct number!). I tell her that I talked with the team lead and that he said he was going to talk with her, but that I wanted to get the ball rolling on setting up an interview with both her and him in the near future. If you sound confident and make statements rather than a lot of weak yes/no questions you'll get a lot farther. She setup a date for the interview. Honestly, if you have an interview you are 95% of the way there.

Dress nicely at the interview. The formality of the business you are interviewing at will determine your dress but the minimum is dress pants and a button up shirt with tie. Even if everyone there is wearing flipflops and anime t-shirts. Come at least 30 minutes early. Play suduko in your car or something until a little closer to your interview time. It is better to blow a few minutes in your car before entering then it is to possibly get stuck in traffic and be late.

I've also been given a phone interview before a face-to-face. It was somewhat stressful being asked technical questions over the phone but nothing they asked was really that hard. Don't be afraid to say you don't know.

Don't wait around for companies to come to you for internships and don't wait around for them to post openings. Teams often are interested in having an intern but just haven't done the setup work to get one. Be skillful in getting past the HR person and talk to someone higher up on the development team. Make a detailed list of every major software company within a certain mile radius of your home and put them in order of your desire to work there. Start looking up phone numbers, making connections and making phone calls. It is a full-time, all day process.

Final Word

Last thing, be persistent. I've had companies say they will call back the next day and when they don't and it is 4:00pm I'll call them. One company said they didn't really have the budget for an intern at that second but I was so persistent that they were able to requisition the funds especially for me because I seemed eager to work there.

Good luck!

Simucal
Well thought out answer. This is good advice for getting a job in general.
James McMahon
All excellent advice. Making statements rather than asking questions definatley gets you a lot further. +1
lomaxx
s/farther/furtherAnyways I've spent the last hour looking at your responses and I have to say that I am very impressed with both your technical skills and writing abililty. Your posts are always insightful and this is something I look up to.Keep up the great work!
vinc456
@jpekk, Wow, thanks for the compliment! My technical skills are still catching up to my writing skills. But I have hope, still got another 2 semesters of college. Glad you enjoy my posts!
Simucal
A: 

I came into my current internship through preexisting connections; one of my siblings works here so I had a great reference. If you have any family in the industry, ask them to ask around the office if anyone needs an intern.

This may seem obvious, but check if your uni has facilities to connect you with employees. Mine does, and one night of emailing resumes got me several phone interviews and two in person interviews.

prestomation
+1  A: 

I'd find the thing you really want to do, and do that. What is it about web apps that you like? Searching through databases? Storefronts? Automatically generated content of various stripes? Maybe setting up photo servers, like flickr or smugmug?

Or, if the web is just the thing you're doing because it seems like everyone's doing web programming, have you considered some of the other places that take programmers? Medical imaging? Grocery store inventory? Pharmacy? Libraries, maybe? Gaming? (I don't recommend gaming, I think it's too cutthroat, but that's just me).

There are a whole host of applications that involve programming that have nothing to do with the web. AI, image and video processing, operating systems, etc, can all be done on a local computer, and probably will be for the foreseeable future.

I say all of this as a frustrated potential employer. I'm in Southern California, and everyone wants to apply to Google to work for them. We have a very hard time finding anyone who knows what a pointer is and what recursion is, because none of the people who know that also seem to know that there are other employers that do things other than web-based development. It might be as well-known as the web, but there's money in this other type of development as well, and interesting problems that have direct, real impact on peoples lives.

One other thing: When I was in college, we sent our resumes out to whatever business would take them. I must have sent out 100 resumes. Most of them went into the great round recycle bin, but whatever-- I got a really good job out of it (and a lot of GFY letters, for Go F Yourself). Look at the trade conventions for the work you want to do, find the companies that show there, and then send them resumes. For instance, for programming in basic science research, look at the vendor list for Cell Biology. For physics, look at Biophysical Society, or something similar. It's a more active search process, but one that will probably pay off.

mmr
+1  A: 

I'm actually in the process of finding myself an internship in my region. I'm currently studying at the University of the West of England so I've been shut out of a couple of internships just based on my university. Also my route to academia is a strange one, having taken practical qualifications, then after an injury having to pick myself up again to carry on with my studies in a different setting. At least now I'm on the right track.

You say that you come from a good university so there must be at least a couple of businesses that come down to your campus now and again to discuss such things. It's always a good idea to see what businesses make their way to your area just to see who would definitely pick you. It's sad to say but the class system still exists in many places, and managers that love their university and department are likely to want to hunt students from that place.

If you cannot find any viable options at your university's job fairs or those that keep in contact with your university I would recommend just checking out the local area to see what the local industries are. In Bristol we have a strong Military and Aerospace industry so Software Engineering work is easy to find. I'm sure that you'll be able to find somewhere that's advertising roles for you to work in.

Failing that, just check to see what development houses are in your area. if you're at a good university then you're bound to have a couple of software houses nearby that would be willing to at least talk to you. Just walk around your local city centre and you're bound to see at least one workplace that has Software Engineers there. If you're willing to go to London then you'll find loads of places!

Good luck and happy hunting!

EnderMB
A: 

Companies that are actively looking for college interns are probably not posting publicly - they probably talk directly to the placement offices and/or CS departments at local Universities. Have you tried that route? Ask the head of your department, or your favorite professor if they're aware of anything.

Another option would be to try contacting fairly small web dev shops in your area. Tell them you're interested in an internship - they may have lots of scut work that needs to be done, and if you're lucky you can also get involved in a real project or two.

Jason
A: 

Hey guys I'm a student at the University of Maryland currently looking for an internship, and this post definitely gave me some inspiration/good advice! Thanks!

Javed Ahamed
+1  A: 

If you live in the US you can apply for a REU (Research Experience For Undergraduate) at many research universities. This is a program sponsored by the NSF (National Science Foundation). The application process could be competitive depending on which university you apply to. A nice thing to know is that everything is paid for: lodging, food plus an stipend. Not bad, huh?

More info here: http://www.nsf.gov/crssprgm/reu/reu_search.cfm

jasonco
I'm from the UK, but thanks for the input, may help someone else.
Adam Taylor