How do I get a software internship?
October 13, 2012 8:36 PM   Subscribe

How do I get a software internship? I feel like I have too little experience and won't be "good enough"

I'm a fourth year majoring in CS now. I have wanted to do a software internship but I don't know how to go about it. I keep seeing flyers and listings for internships that look for qualifications I don't have (candidate should know language x,y, and z). When I read about things like interview questions online, I find that I would have trouble with them myself (maybe these are targeted towards other people?). I sent my resume to three companies last year that were not followed up by any of them. I'm in this for the experience, not the money. I would even take an unpaid internship. I'm having confidence issues with myself over this and my friends aren't taking me seriously.

1. How do you write a resume or sell yourself when you don't have much experience? Isn't the whole point of an internship to get experience when you don't have any? I've done an Android project before and have made scripting mods for Skyrim, but I still don't feel confident. As for work experience, I've worked at a convenience store...

2. Am I overthinking what an internship is? My friends tell me that I am. They say that it's more trivial than I make it out to be and that I shouldn't be feeling so much pressure. I can't stand the idea of going into a job and not being able to do it. What does an employer expect out of an intern anyway?

3. More trivial questions than the others, but what clothes do I wear to a career fair? My wardrobe is small and the email says "dress to impress."
posted by WCF to Computers & Internet (17 answers total) 6 users marked this as a favorite
How do you write a resume or sell yourself when you don't have much experience?

You contribute to open-source projects. Your github account is your portfolio, and if you don't have one, fix that.

I've worked at a convenience store...

"Showed up on-time, was courteous and professional with colleagues and customers, was able to learn to do the job and was trustworthy enough to manage the cash and close up by themselves", those are not nothing.

Am I overthinking what an internship is?

Yes. It's kind of understood that you don't know much but are teachable at that level.

What does an employer expect out of an intern anyway?

Shows up on time, is courteous and professional with customers and colleagues, is able to learn to do the job and is trustworthy enough to handle important responsibilities themselves.

More trivial questions than the others, but what clothes do I wear to a career fair?

Doesn't really matter, you won't get a job at a career fair with anyone but the army. Clean pants, collared shirt.
posted by mhoye at 8:50 PM on October 13, 2012 [2 favorites]

Where do you go to school? This matters. Companies like to recruit at top-end schools, or schools that their employees came from.

Go to recruiting events. The company I currently work for sends people to various schools (mostly higher tier ones) and collects resumes from interested parties. They ask people to submit a "coding challenge" which is essentially, "in any language you want, write code that returns the largest 5 numbers from an unsorted list in linear time."

If you send in code at works, you will get a phone interview. If you get a phone interview, then you can get an in-person interview.

