Software Engineer @ Agile Lab

5 Tips to Get The Most Out Of Your Computer Science Degree

Every experience matters in everyone’s life. There is no “one size fits all” kind of magical path, or way to do things the “correct” way. However, today, I would like to talk about 5 tips I wish they had suggested to me back when starting university. Of course, this blog post will be tailored to my own personal experience. I will suggest things that I believe are valid for the IT industry, but I am sure they can be applied to other industries too.

Back in 2014, fresh out of high school, I had clear ideas about my future career: “I wanna be a Software Engineer” (sounds like the answer to Algoexpert’s spot: “So you wanna be a software engineer at Google?”).

So, in September 2014, I started my first year at Politecnico di Torino, studying Computer Engineering.

Things were getting serious:

  • I had completely no idea how that was going to be, I could not stop thinking that I was so bad at math!
  • I moved out of my hometown for the first time (in Italy they call us “fuorisede“)

But I never ever felt I was in the wrong place, I was motivated to do my best and reach the final goal. So it seems I was motivated, was that enough? No, you also need a good strategy!

Are you starting university next semester? Do you feel you lost the focus on your university track?

Here are some tips for you.

Have some sort of career plan

First things first, who do you wish to become?

Then reason about this:

Did you consider every possible path to reach your goal? Are you sure you need to attend a university?

During my, yet short, software engineering career, I met amazing colleagues which never took any degree. Do you think it’s impossible?

No, it’s not! In case you didn’t notice, we are living the boom of the IT industry, and there are tons of valid alternatives to learn programming. Of course, do not expect to become a software engineer in just 3-6 months after attending a paid course. Be honest with yourself!

Try to make a career plan, and ask yourself some questions, like:

  • Who do I wish to become?
  • Can the university help me speed up the process? Can I avoid doing the university to reach my long-term objective?
  • Why am I choosing this specific university?
  • Which is my backup plan in case the university is not for me?
  • Which is my dream company? Which is my dream industry sector?

Not only having a career plan will make you more secure about your choices. But it will also train you to be your best mentor, whenever you are passing through difficult times.
So which was my final goal in my career plan?

Honestly, back in 2014, I would have answered: take the degree. But I was wrong.

This is the fundamental flaw there was in my career plan. Taking the degree should be just a medium to a long-term objective like becoming a software engineer.

Now you may be wondering, but hey, you were studying to become that, right? Of course yes!

However, it’s not just a piece of paper (i.e. the degree) to tell you are a valid software engineer, not anymore at least!

The Boomer generation had fewer graduates than now, so they could just stick with a degree to be better than most graduates. Nowadays, if you are even just a bit ambitious, do not think that a degree will be enough to obtain whatever you want.

So instead of focusing only on taking notes at lectures and preparing for exams just to forget everything right after, try to have a deeper understanding of the contents of each fundamental course.

Try to apply core concepts to practical side projects or just ask questions to yourself or to your peers to be sure you understood 100% of the main concepts. These concepts will make the most impact on letting you stand out and be confident about your skills.

Skills will stay with you forever, while exam preparation will fly away right after passing it.

High marks only could be a bad sign

Don’t get me wrong! If you are able to take the maximum grade out of every single course and still be able to have a study-life balance, do networking, and have some hobbies, then go and make the next unicorn startup! You won’t need these suggestions.

Now ask yourself, how am I getting these grades? Am I getting those in a sustainable way?

Let’s be honest, not every course at the university will be crucial to your career, so why are you spending 80% of your time on Chemistry to get the highest grade in your Computer Science degree?

Just stick to your long-term plan and spend the least amount of effort possible to pass useless exams. Then go on! Be sustainable to yourself.

Keep life-study balance healthy

So which is a sustainable way to pass exams?

It should be a way in which you are able to not only study books but also do different activities like:

  • Networking with your peers
  • Do side projects not because you need to showcase things but because you love to go practical about what you study
  • Take care of yourself and your hobbies. Do not stop a hobby! Defend it as much as you can! This will distract you from the study routine and will also make you learn extra stuff
  • Hanging out! Especially if you are studying far from home. You should be able to talk about the city where you lived, shouldn’t you?

Of course, there will be periods of unbalance between one of those activities, it’s normal, we are humans. Just try to have a balance on average.

Do the f** networking!

You can get out of university with whatever grade you want, but you should get out from there with a decent network of people. Don’t confuse networking with making friends, they are completely different concepts, even if one does not exclude the other and so there can be overlaps.

You typically want to have a network of people for several reasons:

  • To talk about ideas. Having someone that genuinely criticizes your ideas or asks you for a review is gold! It’s an important learning opportunity.
  • To team up and make collaborative projects. Learning how to work in a team is the best skill you can train while at the university. The bad news is that no course is going to teach you how to do that, so go and team up! Even just asking for code reviews or making pull requests on GitHub is great.
  • Speed up learning. When you study together you can actively compare yourself with your peers and get the most out of a concept by just listening to different points of view

This is by far one of the most important things to focus on, yet difficult to build.

But how should I build a network?

You should try to meet people with the same learning spirit as yours.

Things start to get more and more interesting if you meet people from different universities, cities, and career paths. You don’t necessarily need to have the same interests.

Also, keep in mind that you don’t need to be all students! Try to exchange ideas with professors, ask questions, and see if your reasoning makes sense. Finally, attend conferences, meetups, and whatever event in which they talk about something that matters to you.

Go abroad!

I personally went erasmusing for 1 year.

Did I do that to seek better courses or learning material? Well, yes and no. My university was already giving me a high level of instruction.

So what was the deal?

I strongly suggest going abroad for different reasons:

  • Break out of your comfort zone. You will be alone in a completely different country which probably speaks another language. Every day you will be challenging yourself to make that place your new home. And you, as a person, will grow up a lot!
  • Expanding your network. You will meet people from all around the world, each of them with a different culture and opinions. A perfect ingredient for your network!
  • Knowing yourself better. You were not expecting this, weren’t you? Actually, once you break out of your comfort zone, you are left alone with yourself, and you will start noticing how you behave in the different new situations you will find yourself in soon.
  • Meeting different cultures and ways of thinking. This will not only make you more open to diversity, but it will also make you more aware of how your opinion can be perceived by different people.

TL;DR

I know you don’t have too much time to spend reading a random person found on the internet. So let me summarize what I just suggested:

  1. Make a career plan beforehand and stick to it!
  2. Spend the right amount of effort for each exam according to your long-term objective
  3. Have a sustainable study-life balance
  4. Do networking
  5. Go abroad as much as you can.

Do you have any other suggestions? Let me know in the comments :)