

Ask HN: As a CS undergrad, any advice on preparing for the job hunt? - bm1362

Currently, I am in my second year as an undergrad working on a BS degree in CS and looking for some guidance as to what I should do to be competitive in the industry as an entry-level dev and intern. (no luck for summer 2011)<p>My experience so far:<p>Java - 3+ yrs<p>C++  - 2+ yrs<p>C    - 2  yrs<p>JS   - 1  yrs<p>CSS, HTML5, WebGL, RoR, nodejs, gdata &#38; Facebook APIs &#60; 6 months<p>So, I've been trying to expose myself to as many trending techs and languages I can to augment my education. I do a lot of personal projects that often expand my skillset breadth-wise and go deep enough to give me a decent foundation. Usually once the project is done I move on to something new and have found myself looking for a project that has some real application I can get behind and roll out a polished product. (any suggestions?)<p>Based on your experience, what advice do you have for a CS student entering the workforce in the near future? If you could go back to your first job hunt, what would you have done differently?<p>Any advice is useful and greatly appreciated. (skills, location-related, hobbies, project suggestions, cs electives, etc.)<p>Thank you!
======
nostrademons
Something else you might want to consider: exposing yourself to techs that are
_not_ trending. The problem with just learning RoR, WebGL, NodeJS, HTML5, etc.
is that _everyone_ does that - while you have an advantage over someone who
doesn't learn anything outside of class, you don't have all that much of an
advantage over other programming enthusiasts. In a good job market, this
doesn't matter, but in a down market, every little thing you can do to set
yourself apart from your competitors helps.

Compiler design never goes out of fashion. Neither does statistical machine
learning and large-scale data analysis. Image and video processing may become
increasingly hot in the coming years. I know someone who parlayed a $15/hour
college-dropout webmonkey position into $75/hour consulting because he got
involved in mapping and geolocation technologies.

Deep domain knowledge counts for a lot when companies are looking at resumes.

~~~
bm1362
Awesome advice, thanks. I'm leaning towards image processing; I've got good
rapport with a professor whom is doing research using CUDA for image
processing. Would you say there is value in turning my focus to CUDA?

I'm having trouble seeing the end result in terms of specialization- I feel
that by focusing too much I might not hit the right profile for job a or b and
that a position for someone with a specialized skillset is not going to be
entry-level.

Again, thank you for your time. I appreciate it.

~~~
nostrademons
Probably yeah. It's hard to tell with emerging technologies, because sometimes
they take off and it's really awesome to have been on the ground floor, and
sometimes they flop and you just have to pick something else.

And yes, when you focus, it does reduce the pool of possible jobs. However, it
tends to reduce the pool of competing applicants even more. You might not fit
the profile for job A or B, but somewhere out there is company C, and they're
desperate for workers.

The one thing to watch out for is to make sure you specialize in something you
enjoy working in. Otherwise, you'll hate it, and chances are all that effort
will be lost. If you don't know what you enjoy working in, it's fine to try
lots of areas until you find one. But if you do find it, don't be afraid to go
deep.

------
drallison
I would recommend that you take courses in mathematics, statistics, and at
least one physical science (physics, chemistry, biology). You might also want
to do a bit of economic modeling as well. Learning different programming
languages is the wrong metric for success. All that should be on top of a
broad education in the liberal arts.

Are you planning on going to graduate school?

------
bjg
I just got done interviewing for post grad jobs, I'm a graduating 5th year CS
student.

I would the thing that made companies notice me the most was my work
experience. I love to work, I've had a programmer summer job since I was a
sophomore in high school (REU programs). During my undergrad I did a 6 month
Co-op at IBM and a Six month Co-op at MIT Lincoln Lab. These kinds of
experiences really make you stand out from other grads in my experience. So I
would just say always have a side project during school besides your regular
school work, and always try super hard to get a summer Internship/Co-op.

It's definitely not too late for summer 2011 in my opinion, I've had offers
for Co-op's way later in the game than this.

Also for interviews the following book is invaluable:
<http://amzn.com/047012167X> It helped me with my Apple, Microsoft, Amazon,
and Google interviews.

~~~
bm1362
Great news, I'll keep looking for potential opportunities- definitely going to
get the book. I'm still looking for positions around Austin.

Currently, I work for my CS department as a CS tutor and have a position next
semester(s) teaching the entry level programming labs which should garner some
attention from potential recruiters. I've logged thousands of lines of white
board code. I'd love to get some industry experience though( or start-up exp!)
and I'm still early enough in my academic career to get a few notches in my
belt before graduation.

Thanks!

------
djloche
I would advise you to set a salary & benefits target and then actively hunt
for a job that is acceptable to you.

Consider hunting on a national basis and relocating as needed, instead of
staying tied to your home or college town. You probably won't have a spouse,
kids, or a mortgage when you graduate, you'll be a perfect position to move &
get what you want, instead of being forced to settle with something less than
desirable due to circumstances.

