Hacker News new | past | comments | ask | show | jobs | submit login
A brief guide to Tech Internships for CS students (alexeymk.com)
118 points by AlexeyMK on Jan 30, 2012 | hide | past | favorite | 68 comments



I didn't see this on there, so let me add: There is no reason, in the year 2012, for a CS or engineering student to take an unpaid internship. Depending where you go, you can expect over $20/hour as a student intern--if you're doing work of real value, you deserve to be paid!


I totally agree with this.

I don't see any excuse whatsoever to take on an intern without paying them.

I think the closest I ever saw was when we brought a guy in for 3 days unpaid for him to learn on the system. He did no work in those 3 days, our company paid all his travel and food expenses, and he was pretty much guaranteed a job once the funding paperwork was filed. Personally, I would have preferred to pay him for the 3 days he was up, but then going somewhere to get free food is better than sitting at home paying for your own food ;-)

At least in the UK, there are plenty of opportunities to get funding for graduates. Call up your local universities and they will pay you to take people on.

My own internship was paid, with 2/3rds of my wage covered by my university. I'm now employed full-time here.

In summary, if you're looking for an internship, get one that pays. If nothing else, it shows other potential employers that you value your time appropriately.


Hear..Hear...Maybe HN should do a list of US companies that indulge in illegal stuff like unpaid internships. For starters, http://www.8thlight.com/apprenticeship is one such company where a friend interns for free -- The Ruby switch (from Php) was so great that she is doing an unpaid internship there.


...really? It's not about the money..it's about the experience. Granted, an internship that pays you + gives you the experience you're seeking is a jackpot, but I would always rank experience over money.

I worked 20 hours a week in college (and my summers) mostly for free, and I don't regret a second of it. Learned more through those opportunities than anything that would have paid me.


I'm coming here from a slightly different angle, as a computer engineer, but here's how I see it.

If you're going to work at a tiny little startup of 2-3 people, maybe they can't pay you. Of course, maybe they shouldn't be hiring interns at that stage of the game. I worked as an intern for a startup that size, though, and they still paid me $15/hour.

If you're working somewhere larger, it only makes sense that they should pay you if you're doing work of value. Telling you it's all about the experience is like that oft-told story where clients want web designers to work for free, because it's "good exposure" and will "expand your portfolio".

As an intern, I've laid out, soldered, and debugged PCBs, designed and assembled test equipment setups, made fiber optic cables, tested cameras for surveillance drones, re-written UIs to use WPF, done significant kernel hacking, and published several papers, among other things. All of these tasks generated value for my employers, and it only makes sense that they should pay me for it.

That's just my 2 cents, though.


Yep - I agree, you should get yours. Maybe there should be a more robust culture of giving interns equity at early stage startups. VC's hate cluttered cap tables...but it would be a fair way to compensate students for their work if the startup can't afford to pay them.


If you can't afford to pay someone for work [edit: in the US, can't speak for other countries], it's illegal for them to work for you. It doesn't matter if they're a student and you call it an internship, even if they get credit for it.


What's the purpose of this law? (I would normally expect opposite -- that it is illegal for you to hire them if you can't afford it.)


Perhaps you misunderstood me, so let me state it another way: you must pay people who work for you, even if their title is "intern." To do otherwise circumvents the minimum wage laws.


There's often exceptions for interns. I don't know about the US though.

It's a common dodge in Australia to put people on as "trainees". I think it can be illegal if they aren't really being trained, and there's lots of other rules (like it must be an educational course requirement).


There is no exception in the US. The only way a company can have an unpaid intern in the US is if that intern does no productive work for the company - that is, they don't profit from the intern's labor.

My understanding is that it's actually rare for tech companies to violate this law. But I have heard that it is common in the publishing industry. See: http://news.ycombinator.com/item?id=2412255


That is an exception - US interns just can't be "productive". FTA: "50 percent of graduating students had held internships". Face it, most of them will be doing unpaid clerical work. It will be "educational", in that they will gain valuable office skills, but it won't really be legal.


My point was that doing what you described is illegal.


When were you in college? These days nearly everyone I've seen is paying for interns. Kids from top schools are looking at $15-20k offers from Google and Amazon and at least $10k or so from startups in the Bay and NYC.

