Ask HN: How to make the most out of time at university?
What are some of the things that would make me stand out from the rest of the potential candidates in the future? I'm partaking in one of the scientific clubs, where our main focus is game development. In my team, I fulfill the role of 3D artist with occasional programming sprinkled in.
Should I be focusing on my GitHub portfolio? What ought to be my main focus?
[+] [-] LeanderK|4 years ago|reply
Develop your technical skills during the week, develop your social skill during the weekend. A lot are only doing the first, even on the weekend (or only the second, even during the week). While raw skill is cool, it's important that you can work in a team, that your boss likes you and your colleagues can work with you. Attend parties, talk to strangers, learn how to do some small-talk. A lot of it is really just practice and confidence. It also helps you in your personal life, you have to survive adulthood too. You might move into a new city and need to make friends, or your girlfriend/boyfriend could leave you and you might need to talk up somebody at a bar. University is really ideal for this, there's a lot of interaction during your day. Adulthood can be very lonely. Really try to make some friends that are NOT studying computer science (I can't stress this enough, huge error on my part when I started).
During the week, I would take university seriously and augment it by doing some practical stuff at home. A lot of universities are theoretical, they don't really let you built stuff. Or you could built something during your holidays. I always had some project ready that I could pursue if I found the time. This combines both worlds. Also, hackathons are fun. Since you're in your first year, really nail down linear algebra and calculus, it's the basics for all your future academic endeavours. Try to be a tutor for either or both in the second year, it helps to fortify your skill.
[+] [-] FooBarBizBazz|4 years ago|reply
Your first goal absolutely has to be that you successfully complete your degree. I know a person who failed to do this, and the results are bad. Finish! However -- most people do. So if you're reasonably conscientious you'll be fine.
After that: Work to get an internship every semester you have off (maybe unless you're traveling abroad, as recommended next). You'll make some money; you'll try different things; you'll add to your resume.
I would strongly advise against heading off to do a startup immediately. You will be clueless and will not know that you are clueless. Almost nobody should be an entrepreneur. I'm not; you probably shouldn't be. But if you do think that's something you might do, even then -- work in the field first. People like to go "I'm my own boss", but that's a liability. Have some bosses who'll tell you what to do for a few years.
Also, consider some study-abroad, as others have suggested.
But my final piece of advice would be: Really value the people you meet there. There's a tendency to lose touch with people, to just move on with your life. A tendency to end relationships, to not solve the "two body problem". That's all a serious mistake. If by the end of college you've found someone you really like, marry them.
[+] [-] bradfa|4 years ago|reply
[+] [-] hvaoc|4 years ago|reply
Make as many mistakes as you can so can learn from it in an error-friendly ecosystem.
Host / Organize or volunteer events best way to work with others, socialize. Establish groups for long rewarding networks. Remember the folks who are walking around your campus are going to go around and take many leadership roles not to far out in the future.
If you are in tech, real usefulness of Tech is with the non-tech folks usage pattern. Ex: There are more brains working on ADs than medical imaging. Talk to them, help them apply tech into their workflows. Your simple tech tool can be a significant productivity tool for them.
Strike healthy relationships with other genders beyond dating. Helps you relate better with other genders and will help in the future in your personal and professional life.
[+] [-] PatentlyDC123|4 years ago|reply
[+] [-] NiagaraThistle|4 years ago|reply
[+] [-] scottious|4 years ago|reply
Go to professor's office hours. I was always so shocked when I showed up to office hours and I was the only one there almost every time. You can literally have 1-on-1 time with an expert and nobody takes advantage of it.
Another advantage of office hours is that you don't want to look like you're unprepared, so preparing some questions to ask is actually really good practice to hone in on what your gaps in knowledge are.
[+] [-] brian_spiering|4 years ago|reply
Some professors won't care and it will be of little value. Do not get discouraged if it is not a positive experience. Find the professors that do care.
[+] [-] welcome_dragon|4 years ago|reply
I remember going to office hours for homework guidance. I've also gone and been the only person there and delved deeper into a subject than an undergrad class normally would with leading experts in the field that otherwise might not give me the time of day
If you don't have a schedule conflict, try to go to office hours as much as possible!
[+] [-] ISL|4 years ago|reply
Most faculty think hard about which problems to assign. It isn't busy-work. There is a person on the other side of the problem-set/exam/essay, they only get a few assignments, and they are going to have to grade it (or some future work).
[+] [-] flodcw|4 years ago|reply
On the career side, experiment as much as you can in all the different areas (web programming, data science, ML/AI, game dev, etc.) and see what fits you the most.
I wouldn't worry too much about finding a job in this industry and I think focusing on your portfolio would make most sense only after you've found the niche that interests you most.
[+] [-] angryold|4 years ago|reply
You will probably find advice will be hugely varied and there is no single right answer. Ultimately your life is short and you should really plan around what you THINK will make you happy. If you get it wrong, no big deal -- you have the rest of your life to figure it out and you will probably find a way around to seeing what is the path of least resistance for you.
This is a good time to experiment and figure out what fits well for you.
[+] [-] lazypenguin|4 years ago|reply
Additionally, work on your health. Get fit, learn to eat well.
Don’t overachieve, focus on the few things you are interested in and do them well.
[+] [-] onion2k|4 years ago|reply
Becoming a person who other people want to talk to.
The best thing about university for me was getting to meet a super diverse and exciting group of people. I learned how to listen and be interested in what other people want to talk about, how to be someone who other people want to listen to, and how to be friendly. I truly believe that has landed me more jobs than any technical ability I have.
Anyone can nail a technical interview tests with a bit of practise if they've paid attention in classes. Nailing the "culture fit" interview is how you stand out.
[+] [-] spiffytech|4 years ago|reply
I had three friends who got hired into Google upon graduation. They spent a lot of times on things like the Facebook Hacker Cup, studying graph theory, learning things from obscure programming languages or 40 year old research papers. One was in both the LUG and robotic flight club, doing big competitions. Their GitHubs didn't look as much like side projects, but they still published whatever code they wrote. They'd focused hard on skill building that was highly relevant in challenging technical contexts.
So that's my suggestion to stand out: show that you care about your craft, not just meeting assignments. Juniors are hired based on who they can be molded into, as much as for any skill they already have.
Example: if you want to go into game development, see if you can give a talk at a game conference sometime during your degree. If you nail the talk, show something original and intriguing, make it quality and memorable, you'll get access to job opportunities where you're treated like a competent professional instead of a dime-a-dozen fresh graduate. A degree takes long enough to do something novel that's worth presenting.
[+] [-] CSMastermind|4 years ago|reply
But here's my advice:
- Apply to internships/co-ops early and often.
- Develop your social network with the other students in your classes.
- Don't focus on grades beyond what's required to pass your classes.
- DO focus on learning how to be a good programmer by doing side projects and programming constantly.
- If there are programming competitions at your school take part in them. (hackathons, etc.)
- Have a social life, go out to parties, have fun with friends, try to get a significant other.
[+] [-] MisterSandman|4 years ago|reply
[+] [-] nixgeek|4 years ago|reply
Notably, at least a few companies restrict their “Professional Hiring” or “Industry Hiring” teams to candidates with >2 years of post-college professional experience, so the rub then becomes you graduated, didn’t get in, worked somewhere small with the expected “small scale” problems for at least two years, then have to Leetcode and take the arguably harder path into BigTech (which is Industry Recruiting, when you’re not coming from another hyperscaler or notable/known employer).
Is it nonsense that Recruiting filters in this way? Perhaps. Results in losing good candidates? Absolutely. Is the entire recruitment engine a SNR problem? Yes. :)
Internships, Open Source, Hackathons are all excellent advice, as are the other suggestions in thread on building networks, use of office hours!
My quick advice:
- Ask about “Why?” and “When?” and don’t just do the rote exercises which teach you basics about data structures and algorithms.
- Hack on some side projects and have a presence on GitHub, portfolios can be helpful.
- Find a space you enjoy hacking on and find related Open Source, contribute. Maybe that’s something like Home Assistant (nerd out on automating your living space), maybe something else.
- Scratch the itch, humans are all about dopamine hits, all of the above is about gaining experience: this won’t feel like a chore if you’re hacking on something FUN (which is subjective, your itches and others itches will differ). Several people in my 1st Yr CS course weren’t able to find their itch — they’d gone to CS because “they heard it paid well” or “parents said it was a good idea”, they eventually quit, or some persevered and found they hated the jobs professionally, so they had mid-life changes in careers.
- Be curious about Linux, since outside of Microsoft (and even some places in it!) that’s the predominant platform for deploying services, if you can’t navigate Bash and exit vi, you’ll perhaps find your entry into professional settings has a rather steep learning curve!
- Have fun and be social, I know parents say this a lot, but full-time education in a <~ 22 y.o. sense is really the last “minimal responsibility” moments you’ll have in your life.
Disclaimer: I’m a Brit, who now lives in US, and I’ve been a somewhat senior leader at 3-4 huge technology companies in my career, with direct exposure to EIC (early in career) hiring practices.
[+] [-] pzo|4 years ago|reply
2) Don't focus too much on grades - focus on subjects you like and other subjects that you don't like just do minimum to pass
3) Nobody ever asked me to show my diploma (I'm not sure if I could even find it by now), you will be mostly judged in the future by either experience, portfolio or asked to do some small homework project to proof you can code.
4) Consider joining IAESTE at your university and do summer international internship somewhere abroad - good way to go somewhere abroad, earn some pocket money, and learn practice some technical skills during holidays.
[+] [-] dspillett|4 years ago|reply
To add to that: unless you are already very focused on what you want to get into in the end, if you have some flexibility in the modules you can take try to test out some things you might not naturally go for. A well-rounded understanding can be more useful at early stages than a focused expertise. “Jack of all trades”¹ was not originally meant as a derogatory phrase, and IMO shouldn't be one today either. Unless you have a specific strong focused passion already, I suggest specialising later rather than sooner.
[1] the full phrase makes this obvious: A jack of all trades is a master of none, but oftentimes better than a master of one.
[+] [-] the-alt-one|4 years ago|reply
Having a good time. Learn for the sake of education, not for getting a job. You're so privileged by picking CS, you'll get a job anyway.
You only have one life and this time only now, use it! Socialize, be political and foolish. Make fun experiments and share with people, make friends.
[+] [-] qnsi|4 years ago|reply
Trust me, in five years you are not going to regret not being more employable, you are going to regret not having partied
[+] [-] jokethrowaway|4 years ago|reply
Most universities push you surprisingly little towards "doing the thing" so just build something, whether that's for fun or for profit.
I spent my uni time working and barely passing exams and I can recommend it. I can't really say my uni time was particularly useful to my career (I started working before uni) but having working experience and being very productive "straight out of uni" made me advance incredibly quickly in career and compensation.
Also, get out of Poland as soon as you can and go to either Switzerland / UK / USA to build a network of contacts and save some money. Alternatively have a look at what salaries you can get in those places and work your way towards getting a remote job paying that much (which will be significantly higher what you will hear from your developer peers in Poland).
You should also consider whether you want to stomach working in a FANG or not. If so, try to do your Algorithm exams towards the end of your course of study (if possible), do leetcode online for a couple of months and then apply to all of them.
Best of luck
[+] [-] baq|4 years ago|reply
[+] [-] samwillis|4 years ago|reply
I learnt more in my year working than the all of my university course combined, significantly, it was incredible and one of the best experiences of my life. I was fortunate enough to be invited back permanently after the course, and many businesses see it as an extended "interview" taking on a large proportion of placements students after.
So, my recommendation is if your course offers it take it up, it's invaluable. If they don't, look for opportunities to "intern" during the holidays. Real world experience is the most valuable thing you can build up, and the prospect of it tuning into a permanent position is very strong.
[+] [-] ford|4 years ago|reply
Research is often more self-directed than what you get from classes and will teach you a lot
I'd also suggest extending your time in school in exchange for doing more internships. Internships are the best time to "step up" the caliber of company you work at and also give you a chance to try out new kinds of companies/industries/teams so you know what you want to do.
After you graduate, trying out new companies/industries/teams becomes way way harder
[+] [-] selimthegrim|4 years ago|reply
[+] [-] stblack|4 years ago|reply
Sleep more than you study.
Study more than you party.
Party as much as you can.
[+] [-] jjice|4 years ago|reply
Take later classes if you can. You might think that toughing out an 8am class isn't too bad, but I've done this to myself three times (seriously didn't learn my lesson). The alternative is to go to bed earlier, which can work, but there's a lot of fun and friendship to be had at midnight on a Wednesday sometimes, that's what's so interesting about university.
I involuntarily slept through a serious chunk of my Vietnam history course since it was 8am is a dark, cool room. Adjacent this that anecdote - figure out how to apply the 80/20 rule (paredo distribution) to school. Most things follow it, and school is no different. That Vietnam class I was barely conscious for? I learned how to read a book efficiently and got straight Bs on everything. For me, I was completely fine with Bs in a gen-ed class that didn't take much of my time. It let me put my effort towards my CS classes, where I really wanted to do well.
[+] [-] Cd00d|4 years ago|reply
I went to college with the goal of "work hard, play hard", and I was exhausted!
[+] [-] Upvoter33|4 years ago|reply
Find ways to connect to your professors. Many are deep experts in their domain. Talk to them in office hours, ask questions in class, read their work, engage.
Find ways to connect to your peers. Talk to the people in your classes. Find things you have in common. Hidden among them all are the few you would call best friend, if only you knew them. Get to know as many as you can.
Find ways to connect to the material (outside of classes). You will of course learn what is put in front of you. But what about the rest? Find other textbooks and materials. Do other projects. Immerse yourself in the field you are studying.
So, put simply, connect.
[+] [-] quintex|4 years ago|reply
[+] [-] drunkpotato|4 years ago|reply
[+] [-] kop316|4 years ago|reply
[+] [-] machineleaning|4 years ago|reply
[+] [-] wwilim|4 years ago|reply
If a faculty member offers you to join some kind of project they're involved in, by all means go for it.
You'll be exploited for free or for minimum pay, you'll get random urgent requests to get something done quickly on a Friday evening, and you'll get stress migraines.
But I still recommend doing this if you have a chance, and here's why:
- chances are the job is unique, odd, and not something you'd be doing in the corporate IT world. I once found myself teaching a class of art students how to build iOS apps, with ~24 hours of experience in Swift and having never owned or used any Apple device.
- if it's an official contract and you get paid for it, it can become the crown jewel of your CV even if it wasn't rocket science. Especially US-based readers of your resume will value academic achievement.
- you can combine the additional work with regular coursework or a master's thesis, which will help you get more mileage from the time you're spending. Keep in mind this is still much more than would be normally expected from you.
- if you prove to be useful, you'll be on good terms with a potentially important faculty member
Things to keep in mind:
- get ready for a really stressful few months
- expect to be exploited to no end
- don't expect any promises you hear to be fulfilled, except what is written on your contract with the university if you get one
- there will be pressure to go deeper and deeper, and you will hear them discrediting the value of other things you might be planning to do such as a corporate IT career. You need to know whether you want to stay or not, and you need to base this decision on realistic prospects, not on someone's visions and promises (see #3).
Source: one official short-term contract and one unofficial project assistance
[+] [-] Claude_Shannon|4 years ago|reply
[+] [-] snarkypixel|4 years ago|reply
I think one of the most important thing you could do is get a great network and surround yourself with amazing people. What's hot in the moment changes every few years, but great connections stay for a long time. Also, being close to amazing people that are very talented means that you'll get to see new trends coming and always be on top of it.
[+] [-] delusional|4 years ago|reply
Effort doesn't necessarily equal success, and success doesn't equal happiness. Remember to work towards something you actually want to live. It's all too easy to use "all-in" as an excuse to run away from your problems, and making time for a family is great, but that family has to be built too.
[+] [-] scsilver|4 years ago|reply
Health Then Wealth
Body healths helps you be nice to be around. Being nice to be around builds your network. Your network provides you with jobs and information for navigating life. Start at health and happiness, your in the nest industry in the world, you don’t need to optimize and more than you already have. That energy is better spent growing wide and expanding your horizons.