What dose expect interns to do? Fix bugs, implement small features. They do real work, but not the hardest of the work. Often, things full time employees would find boring (this doesn't work in Internet explorer...)
posted by tylerkaraszewski at 9:08 PM on October 13, 2012

Don't psych yourself out. Software engineering is one of the few markets that still has a reasonable amount of demand in this economy. Plus, you're doing this work for next to free. You do not have to grovel for an internship, especially if you've been motivated enough to come up with your own projects outside of your coursework.

Come at this from another perspective. What do you want to accomplish, as a developer? You are a blank slate right now. You have invested very little time in any particular subfield; that means it's not a big deal if you jump around. Are you interested in more low level development? High level? What kind of output would make you feel good about your career? Do you want to help with server load balancing? Write code that helps manage temperatures in server farms? Assist UX designers? Come up with an app that all your friends use? Come up with a great algorithm that optimizes image rendering in a video game? Work on a compiler? It's okay if you don't know what it is you like yet. What areas are you curious about? What do you think you'd be good at? What do you think you'd like to do? If you don't know, just apply to every single program that catches your eye and see which ones call you back.

Ok, on to your actual questions.

What does an employer expect out of an intern anyway?

Depends on the employer. At my (tiny) company, our intern doesn't have a CS degree but is expected to assist on research that is designed to improve the quality of our data. Interns at the larger company I used to work at contributed significant code that led to their eventual integration in the company.

(Reasonable) Employers do not expect you to know everything, or really even anything. They expect you to be able to learn quickly and to be able to find the resources you need to accomplish your goals. They expect you to ask questions. They expect you to understand that you know next to nothing about the code base and product. They expect you to be relatively easy to get along with and to show up on time.

How do you write a resume or sell yourself when you don't have much experience?

In my experience, employers look for enthusiasm, personality fit, and problem solving ability. Remember that problem solving ability includes the ability to ask questions, ask for help, and communicate effectively. The rest, we can teach. At a bare minimum, your cover letter should indicate that you've thought about the position and why your skillset/interests would be a good fit for the company. You don't need to mention your work at a convenience store unless you're applying for a customer facing position.

More trivial questions than the others, but what clothes do I wear to a career fair? My wardrobe is small and the email says "dress to impress."

That really depends on the company. Read up on them--if there are photos, check out what their engineers wear and come in with something slightly more formal. So if they're wearing jeans and tshirts, come in wearing a dress shirt and dark blue jeans. If they're wearing khakis and dress shirts, come in with black or dark blue business casual. This is kind of a crapshoot, anyway, so I wouldn't stress too much about it beyond making sure you look professional and tidy. If they like you, it doesn't really matter what you wear. If they don't like you, your clothes are probably about last on the reasons they don't want to hire you.
posted by rhythm and booze at 11:29 PM on October 13, 2012

Include any jobs you've had up to this point as your resume is presumably thin.

Don't waste your time on open source projects unless you're running them and have convinced others to help - no-one in the real world cares that you noodled around with some trivial problems, and you won't be making any coin, so what's the point.

Also, don't believe anyone that tells you that software developers are in great demand everywhere. That won't fly in a town like Ottawa, for example, where you can trip over legions of highly talented ex-software developers.
posted by Yowser at 11:37 PM on October 13, 2012

Hi, I am an IS student in a similar position.

You can gain practical experience at any job. Communication skills, strong work ethic, examples of teamwork, and examples of problem-solving are good things to mention on your resume. I worked in fast-food, but had a really good reputation with my employer; when interviewing, I always bring up situations that demonstrate that I am a reliable, hard-working employee. I was recently interviewed for a software development/engineering position that I wasn’t qualified for (see my previous question). The company was still impressed and, instead of thanking me and moving on, they located another internship within their IT department which better suited my skills (which I accepted). I was told if I continued to develop my programming skills and had a positive internship experience, there would be a high likelihood that I’d be accepted as a returning intern for the position I originally wanted (returning interns are paid more, hurray!). Building a positive reputation with a company you would like to be employed by and working for said company in some capacity will help you land the position you want.

You are absolutely over thinking the internship thing. You will never begin a job and know 100% of what you need to from the start. Relax a little. If you want job offers, you have to demonstrate confidence. Don’t lie or overstate your abilities, but act like your projects matter. Demonstrate that you have some passion for what you are doing; a lot of my classmates have been far less successful in getting responses or call backs, but they flat-out admit they’re in it for money and it shows.

Find out if your college has a career center, job board, mock interviews, resume consulting, mentoring (especially with alumni in your field), or other resources. THEN USE THEM. Review your resume and make sure that you’re showing what you can do, instead of telling. Don’t just list skills. Find out what companies recruit at your school. Try and track down alumni that have been hired from your program. Do a little snooping on LinkedIn and read up on people who hold positions that interest you. Try and talk to recruiters and be enthusiastic. Face-to-face connections will get you a lot further than a resume. Once you talk to people, write down their names and follow up later on. Thank them and reiterate your interest in an email. Be aggressive, but not annoying.

At a career fair you should be wearing interview attire. It’s better to overdress. Talk to employers you wouldn’t have normally considered (research as much as you can). If you plan on speaking to a finance or insurance company, take that in consideration when planning what to wear. Even though you’re a CS major, you may end up talking to someone who is in another field; you will need a positive initial impression to get connected with someone who can actually help you/further your search.

Good Luck!
posted by turniphead at 11:54 PM on October 13, 2012

First, it's great that you want to do an internship. You'll learn a ton that's not covered in school.

Answering your questions specifically is difficult without knowing where you go to school and where you'd like to work, but here are some general answers. These are my personal opinions and not those of my employer.

1. Companies know that you do internships to get experience and to learn what software engineering is like outside the classroom. While having job experience on your resume is good, it is not necessary. You want to show that you're bright and learn new stuff fast. List your projects. List relevant coursework. If you've got nontrivial code to point to (on github, for example), do that.

2. A couple things here:

First, it sounds like you're freaking yourself out. This is really easy to do. All my interns did it. I did it when I got my current job ("Oh wow everyone here is so much better than me and I'll never be able to keep up"). My interns turned out fine. I turned out fine. You'll turn out fine.

Second, expectations about your skills vary on the company, on the team you end up with, and on you. At my company interns are embedded in a team and hosted by a full-time engineer. PhD students generally work on something related to their research. MS and BS students generally work on something related to what their team does.

When I decide whether or not I want to host a candidate, I look for skills appropriate to their level of experience: for a sophomore I'll expect less knowledge than from someone a year into their MS, for example. The one invariant is that I expect all my interns to code well in at least one language, though I don't care what that language is.

I help my interns pick a project where a) they will design, write, review, and test code with other engineers on a team, b) they will learn new things, and c) they will launch before they leave. a) is important because building software is a team activity; b) is important because internships are about finding and training promising new engineers; and c) is important because I want my interns to leave with a new major accomplishment on their resume so they have a better chance of getting a good job when they're done with school.