The one shop I've seen who didn't pay for interns was in upstate NY and only recruited from a small college nearby. It was hard to take them seriously with just that but when they said they didn't pay, the top students with options just walked away.

Not only are interns doing work but they're being trained and inducted into a company that they have a very high likelihood of returning to. It is a big win for the company if they can try you out at a discounted rate before hiring you full time.


I'm with you - the big companies should (and do) pay their interns. I also agree that it's a big win - you get to see how the students perform in your culture, and what quality work their produce. Massive win.

But as a student, it's important to build valuable experience that you can quantify. If you can get that experience AND get paid at Amazon,Google, etc, then so be it! That's awesome.

But if you have an amazing opportunity to learn more, and have a greater impact at a smaller org, that pays less or nothing, then that could still be the best opportunity as an intern. (Not to mention, it could also prove to be more rewarding).

Don't get me wrong - if you're going to learn more AND get paid big bucks at one of the big companies, then that's the best opportunity in the world and you should never pass that up.


That's a pretty general assumption thinking you would learn less at a paying position. Not all of us can live at home with mommy, we have bills to pay. There are also older people, wanting to change careers, that need to provide for their families. People need to stop taking unpaid internships so companies stop thinking they can get away with it. They make money off your work so you deserve to be paid for it. If they don't pay you then they are taking advantage of you, and if you allow that then your just a tool.


I have no disagreement that the experience is more important than the money, but in the US, if you are doing useful work for a company, then they legally have to pay you.

Being offered an unpaid internship should be a red flag. While it's possible for a tech company to have an intern around who does no useful work for the company, I find it unlikely. And, given that, any company that would willfully break labor law is probably going to be a bad place to work.


Philip - unpaid internships are not inherently evil, but the market for tech interns is strong enough that most everybody should be able to find a paying internship. It's a different standard in tech - the only interns not being paid are the ones nobody told better.


In the fantasy world in which labor laws are obeyed for the good of employees, an unpaid internship should inherently mean you don't do any real work. Otherwise it would ostensibly be illegal.


Do you think you'd have learned less at a paid internship?


I'm not arguing that you don't learn at a paid position. I'm arguing that the focus for an internship shouldn't be the money.

Ranking in terms of priority:

1) Paid + Learning = Jackpot.

2) Learning Only, Unpaid = Not as great, but at least you're building skills that will increase your value out of school.

3) Paid Only, Less Learning = Worst option. When it comes to full time hiring, people won't care that your internship paid you 15-30/hr. They'll care about what you've learned, what quantifiable skills you bring to the table, and proof that you're a mover and shaker.


I don't disagree with anything you're saying...but I get the sense you think case 3 is far more common than I think it is.


You're right in that it's about experience and not about the money, BUT if it's a tech company that can't properly compensate, it should be a big red light.

All the internships I've done and folks I knew in CS/CE/EE, I don't recall anyone having an unpaid internship.


Not all of us had the opportunity to "rank experience over money". Some of us had to earn money during the summers just to get by and hoped to find an opportunity to do that with a relevant internship.


If you're finishing your junior year, then yes, that's true. But if you've only done one year of college, then you might have trouble finding a paid internship. Your best bet might be an unpaid internship at a start-up.


Startup internships tend to be semester-long job interviews, which means that you'll be doing the same thing that the full-time employees are doing but with more supervision at first. This is a huge win for you, the intern, for two reasons:

1. Instead of doing menial grunt work you'll be doing real work for real users, which is a _way_ better learning experience. Finding out what people want isn't something that can be taught. You have to make things, put them in front of large numbers of people, and see how they react. You can get this experience by building a startup and going on the long march of getting traction. Or you can work for a startup that already has traction and observe their users. The latter is obviously way easier.

2. If you're good you'll probably get a job offer right away instead of an option to take a job after you graduate. If you're the sort of person that needs a piece of paper in order to feel like you're worth something this might not matter. But if you're in it for the work itself, you can save yourself two years of salary plus tuition.

In a related note to point 1, work for a consumer-facing startup if you can. The way consumers behave and the way business customers behave are completely different, and consumers are a lot more fun to work for.


