top | item 30345059

Ask HN: How to make the most out of time at university?

50 points| _lnwk | 4 years ago | reply

Hello HN, I'm currently studying in Poland at technical university, studying Applied Computer Science. I'm at the first year of my studies. I'd like to ask you for advice on how to make the most out of the time during my studies, so that I won't have trouble with employment.

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?

84 comments

order
[+] LeanderK|4 years ago|reply
> What ought to be my main focus?

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
I would agree with this.

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
I second this, and also look into activity-based clubs (sports, crafts, hobby-interests, drama, music, etc) that your school (or the town/city) might offer. These can be a great way to meet new people outside of your line of study and to have an easy ice-breaker for conversation as it's much easier to make new friends if you have a common interest. They can also offer a great and easy path to leadership. In my experience no one wants to be the club leader so it's easy to step up and be that role which can look great for future employment or as a resume/CV builder.
[+] hvaoc|4 years ago|reply
Cannot agree with this more. University is a perfect training ground for the real world.

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
LeanderK makes a great point. Social skills and clear communication are extremely valuable. A great way to tie them into your studies is with study groups. Try meeting up at the library or computer lab with different groups from different classes. Meet people outside your field as well. You never know, you might be working on software systems tied directly to an industrial hardware project and it would be helpful to know how your skills fit in with the mechanical, electrical engineering, and project management/business needs of the project.
[+] NiagaraThistle|4 years ago|reply
Came here to say basically this. This is great advice.
[+] scottious|4 years ago|reply
> I'd like to ask you for advice on how to make the most out of the time during my studies

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
As a former professor, I want to second this advice. Even asking the professor to re-explain some from class is often helpful. If you run out of things to ask, ask about their research. Building that relationship will help if you need an extension on assignment, a bump in a grade, or a letter of recommendation later.

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
Came here to say this. Office hours serve many purposes.

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
In a similar spirit: figure out why the faculty gave you specific homework.

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
I would say have as much fun as you can along side your studies. Really.

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
This comment resonates with me very closely. I majored in the humanities and honestly switched a few different careers in my 20s before settling on programming (long-time hobby).

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
I would add, have fun with other people. Make friends, make meaningful connections. These are harder to do outside of the university setting and this is one of the rare times where you are surrounded by a group of people with similar availability.

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
What ought to be my main focus?

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 got hired out of my college's career fair. My boss said I stood out because I actually cared about the field. I was an officer in the college's Linux Users Group. I had side projects. I could talk about technical things I hadn't taken courses for, I read technical books for fun. I had a string of part-time/summer technical jobs already. I showed interest in learning more. Nearly everyone else they saw at the career fair did exactly the technical tasks their courses required and not much else.

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
Disclaimer, I'm based in the US so your experience may differ.

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
Interesting you said "co-op", which part of the US are you from? I've only ever heard that term used in Canada (I attend UWaterloo) and some northeastern US universities. People at UCLA/UC Berkeley were pretty confused when I said "co-op".
[+] nixgeek|4 years ago|reply
“Don’t focus on grades beyond what’s required to pass your classes” is tricky — a lot of College/Campus Hiring is selective about both the institutions they will hire from, and the GPA thresholds; if you don’t tick both boxes you likely cannot easily get an internship or graduating offer from e.g. Google, Oracle, or wherever.

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
1) Highly, highly recommend going to Erasmus student exchange at one point (I did in Umea, Sweden). It's great for socializing, good way to feel confident speaking english and gain confidence of living abroad - it's not only about technical skill set.

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
> focus on subjects you like and other subjects that you don't like just do minimum to pass

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
>Should I be focusing on my GitHub portfolio? What ought to be my main focus?

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
Bro, stop optimizing future employment. Go party, it's university. Meet new people, fuck some girls. Get to know people from other departments than CS.

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
If you're doing computer science, do some computer science.

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
note that computer science != software engineering. doing computer science is sitting down with a pencil and a piece of paper. actually working with a computer may be limited to writing a paper in latex.
[+] samwillis|4 years ago|reply
My university course (Industrial Design, about 17 years ago) had an optional "placement year", a year between second and final year where you would take a paid job in industry (about 65-70% of a grad sallary). It was your own responsibility to find and apply for one, but in the industry in the UK it's become quite a common system, so businesses seak out placements students.

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
If you're at a university that allows undergraduate research I suggest trying it at least for a semester. Undergrads at my university got to work on really cool stuff like finding water on Mars, and the bar to join is often just expressing interest and the willingness to put in time

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

[+] stblack|4 years ago|reply
At university:

Sleep more than you study.

Study more than you party.

Party as much as you can.

[+] jjice|4 years ago|reply
I've seen this before, and it's funny and decent advice. I got awful sleep most nights in college, just because I'd stay up too late, not even to get work done, just screwing around with YouTube and such. Sleep is huge.

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've never seen this before, and very much like it.

I went to college with the goal of "work hard, play hard", and I was exhausted!

[+] Upvoter33|4 years ago|reply
Put simply, connect.

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
If you have the time to join groups that you find interesting, but are not directly related to your topic of study, do it. You will spend the rest of your career increasing your skill set in the domain you chose, but university can be a unique chance to get to learn from all the other domains. In my experience, and your milage may vary, nobody asked about my grads after I graduated. The skills I gained by joining groups outside of CS helped me go much farther than spending that extra time studying I think ever could.
[+] drunkpotato|4 years ago|reply
Take a healthy variety of non-technical courses as well as your technical courses. They're both important. This is a good time to experiment with a variety of subjects and learn what you enjoy. It could also have a significant impact on your employment; part of standing out in an interview is getting along with the interviewers and sharing unique knowledge and experiences that make you memorable.
[+] kop316|4 years ago|reply
Second this advice. Some of my favorite classes that I took were electives where the professor was passionate about the subject. I even got an offer to go on an archaeology trip over the summer (which I sadly had to decline as I accepted an engineering internship that summer).
[+] machineleaning|4 years ago|reply
Make some friends. You have your whole life to develop skills. Making friends will never be as easy as it is in college.
[+] wwilim|4 years ago|reply
Disclaimer: this is a Poland-centric comment, your academic environment may vary

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

[+] snarkypixel|4 years ago|reply
People say go all-in when you're young because it gets harder when you're older. I just wanted to mention that this is true and it happened to me and many of my friends. I'm so glad I went all-in when I was younger to establish my career and get wealthy because nowadays with a family it's much harder.. this let me focus on my family rather than work.

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
Counterpoint: I spent most of my early youth going "all-in", basically trying to push myself to be something I'm not. Now I lie in bed at night wishing someone would shoot me in the head so I don't have to wake up to another day.

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
If you can afford it, take your time and do 5 years. Live on or near campus. The best thing you can do for your employment is start taking programming odd jobs now while learning. Get real work out in the world and get paid for it before you graduate.

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.