3. No idea on clothes at career fairs. The general advice here is to find out what people wear at the places you're thinking of working, then dress slightly better than that.

I'm in this for the experience, not the money. I would even take an unpaid internship.

Being in it for the experience is a great attitude, but you want to intern at a good company. At good companies CS interns are paid.

Good luck!
posted by amery at 11:58 PM on October 13, 2012

Hello! I'm a software engineer who does all of the initial screening for the people we hire at my company. I've read thousands of resumes and shook hands with hundreds and hundreds of potential applicants at job fairs.

I don't really care about what you're wearing at the job fair. I also don't really care that you spent the summer as a lifeguard or worked at your local retail store, no matter how punctual you were. I only care about whether you can code and whether you can listen and follow directions. I will read your resume and and direct all of my interactions with you to figuring this out.

First, if you have no programming job experience school, club and personal projects are huge. My favorite interviews (even just standing around at the career fair or over the phone) are ones where the applicant shows me a cool app that they've built or an online portfolio showing lots of mini-projects. I'm not talking about things that took thousands of lines of code, but things that took advantage of existing libraries, or are little programs that show some creative thinking. It's even okay if it's something that you built as part of a team, just as long as you can talk in depth about the parts you did.

List all of the languages you know and all of the software packages you know right after your job and project experience. I screen for skills that are relevant to our business, like experience with javascript, python, map apis or charting packages. If they are not in one place I will probably not give you a good rating. However, even if you don't have everything I'm looking for, showing me a good demo or having extensive project experience listed lowers the bar for this screening considerably.

If you're having trouble writing your resume please MeMail me and I can help you optimize what you've got.

Oh, and we're hiring for spring and summer internships if you want to live in Pittsburgh for a few months!
posted by Alison at 5:53 AM on October 14, 2012 [1 favorite]

Seconding alison and strongly disagreeing with Yowser. When taking interns, The best predictor is previous experience. I want to hear your interests, see your github and be convinced that you are interested in growing.

I certainly care that interns "noodle around on trivial problems", because we all do when we're starting out. Feel free to memail me with specific questions, or to hear about some opportunities.
posted by gregglind at 6:18 AM on October 14, 2012 [1 favorite]

When I was interviewing college seniors for our programming dept (these were entry level jobs, not internships), one of the things we looked for on the resume and/or asked about in the interview was what kind of programming projects you had done. If the only programming experience that you have is from taking some programming classes, then list them on your resume with a short blurb underneath each one stating a project that you worked on in your class and what was your contribution to the project. If you have github or a sample website, even better. We really didn't care what language you used - we sent our newhires to a 6-week training program - but we were looking for the logic and problem-solving traits.

If you were the leader on those projects, that was good, but if not then you should still be able to talk about what kind of technical or logical problems the team faced and how you (both you-personally and you-all on the team) overcame that difficulty to succeed.

At my company we also asked questions that would tell us how you deal with teams and difficult personalities when trying to achieve a shared goal, and we were looking for specific incidents where you showed leadership ability, so those kinds of traits (for my company) were just about as important as your sense of logic and problem-solving. We also liked to see enthusiasm for the work.

We did not care a bit if you had worked at Target or Olive Garden, unless you used that to tell us that you paid 100% for your schooling by working 2 jobs and still achieving an A average in school.
posted by CathyG at 7:39 AM on October 14, 2012

WCF: "I sent my resume to three companies last year that were not followed up by any of them."

You need to apply to more companies. Don't be afraid of smaller companies. Read their "About Us" page— do you want to spend a year or two (or more!) with these people?

And for when you get hired and you're thinking, "Oh shit oh shit oh shit, I don't know anything!":

Don't underestimate the value of being able to work on a team, ask questions, and learn quickly. Our company values these things more than raw knowledge of how a popular piece of software works, especially in new grads.

If you get hired in SF and have specific questions about moving to the city or tech culture, feel free to send me a PM :)
posted by yaymukund at 11:13 AM on October 14, 2012

what clothes do I wear to a career fair?

Clean jeans and a clean polo shirt should be fine. You need to show some respect for the people who are considering hiring you. I once had an undergrad walk up to me at a career fair wearing sweat pants over pajamas! Needless to say, his résumé went into the round file when I got back to the office.

When I'm hiring I'm looking for enthusiasm about programming, and some indication that you treat software engineering as a profession. Having projects on GitHub may help. So will signs that you've read more than the minimum assigned reading for the course. Have you heard of people like Knuth or Stroustrup etc?
posted by monotreme at 12:06 PM on October 14, 2012