In reply to 1 (having done internships at Facebook, Google and RIM), all of these large companies try very hard to avoid having interns do grunt work. These internships are as much about advertising the company to the intern (and the intern's peers when they return to school) as they are about getting work done. In every internship I've done with these big companies, I've had interesting projects to work on and was specifically shielded from doing some of the menial work that full timers had to do. I think some of them even had explicit policies about this.


I second this.. at Bloomberg we also craft specific projects for interns that can be completed realistically in the amount of time that they are there and are genuinely useful either internally or inside an external-facing product. Much of what is produced by interns is released into production.


That's not at all the same to working on the core product. Launching a new public-facing project isn't going to have the user base that the core product has.


I generally meant some kind of digestible deliverable within the context of the core product. You need to have a well defined goal that is achievable within the amount of time the person is there, otherwise it will not be a good experience for the intern or the company. So let me correct... most of what is produced by interns is part of the core product and released to production.


As a former Bloomberg intern, you're right – you try very hard to make sure interns are working on real projects that are deliverable over the course of the summer. That said, the projects are often completely isolated from what will have real impact on users on a day to day basis. This isn't a problem, per se, but I've had other internships where the work I was doing over the summer was virtually indistinguishable from that of a new full-time employee. I imagine this was largely because it was a much smaller company with a much smaller product.

I don't mean this as a criticism – Bloomberg tries very hard to make sure interns have a great experience and usually succeeds. But there is a difference and I, personally, preferred the other experience.


It also depends a lot on what team you wind up picking. Just speaking for the interns in our infrastructure team, we try to make them develop things that have an impact. You should let me know what group you were with so I can deliver the anonymous feedback :)


Microsoft is much the same in this regard.


Yes they're semester long job interviews.

But what you'll be doing as an intern is not consistent across companies or even across teams. You might be QA, which is nothing like writing production code. You also might be assigned a project instead of working on the code base with the rest of the group. You might even be a sys admin or something similar.

If you're getting an internship, make sure you know what you're getting.


I'll add that if you do multiple internships, do them at multiple places. At this point in your career, getting breadth of experience is far more valuable than depth.


Can't agree enough. For me, internships were largely about being able to say "Okay, now I know I don't want to do that." Places I interned:

* Quigo (acquired by AOL) twice, before and after freshman year

* AMD, after sophomore year

* Goldman Sachs (as a developer), after junior year

* Microsoft, between the two years of my MS

* NASA, while doing my MS

I'm not trying to name drop, but to point out that I optimized for diversity and to emphasize how valuable this was. I worked for a startup (at two different sizes), an EE company, a bank, a big software company, and as an researcher at a government agency. Ultimately this helped me figure out what I wanted to do after school (work on my startup, then go to Google). I could easily have ended up doing something miserable (like going to Goldman - which would be miserable for me, at least) if I hadn't sampled so widely.


It's a really good way to evaluate different styles of companies. I've interned at a 7 person web dev shop, 70 person tech company writing custom software for the big 4 accounting firms, HUGE manufacturing/design company in the process control industry, and I find out today if I got an internship at Microsoft.

My experiences between working for a tech company and a physical product company were vastly different. Likewise, working for a new web dev startup (no SVN, no bug tracking, solo projects) and a mature company (yes SVN and error tracking, group projects) were vastly different.

When I graduate, I'll have a good idea the size and style of company I want to work for, plus I'll know the questions to ask to make sure it fits the dream job I have imagined.


That's completely true. Versatility opens so many more doors than depth.


Can someone describe what level of programming competence is needed for internships? I am really intimidated about applying and think I might drag a team down


You can't get hired if you don't apply. They'll flush out your skills in the interview and, if they hire you, they'll find a place where you can use the skills you have (and learn more!). I landed an internship after my data structures course.


The most important thing to remember is you can't be hired if you don't apply. I'm a freshman in university now and had my internship between Junior and Senior year of HS, and I certainly wasn't qualified for it when I started, though the hiring company seemed to disagree ;) Having the audacity to ask was what got me that job, and it has lead to plenty of opportunities since.

To get back to your question, the answer is "it depends". Is the team you're going to be working on essentially looking for a new employee they'd like to hire post-graduation and have around in the meantime, or are you going to be applying for an internship at a larger company where they might not be focused on coding prowess so much as "smart" and trainable? Either will figure out during the interview process whether or not you're a good fit, and find a place for you to use the skills you have and learn new ones.


