Hacker News new | ask | show | jobs
Ask HN: Advice for a college freshman?
3 points by devericx 2827 days ago
Attending the University of Virginia. Planning to major in Computer Science. Around a year of experience working at a startup and on personal projects, but nothing intense or serious.

I want to be in the best possible shape post-graduation. What should I be prioritizing? I feel like GPA shouldn't be my highest priority, rather, side-projects, social connections, or industry experience should be. I just hear so much about how little employers care about GPA above a certain level, and pushing for that 4.0 over a decent 3.7+ requires so much extra effort for not much return it seems.

I'm intrigued by the indie hacker scene. Solid passive income would be the dream for me. I don't think I'd be happy in a cog-in-the-machine-type big company position, though who knows, maybe I would. I just don't know at this point and would love some tips and advice from those a lot more experienced. What are the best ways to acquire internships for the winter/summer? How should I split my time between a social life and developing my skills? What would you have told your college freshman self back in the day if you could?

Thanks.

3 comments

Whenever anyone young asks me this general question I point them first to pg's awesome essay: http://www.paulgraham.com/hs.html. This is targeted for HS students but I think also applies to freshmen and sophomores. To boil it to one sentence: Make decisions as to maximize your options.

I would add that your personal network is one of the most valuable asset you'll have so start on your networking skills. To do this well, as they say, be interested, not just interesting. Ask people what are the most important open research problems in their fields, people love to talk about this stuff.

Finally, if possible, avoid companies that "care about GPA above a certain level".

Just skimmed the essay and wow, what amazing advice. I totally agree with the whole "figure out what your options are and just pursue what interests you" ordeal, rather than try to figure out exactly what you want to do in 20 years. Thanks so much!
What would I have told myself? People matter more than I think they do. Learning to interact well with them is hard for a geeky person like me. Work on learning how to do so. (This isn't the same as spending tons of time on the social scene. People are everywhere and you interact with them all the time, not just at parties.)

Most of the specifics you learn won't matter. Learn how to learn, learn how to think, and learn how to work.

This. Skill at interpersonal politics is crucial. You'd do well to read "How to Win Friends and Influence People". And maybe also the entire series of Dilbert comics for a fun intro into how organizations really work.

Also try to develop at least passing skill in public speaking.

I agree; the specifics never matter as much as the core principles of how something actually works. Thanks so much!
You should strive to find out what area of computer science you enjoy versus making it about your GPA or trying to be the smartest in the class. If the latter is your goal you're going to be disappointed.

It's hard, or was for me, to do projects on your own time when you're full time student. Therefore, apply yourself in learning as much as you can from your classes and build off the assigned work as much as possible if you have free time.

Lastly, learn how to develop a good work ethic. Try to revert from googling answers. Struggle and try to find your own solutions. Pay closer attention to your compiler warnings without googling them. Utilize tools to debug your code versus googling if someone else had the same issue and what their solution was. In all, learn how to struggle effectively to improve your overall understanding of concepts and problem solving.

~S

Thank you for the thorough advice! Thing is, I'm interested in so many areas of computer science from low level compiler stuff all the way to machine learning. Hopefully from taking classes, I'll be able to narrow these downs.