views:

1146

answers:

7

I'm starting to send out resumes for a Summer internship. What I'm looking for are some easy ways to set myself apart from the competition. I'm kind of looking at this from a "work smarter, not harder" standpoint as of now.

Yes, the best way to set myself apart from the competition is to contribute to an open source project, join a programming club, get good grades, and of course know my stuff. But it would be stupid of me to ignore the fact that there are other factors that affect employers' decisions in these areas. Plus the major stuff is kind of difficult to make much change in at this point (at least for this year).

So this question has three parts:

  1. What are simple mistakes new applicants tend to make that are easy to avoid?
  2. What are some ways to stand out to both get an interview and do good at an interview that I've gotten?
  3. I can find plenty of interview questions for non-student developers. Would the questions for an intern be the same?

(I'm asking this in regards to peoples' experiences as hiring managers and job applicants)

+1  A: 

It sounds like you've done a great deal to help yourself already (especially with the contributing to Open Source part). I would recommend starting a blog or other kind of web presence so that you can at least showcase your skills.

It's helped me in the past and employers like it because they can view it before the interview and ask you questions.

Employers like anything that lets them "go beyond the resume", as they like to say.

As far as interviewing goes, I messed up my first interview by not studying up enough. They will try to trick you with some bunk code.

Programming Interviews Exposed is a good book to read, your campus library might even have it.

For the sake of standing out I would assume that the programming questions for non-students would be the same for interns. This way you can be sure to stand out.

Jesse Dearing
You're absolutely right. I've been meaning to do this, and I suppose now is the best time for it.
Jason Baker
+2  A: 

You're on the right track - anything you do to set yourself apart (it doesn't matter so much what you actually do) will show potential employers that you're dedicated and likely to be a good worker. Showing that you're willing to learn and work will likely put you far ahead of most of the applicants, at least enough to get you an interview in many cases.

Once you have the interview, (assuming you're at least competent) you probaby don't have to sell them as much on your technical skills as your willingness to learn and work hard - they don't (or at least shouldn't) expect you to be a technical expert as an intern, but expect you to be willing to work hard and learn, so be prepared to talk about things that demonstrate work ethic. Interpersonal skills here, as in most places, are key.