It depends on the place. Some places are willing to train you if you have a decent fundamental understanding of programming concepts. They'll probably see this by asking you to write a sort, a recursive function, a tree or something like. Other places may expect you to have prior knowledge. The thing is always to start early with your job search. Apply to work study jobs if you really can't find anything. It won't be as stressful and you'll be able to get some programming experience in. Pursuing in side projects will also help you gain more programming experience / it'll be something you can use on the interview.


It's not your job to decide if you are competent enough to be an asset to the team, it is the company's job. If you want the internship, apply. Let them do the work of figuring out if they want you.


I really like the "try to have at least two internships: one at a small start-up and one at a tech company" sentiment. Internships aren't just for your resume, they're for you to figure out what areas in the business you like and to gain a variety of skills and experiences.


I got a lot out of interning (my background is physics) in high school and college--and in many cases, it was just learning what I didn't want to do.

Now, I work at a government lab--but I like to give back by serving as a mentor for internships. If anyone is interested (it may be a bit late), here is a link: http://nist.gov/surfgaithersburg/

I have taken on students from CS, physics, math, EE, etc. One student is applying for grad. schools in robotics, another is looking to join a startup in Alaska (if anyone has any pointers for him, let me know--he was a math/CS major and really good--we did some work on using comet to do web-based data analysis and to display live data from instruments)--others have gone on to physics grad. school, and one is working in industry. So, some of my interns have also learned what they don't want to do ;> My projects often involve a combination of science and programming--but there are other groups that have been working on android apps, cryptography, etc.

Generally, my goal (and for my colleagues) isn't to crank work out of students, but rather to give them exposure to research. I try to think of projects that my interns can own--I usually have several possibilities and try to match the students with the project. For our particular program, we pay for housing and a stipend of $5500 for the summer (11 weeks).

