

Ask HN: GitHub Portfolio for Summer Internship: where to focus - lsiebert

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.<p>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?<p>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?<p>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?
======
pwnna
Hi! I love it when people who are not in CS who is looking towards going to do
an internship with software. I'm one of them and I'll try to summarize my
experiences so far. Maybe this will help you. :)

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>

~~~
simarpreet007
I'm a Computer Engineering student at Waterloo, but I must say you've
impressed me with your skills as an aerospace engineering student in the CS
field. Bit off topic but it's funny because I'm looking to get into Flight AI
and flight mechanics. We should talk!

------
jstanley
This probably won't be of much help, but I would just be yourself. If you want
to contribute to your friend's project, do it. If you want to write a hundred
tiny tools, do it. If you want to write one huge project, do it.

Not 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.

------
PhilandTim
I'm in a very similar position, except I'm a 4th year who just declared a
second degree in CS that I'll be finishing by next spring, and I have minimal
coding experience. And I have the crazy idea that I can get a job offer in
software development before I graduate.