I got my first software internship after two terms (out of three in the first year, the full program being about 2.5 years worth of coursework.) in the program and barely knew anything. It's true that the big companies rejected me since I didn't have much programming experience, but I actually got two offers from smaller companies.

One was at a career fair. I genuinely found the company interesting and chatted with them but I wasn't thinking about spending my summer in another city and had basically given up on getting an internship. I was dressed casually too. But they called me two weeks later, and asked me if I wanted a job. I said yes.

The other offer was from a tiny security company I also met at a career fair.

The point is you want to go to career fairs and just talk to people. You should also stop worrying about your lack of experience because that's pretty much expected to intern at some companies.

Internships are an opportunity for you to learn. And an opportunity for the company to court you and your peers (since if they treat you well, you will tell your classmates).

FWIW, I now work as a software engineer at a Fortune 500 company. And yes, the first internship was invaluable.
posted by ethidda at 12:40 PM on October 14, 2012

Don't waste your time on open source projects unless you're running them and have convinced others to help - no-one in the real world cares that you noodled around with some trivial problems, and you won't be making any coin, so what's the point.

In case it's not obvious, this advice could not be more wrong.

Most of the real world actually runs on open-source code or some derivative of it now, and a candidate who can show that they've shipped running code has a huge advantage over one who has no portfolio of their own to show off, as does a candidate who has demonstrated that they can learn enough about a large pre-existing codebase to contribute to it effectively.
posted by mhoye at 5:46 PM on October 14, 2012

There are a few reasons employers hire software development interns:

* Cheap labor: This reason isn't going to rank high for a good tech company, because they generally know that getting useful, maintainable code out of summer interns is probably at least as expensive as just paying an more seasoned developer to write it. Less sophisticated companies, and companies who aren't developing code that will be used by millions, might make different calculations.

* Talent Scouting/Development: Microsoft, Google, Facebook and others hire interns in the hopes of getting an early lead on talent. They'll learn far more about potential full-time employees over a summer internship than they will from a resume and a grueling interview loop. They also get a chance to shape their interns to their way of doing things, and increase their chances of hiring the interns once they graduate.

That's what's in it for them. What's in it for you is exposure to the real-world practice of software development, an opportunity to refine existing skills and learn new ones, a chance to make connections with potential employers and mentors, and potentially, to network with other interns.

That may seem like a lot of pressure, it may be, but it is nothing compared to the pressure you are likely to feel trying to get a job as a software engineer without having had an internship, the pressure you are likely to feel if your first introduction to real-world software development is at your first full-time job, the pressure you are likely to feel if you decide not to be a software engineer after being unable to find a job.

I know, I know, I've just made things worse, but here is a secret: anything you do is the right thing, except, avoiding doing anything. The worst you can do is to get killed, and it is very very hard to get yourself killed applying for internships as a software developer.

You'll do fine!
posted by Good Brain at 8:00 PM on October 14, 2012

I guess black is white and up is down in Ottawa.
posted by Yowser at 9:48 PM on October 15, 2012

I guess black is white and up is down in Ottawa.

It wouldn't be the first time that's been said about Ottawa, but the tech implosion there after Nortel put 60k+ people in the streets has put a glut on the local market that doesn't exist in most other places.
posted by mhoye at 12:05 PM on October 16, 2012

Ok, I'll comment. I'm a development manager, I hire software interns.

First, I don't care a great deal about grades. (unless your GPA is awful < 2.5)

The single most important thing you can do is to have a project on GitHub, or to contribute to an open source project. I can't emphasize this enough. If you have code on the web, I WILL pull it down and look at it. So make sure that your code is well formatted and commented (and works!).

Yowser is absolutely incorrect here. Someone who has a project on GitHub and is attending community college is a rated higher than someone who attends a great school, but has no online portfolio. I also don't have a preference whether your project is contributing to open source, or just your version of Tetris.

Alison mentioned listing skills, which is nice, but honestly, it's an intern position, I'm looking a lot more for intelligence than a skill with a particular language/tool.

Most interns work on non-production code initially, so developer tools, non-essential projects, etc. Once we've identified that an intern is capable, they can start to work on production code. We will almost always make a job offer to interns who make this step.

We assign our interns a mentor, a senior developer, who is the goto for any questions, that they might have. The mentor typically pairs with them 1-2 hours a day as well.

I see some suggestions about wardrobe during the interview. I don't care if you're interviewing at Burger King, show up at the interview in at a minimum, business casual. Even if day to day life is casual, you only have that one chance.
posted by patrickje at 1:58 PM on October 24, 2012

« Older Yes you can still write me. . . I think   |   How do I get a bus ticket from Dubai to Oman? Newer »
This thread is closed to new comments.