For high school students in the area, we also have a summer internship program (which doesn't pay--sorry), but again, I try to provide the students with projects that they can own.

One final thing--we are limited to US citizens...


As a Junior at Berkeley who's had some internship experience, let me add me two cents worth.

Definitely start looking for an internship during your freshman year. Chances are almost nobody will call you back, you won't get many interviews, and the ones you do get you won't be able to answer anything, but all you need is just to get one person to agree and it'll make your resume look infinitely better for the following years.

Startups are definitely a good option for an internship. What I see a lot of the time, especially here at Cal, is that nobody wants to work anywhere besides Google, Apple, Microsoft or Facebook. People don't bother with any company that doesn't have a huge name and since many of these students don't have any prior work experience before applying to these tech giants, they get rejected. I think that's a huge mistake. I learned more from my summer working at a startup than a years worth of schooling (and it's not bad learning while being paid).

One last note, GPA doesn't seem to matter as much as work experience. While it can never hurt to have a good GPA, I've been on dozens of interviews and not once have I been asked for my GPA.


Chiming in as a sophomore from a liberal arts college: you don't even have to be from a top tech school like Berkeley to get an internship your freshman year. BigCos are unlikely to call you back, but you do have a shot at startups. And once you've got some work experience under your belt you'll have a better shot at the BigCos (and anywhere else, really).

Quick plug: Mozilla is another place which cares more about what you can do rather than what stage of schooling you are at. They're hiring and they have an excellent program.


Speaking from a big company point of view, it has a lot to do with the individual candidate, obviously. Someone could be a freshman, but if they are constantly working on projects and have a decent portfolio (doesn't necessary apply to just programming) to review, it is much easier to bring them in.

Personally, when looking at junior hires, personal projects can have a lot more weight than minor job experience. The vast majority of candidates with very little job experience also do not have a lot, if any, personal projects. Anyone who has built anything stands out.


I also went to a school nobody has heard of, but haven't really had issues getting job offers straight out of school (or for that matter, an internship while a high school student). Of course, as you've said, once you have some industry experience under your belt, it ceases to matter altogether.

By the way, awesome handle! I'd refer you for an interview based on that alone.


Heh, thanks :) though I often get asked why 'int3' when an integer has at least four bytes...


Any advice for high school students who don't have Upperclassman to look up to for advice?


I reached out to Mixpanel (mixpanel.com) last spring as a high school senior (with no professional programming experience, but a couple of decent sized projects and a decent amount of experience). I ended up going through their interview process, getting an offer, and then going out to San Francisco and working at Mixpanel for 3 months. The experience was indescribably valuable, and if you think you are experienced, I'd definitely recommend going for it. Even if you don't think you are experienced enough, I would recommend going for it, because worst case is you don't have an internship, which is the exact same as if you don't do anything at all.

The "Who's Hiring" monthly threads are a good place to start looking.


First - it's impressive that you're already thinking about this. I definitely wasn't looking at internships back in high school

When I was at FB, several of the interns had just finished high school, so it's certainly doable to get a top company offer - same goes for start-ups. It's just a question of emailing them and having the experience - past projects, etc - to be interesting. Same advice as I'd give to a college student.


Try to find a local company. Advertising companies usually do some sort of web presence thing for their clients. That's a place where you could provide value.


I interned at Apple in 2006 and it was a blast. I worked on the short-lived clickwheel iPod videogames team, one floor below Steve Jobs on the main campus. Apple has a great tradition of having all of its executives give informal hour-long talks with open Q&As to each summer's crop of interns.

It was one of my favorite work experiences, having been an Apple fan since childhood. But it also taught me that I wasn't super interested in working my way up in a huge company as a longterm career, at least at this point in my life.


I work at Microsoft right now. Our intern program is by far the easiest way to get hired on. Tons of people on our teams are former interns. That's another thing to take away from this - if you get an internship with a larger company, you'll probably get an offer if you do well. Use this to your advantage, don't wait til you've graduated to start looking for jobs. Use your internship capabilities to give you a leg into the field.


I did a summer internship at Sandia National Labs in Albuquerque, NM and had an awesome experience. I got to hack video cameras, sola panels, and Wireshark. Also got to see the Trinity site.

My biggest piece of advice with summer internships: go somewhere else! Moving to Albuquerque for the summer was awesome and gave me a great experience of what it's like to live on my own.


Ah hah, the first comic on the page http://i.imgur.com/zmhnE.png has happened to me -_- No matter what though, it still is a lot better than sitting on the couch applying to clean the bathrooms in Walmart. At least I have my "In."


You're totally spot on Alexey, as usual. Referrals are king...according to our data at Meeteor.com, every person in your network is connected to 200 people across 20 different industries. Pretty powerful stuff - chances are the job you're looking for is just a friend away.


Does anyone know anything more about interning at US companies as a foreigner that's not studying there? I know you can apply for the J1 visa, but I'm not sure how hard it is for companies to take on interns on such a visa. I'm from the Netherlands by the way.


https://twitter.com/#!/startuplife_in are a great resource for Finland, at least -- and I imagine the rules are about the same. Linda & co are great.


Companies, at least those with an official internship program, will take care of your J1 visa. Don't worry about that.


I'm surprised that none of the first few comments I read thought engineering internships might NOT be such a good idea.

I tell every engineering student I meet not to get an internship, which is why I always have a hard time hiring internships. Instead, I recommend creating projects of your own, if it's not in IT, it might be in the community, the student body or some other organization. Try to improve or create something on your own. As a CS student it's likely you'll find a job after college and you'll quickly learn all the things mentioned in the article and comments (including discovering what you don't like).

During your college breaks you're free to be completely self-directed. Depending on your career choice it'll take a long time (if ever) until you get that opportunity again!

I think I might b


Minor correction regarding OPT durations: you're allowed up to 12 months by default, and you can get a 17-month extension on top of that if you're a STEM major.


Either the article is completely wrong about GPA or I must be an outlier. I barely had a 3.0 in college and got multiple internships at "Major" companies.


Very interesting - which companies/school, if I may ask?

I think if you've done extraordinary things outside classes (great internships, awesome research, major open source contributions or own projects), you don't need a great GPA to stand out. But for most students graduating today, that's not the case.


Same here. I currently have a 3.2, but before last semester, it was a 3.1 (I'm done with 6 of 8 semesters). I had a internship with Amazon this summer, and they invited me back for this winter/summer (8 month coop). Before that, I was at Philips medical. I know a classmate that also has a 3.0/3.1 and had an internship with Google this summer.

I don't go to a extremely highly ranked school either.

Just reread the article, and I'm going to call nonsense on the GPA part again. From my exp, if you have a >3.0 you're good to go, as long as you know your technical stuff. The only co I have ever had a problem with is NVIDIA, which explicitly required >3.5.


If anyone is looking for a tech (or online marketing) internship at an early stage startup in DC, send me an email. Address is in my profile.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: