👩🏻💻 5 Things I Wish I Knew Before Studying Computer Science
My thoughts after graduation
Note: This is a transcript for the above video
Hi friends, I’m Magdeline, and I hope you’re doing well. I major in Computer Science at the University of Otago, and I just had my last exam last week. If everything goes well, I’ll be having my graduation next month which I’m really excited about!
So seeing as I’m done with my degree, I will be sharing with you 5 things that I wish I knew before studying Computer Science.
1. You won’t be learning how to make websites and apps
When I decided to study Computer Science, I honestly thought that I would be learning how to make websites and apps as part of my degree.
However I soon realised that all the core Computer Science papers were extremely theoretical. You typically learn things like data structures and algorithms, computer architecture, operating systems, networking, databases etc.
This being said, it definitely varies between universities, and for my university at least, there were some web development papers that you could take, but they weren’t part of the core papers of the degree.
So if you want to learn how to make websites and apps, I recommend you checking what you’ll be learning in your core Computer Science papers, and if they don’t cover it, then see if your uni offers papers in website and app development. Otherwise, your best bet is to learn online.
2. You won’t be learning languages and tools used in the industry
When I started applying for internships, I would always see them list skills and technologies that I was unfamiliar with at the time such as React, Angular, .NET core, Docker etc.
What I learnt in uni was Python, Java and C. Only in my final year did I learn AWS because I took Cloud Computing as an elective paper.
So when I saw these technologies listed, I thought, “How on earth is one supposed to know these?”
And this is what I learnt - in your Computer Science degree, you learn the fundamentals of Computer Science and programming concepts. This should give you a strong enough foundation to then learn those industry skills on your own by doing projects, and consulting YouTube and Google along the way when you’re stuck. I think the essence of it is basically to be able to YouTube and Google your way to learn and solve problems. Drop a like or comment if you agree!
3. Use the 3Ps of programming to improve your programming skills
This is something that I came up with and it’s problem solving, perseverance, and practise.
-
Problem solving
At its core, programming requires good problem solving skills.
You need to be able to visualise how to solve a problem, and then execute on it.
This is a skill that can definitely be learned so don’t be worried if you think you’re bad at this, and personally, I’m also still working on this skill.
From my experience, what really helps is to first be able to draw out or communicate a solution, then code it out, rather than jumping into coding straight away. Because at the end of the day, the programming language is just a means to solve a problem.
-
Perseverance
Someone once said, “90% of coding is debugging. The other 10% is writing bugs”.
I think it’s very true, and debugging can really test your patience. Because sometimes as you try to fix a bug, you get more bugs.
Debugging can really improve your skills though, especially if you do it manually using print statements because it forces you to understand the behaviour of your code.
-
Practise
As with all things, the more you practise programming, the better you will get at it.
You start to become familiar with more problems and bugs and you get better at solving them.
Some good sites to really test your Computer Science fundamentals are LeetCode and HackerRank.
4. Build your portfolio from first year
I only learnt how to code when I started studying Computer Science at university, so I thought I was such a noob and didn’t have enough experience to do any projects of my own.
I always thought that I would wait till like second year or third year when I had more knowledge.
I also had imposter syndrome because a lot of my classmates had been programming since they were young.
But if I could go back in time, I would tell myself to start building up my portfolio from first year. There are so many free resources on the Internet like FreeCodeCamp, Codecademy, and YouTube channels (Coder Coder, Ania Kubow) that you can learn from.
Also, having a portfolio of tech projects you did outside of uni can really help when you’re applying for internships or jobs because it shows that you have initiative and can learn on your own.
5. Being a software engineer isn’t the only career path
While being a software engineer is the most common career path you could take with a Computer Science degree, there are also other options like Solutions Architect, Tech Consultant, Site Reliability Engineer, Product Manager, UX/UI designer etc that you could explore.
You could explore them by talking to various people in the fields, or even better, by doing internships in them.
Then once you know which one you have more of an inclination towards, you can choose papers that are more focussed on those. Like if you are into UX/UI, you could take some HCI or design papers. If you are into Product Management or Tech Consultant, you could take some business papers.
I definitely have no regrets choosing Computer Science as my major because it is very fulfilling and the opportunities it leads to are endless.
If you are also a Computer Science major, let me know what you wish you knew before studying Computer Science or if you resonated with any of these!