Ask HN: GitHub Portfolio for Summer Internship: where to focus
I already have a bachelor's degree, but not in CS, so I've been taking classes toward an AA, possibly looking at a Masters program. I'm currently looking to get a summer internship, as I've been coding for a year+ (and did statistics programming work before that), live in the Bay Area, and I feel like I could benefit from some mentorship/work experience as a programmer.
Anyway I don't have that many coding projects, beyond stuff I've done for school. My bad, I know. What I'm wondering is, where should I focus my time in terms of those projects in order to make a good impression.
I have a friend with a popular open source project, will contributions to his code in pull requests be more interesting than my own projects?
Should I have a bunch of projects to show breadth of knowledge? One big project, to show the ability to put things together? Should I build something to take advantage of my statistics background? Should I show that I build tools that help me automate things I need, or tools that other people would use?
Maybe I should ask this another way: People who have gotten internships: what did you do that worked? People who have given internships: what did candidates in terms of coding portfolios do that impressed you?
4 comments
[ 3.5 ms ] story [ 23.6 ms ] threadNot only will you be more motivated to do work that you already wanted to do anyway, you're also less likely to unpleasantly surprise an employer who was expecting someone different.
I'm currently an aerospace engineering student (undergraduate, first year) and I'm going to be interning with Mozilla during this summer. I've also gotten offers from others and have applied to even more. While I don't have a lot of experiences just yet, here's what I've seen so far:
1. Make sure you have lots of projects. If at any point something bothers you about your life. Write a program to fix it for you and make it available for others. If there is a weekend when you have nothing to do, make something cool and push it out there. I cannot stress this enough, as a) the process of creating an usable product teaches you lots, b) it makes your portfolio look good, c) someone may find your thing useful and actually use it, and d) companies really like to see that you can actually build something. Another thing you could do is if you use something daily and there are bugs in them, go fix them.
2. Push everything to Github. If you made something that you don't plan to sell, push it to github. You can reference it during interviews and what not. A company that interviewed me actually went through my github account prior to meeting with me.
3. Get a portfolio. Register yourname.com and put up a professional looking portfolio. A technical blog would be nice, have all the showcase there. Github pages is very popular, wordpress is also a good option.
4. Know your basic data structures and algorithms. This one is very important. Since we are not CS people, we probably didn't see a lot of the data structures and algorithms, especially not in depth. In fact, the lack of knowledge of a minheap made me lose an opportunity for an internship position (now I know minheaps really well, as that interview session taught me it). I recommend going through something like the book Cracking The Coding Interviews[1] and see what you lack and work on those.
5. Just be confident. Don't think that it is a problem that you're not in CS. The companies I talked to all asked me about me being in aerospace and it seems like they're more intrigued rather than repulsed (in fact one of the interviewers I had from Mozilla was a biology major).
[1]: http://www.careercup.com/book
If you would like, you can copy my profile and github :) at http://shuhaowu.com and https://github.com/shuhaowu