Hello! My name is Madalyn Coryea and I am in intern this summer at Riparian Data in Watertown, MA. I am heading into my senior year at Worcester Polytechnic Institute as a Computer Science major & Digital Art minor, and this is my second technical internship.
One of the best parts about having a computer science internship is that you get to experience working at a real company on a real team of software developers. At both of my internships I’ve been able to work at companies where I write real code that directly influences the product. This is something I especially look for when I apply for an internship. If you’re like me, and want to be a key player in “the big picture” at your company, make sure you get to know what you’ll be doing at your interviews. If you don’t ask, you won’t know what the company expects from its interns.
Key phrases to look out for are: “We have a summer project that we put the interns on,” or “We have an exciting program planned for you!” Usually this means that the company doesn’t have interns working with their real product. Sometimes these companies are just trying to establish relations with interns to make them full-time employees when they’re done with college. Other times, they are just trying to fill an “intern-quota” to make the company look better. Personally, I would feel like this is wasted time. I want to be treated like a developer, and I want to be a contributor to the software. To avoid getting stuck with a gimmicky internship, I usually want to hear, “We need developers to work on our product.” It’s worked out for me so far! And a great part about being a Computer Science intern is that we are in high demand. This is good news for us! It means we can have our selection of companies to work for. So there’s no reason to go work for a boring company at an internship you think you’ll hate.
Once you have your internship, you will really learn if this is what you want to do. Is this the type of code you want to write? Is this the kind of software you want to develop? Do you like front-end or back-end or something else? With the Computer Science industry as huge as it is, there are so many areas where you can find yourself happy with your work. And since internships are a short-term commitment it’s okay to experiment with different types of jobs in software.
So how do you get this wonderful internship?
STEP 1: APPLY EARLY
You can start looking for an internship as soon as the summer is over, but you should plan on making a decision by or before the spring (the end of spring break is when the majority of companies have already picked their first round of intern candidates). This doesn’t mean companies aren’t still looking for interns come summer-time (they are); but to get your first pick as well, look early.
STEP 2: KEEP YOUR RESUME AWESOME
You’re a Computer Science major (or something tech-related)—you’re already awesome! So make sure your resume shows that. Let companies know you have the skills they want and need. And make sure they know if you don’t have those skills yet, you can learn them on the job (something a lot of people worry they can’t do, but end up surprising themselves—myself included!). It’s a good idea to beef up your resume with past experience and examples of projects you’ve done at school. If you can show that you’ve worked on a team before, companies will see that as a huge plus.
STEP 3: GET THE INTERVIEW
Go to career fairs (where I’ve snagged both my internships). They're like speed-dating for companies. You meet a lot of people, hand out a ton of resumes, and learn a bunch about the different places where you could work. Tell employers what kind of internship you’re looking for, your major, your skill set, and what you’re passionate about. And don’t forget to ask questions about them too! A good standby is, “What do you like about working at your company?” Make sure to follow up with emails and online applications. Reach out—it’s the only way to get something back. And if you really hit it off at the face-to-face career fair meeting, chances are that’s all you’ll need for a call-back to an interview.
STEP 4: TIME TO IMPRESS
You get that wonderful email, that inspiring phone call: Would you like to come in for an interview? Hooray! Then the nerves hit. Oh no, interview! This is all that’s between you and that internship now. Just remember, don’t freak out. You’ve already risen to the top of everyone at the career fair. Your resume was put on the top of that giant resume pile. The company already strongly believes they want YOU. Why do they think that? Your people skills impressed them at the career fair; they were awed by your dazzling resume; and they have reason to believe (based on your school projects and past experiences) that you’ve got what it takes to work on a team and write good, quality code. But they don’t want a code monkey. They want an engineer. Someone who is thoughtful, and thinks deeply about the code they design.
So you got the interview. The company has thrown the first pitch and you’re up to bat. Unfortunately, as it has been true for me in the past, whenever I feel I’ve bombed the interview I’ve been offered the job, and whenever I think I’ve nailed it I’ve been rejected. So there is no sure-fire way to tell if you’ve done Step 4 correctly when you walk out of that interview room. (Aside from them offering you the job right then and there—which almost never happens).
So you’ll probably be nervous. And guess what? So will the company. They’ll be nervous for the awkwardness that is meeting new people and not knowing what to expect. Your interviewer(s) will be worried about you not being a good fit and having to interview yet ANOTHER candidate. So instead of reading hundreds of tech interview books (which can help with brushing up on those technical questions), here’s what you do:
Keep in mind that your interviewers don’t care all that much if you get the (technical) answer to every question right. They want to find someone who has good team and collaboration skills. They want to hire someone who can think through problems and who doesn’t give up. This is what you have to show them. Think out-loud; talk through problems. Show them your strategies. Draw diagrams on the whiteboard if it helps you (as a visual person, I’m always doing this, both in and outside of interviews). What you’re doing is letting them know you are not just some “computer science student.” You are a problem-solver. And that’s what really matters.
STEP 5: FOLLOW UP
You’re done with the interview, and now the stress is over. Make sure you email your interviewers and thank them all for their time. It’s most likely that your interview took a big chunk out of their day, interrupting their coding projects and daily schedule. So you should thank them for that. They went out of their ways to give you a chance to have an interview. So showing your appreciation can go a long way.
STEP 6: WHAT’S NEXT?
Within the next few days to the next couple of weeks or so (sometimes up to a month, but that’s rare) you’ll get the news. Did you get the internship or not? If you did, hooray! But don’t jump ship just yet. And if you didn’t, you now have more interview experience and are even more prepared for the next interview. So now what do you do? This is true no matter what the company just told you: KEEP APPLYING FOR INTERNSHIPS. Just because you got an offer doesn’t mean you have to work there. As a computer scientist, you have options! And you should pick whichever internship will make you the happiest. (Just like how I selected Riparian Data out of several companies I had offers from). And hey, maybe that first company is the one you’ll end up wanting to work for. But you owe it to yourself to see what’s out there. Don’t forget you’re in-demand; so you have the flexibility to shop around for internships, even if many others don’t. And you’ll get even more interview experience!
STEP 7: THE WORK BEGINS
Sign some forms, find your desk, and you’re ready to begin. It’s day one, and you might be wondering if you’ll be able to do anything that the company wants you to do. At my first internship, this is where I panicked. I figured I had never worked at a real company before, and had assumed that I’d gotten myself in way over my head. I would get asked to do something and had no idea where to start.
After the first two weeks, I had one of the biggest revelations I’ve ever had in my life. And this is something that I didn’t pick up in any class at school, or in any other situation where I’d felt stuck. At my internship last summer I learned the most important thing a computer scientist ever needs to know: You can teach yourself how to do things. How? With Google search. Google is a programmer’s BFF. Trust me, when this clicks it is the most amazing thing. This is how other developers find solutions to problems without any past experience. This is how companies figure out step-by-step what tools they’ll need. Think about it: no one can know everything they need to without starting from somewhere. And from that somewhere you’ll “step-by-step” work towards a goal. If something seems overwhelming, break it down. What are the pieces that need to mesh in order for this to happen? Problem-solve.
If you’re really stuck, ask questions and ask someone to help you, but chances are, you have more skill than you realize, and that’s why you were hired in the first place. Just remember (or realize, like I did) that the internet is such an awesome tool, especially for us developers. You can learn pretty much anything about any subject. This makes me think of the pro-internet AT&T commercial a few years back about the endless store of knowledge the internet can bring us. (It’s also pretty funny!)