As for interview questions, companies (at least the ones you're likely to want to work for) don't treat their interns significantly from entry-level developers - really, they often hope you'll come back after your internship - so the interview questions should be about the same. As an intern, though, "I don't know, but based on my experience with ... I'd look at ... and try to..." is often an acceptable answer. Pretending to know what you obviously don't is a great way to sink an interview that's otherwise going well.

azollman
+8  A: 

I've just finished interviews with several software companies, and here's what I've experienced (and what I thinked helped me score an internship):

  1. Brush up on your CS fundamentals, specifically data structures and sorting/searching algorithms. You'll definitely get at least one technical question regarding them and they'll usually want to see you write some code by hand to solve a simple problem using one of the fundamentals.

  2. Figure out the dress code in advance of the interview. Several interviews said "dress casually, we're more interested in what you have to say than what you're wearing." So I wore a nice long-sleeved shirt and nice pair of jeans. If they don't mention that, though, you can't go wrong with slacks and a dress shirt and tie.

  3. List your personal projects on your resume and try to bring them into the conversation when you have a chance. My interviewers were always interested to talk to me about those because they had nothing to do with my academic life but showed that I was really passionate about the field.

  4. Be honest and frank during the interview. Don't sugarcoat anything and certainly don't try to BS your way through a technical question that you don't know the answer to. Interviewers see BS on a regular basis and can smell it coming a mile away.

  5. You're already going to stand out because you participate here on SO. That tells me you're probably familiar with things like source control, continuous integration, unit testing, etc. Those aren't always covered in CS classes, but real-world folks like to see that you at least have exposure to them and know what they're all about even if you haven't used them on a regular basis.

  6. When you're solving a coding problem by writing out code, talk about what you're doing as you write it out. Don't just shut down, write and think for 5 minutes, and then say "ok here's the answer." I've heard that interviewers like to see your thought process as you solve a problem, so anything you can do to expose that to them will help you. If you've also actively engaged with them while you're solving the problem, they're much more likely to help you if you get stuck. Getting stuck isn't necessarily a bad thing either, as it opens up dialog with them over what ideas you're using to solve the problem and that's one way you can demonstrate your knowledge of CS principles to them.

The most interesting interview question I've gotten so far was from a Cisco interviewer who finished up the interview by asking, "So we can talk about system integration or you can draw me a picture of a house."

I took the bait. "Let's draw a house."

"Alright draw me a picture of a house."

So a I drew a house with a roof, chimney, some windows and doors.

"But where do I park my car?"

So I drew a driveway. I even added a front yard with some bushes and trees.

"But where am I gonna put my boat?"

So I extended the driveway, and drew a boat sitting in it.

"It's a big boat. I don't think it's going to fit in the driveway."

So I drew it parked out on the curb and responded, "You know pretty soon we have to cut off the feature bloat and just ship this house."

Oh, and I'll be interning at Cisco this summer. :)

Bob Somers
Your mistake was in drawing the house before asking for requirements.
Bill the Lizard
That was another thing the interviewer brought up, but we'd already covered the requirements issue in another question so it didn't bother him.
Bob Somers
You owned that interview.
toto
Truly the spirit of agile! +1 Great response and very couraged.
Johannes Rudolph
+1  A: 

The best thing you can do for yourself when job hunting is use the contacts you've made. I don't believe in "it's not what you know, it's who you know", but I do think it can help get you started. If you can get a recommendation from one or more of your professors it would look great to a potential employer. These are people who have seen your level of dedication and quality of work, and potential employers recognize that. Also, don't overlook the contacts you've made among your classmates as well. Ask around to see if any of them know of any internships at the companies they work for.

Bill the Lizard
+2  A: 

Two pieces of advice that I can give you are:

-- Do some research about the company and the job position before you go to the interview. Many interviewers - at least in my case - usually start with two questions: 1) What do you know about our company? 2) What do you know about this job and why should we hire you for it over someone else?

-- Make sure to have questions for the interviewer about the job position. This can include things like questions about the company culture, continuing education policies, management style, and so on. This shows that you are interested in making sure the company is right for you.

Companies value that you didn't just hit the "Apply Now" button on your favorite job search engine, and instead spent some time making sure their company fits your needs. When I was in-charge of hiring I had a number of people that not only didn't know anything about my company, but some didn't even know the name of it; you probably guessed that they didn't get the job - some of them were pretty competent programmers too.

+2  A: 

I'm also a student, and know how hard it is to get anybody's attention just by a resume - even with good recommendations.

The good code talks. Make sure that they get their hands on some sample code or a binary of a project you've worked on. Then you have the non-objective task of convincing them that it is somehow relevant to the work that they do. But an intern who they see returns from is an easy hire.

If you don't have much to show, resort to the hardest class project you've ever done. In any case, GET ON A PROJECT soon if you haven't yet. It doesn't matter with which professor or what, because I assure you that whatever you want to work on you will get resources.

Overflown
+1  A: 

I hate to be negative, especially as your decisions are correctly-minded, but if you're sending out applications now then it's too late to distance yourselves from the pack. In fact, with the amount of lies coming from agencies and students desperate to get work from fear of the big, bad recession I think it'll be near impossible to stand out from other students.

For future reference, joining an open-source project shows that you're passionate. However, you're asking a website full of developers, not recruiters. I'm afraid the jury is still out on whether open-source will actually land you a job, but it definitely won't hurt. If you're going to do it, do it for love of the project and for your professional education, not for employment prospects.

The best thing you can do right now is to scrape the buzzwords and unnecessary content from your CV/Resume, and rewrite a simple one outlining what you can really do. I recently took this approach and it's landed me an interview. Employers are so used to receiving the same old crap that the same old stuff won't distance you from anyone else. Just write a page or two at the very most outlining your skills, your previous work and some links to code you've written.

If you're looking for work, be honest about why you want to work for them, and what you're capable of. The last thing you need is to be accepted to an interview, only to be asked to write some Haskell if you can only program in C++.

EnderMB