So, you're thinking of studying computer science?By Rían Errity
The IT Industry is a weird one, It is so wide-encompassing and has so many avenues to pursue. Unfortunately, the visible way to land yourself solidly within it is to take up a degree in Computer Science, which is the academic backbone of the industry.
The thing is, though, it’s also a field that attracts people from all sorts of backgrounds, socioeconomic statuses and education. You don’t actually need a degree to succeed — It just makes it an awful lot easier to.
1. Computer Science isn’t for the nerdy kids.
Computer Science is one of those fields that has a bit of a stigma around it that only the bright, nerdy kids can succeed. That’s not true. In fact, now more than ever we need people with a computer science background in roles that aren’t academia or programming.
If you don’t fit into the stereotype that doesn’t mean you won’t enjoy it, or that you won’t do very well, the industry has opened up so much to everyone and anyone with a passion for technology.
If you’re not sure about computer science, you could enrol yourself in CS50, a free massively open online course (MOOC) by Harvard which is a well-made pre-computer-science course which I took myself in my first year to reground myself in the basics.
2. You don’t need to be a computer whizz-kid, or a programming aficionado by September 1st of your first year.
For a lot of students, programming doesn’t ‘click’ until late into their third or fourth semester, and for some it never does. Programming isn’t the be-all-and-end-all of working in IT or even software.
If you, like many others, are finding programming difficult, you should still consider computer science. There are many other fields such as project management and product design that desperately need CS grads, you could even become a secondary school teacher now that the subject has been added to the leaving certificate in Ireland.
There will be students that have programming experience, maybe they took part in Coderdojo or have a programmer in the family. Ignore them, don’t compare yourself to them or think you’re any weaker of a student because you don’t already have any programming experience, you’ll get there. If they’re willing, they might actually be a good resource to learn from.
In the three to four years of the degree, you’ll have plenty of time to catch up with or even far-exceed their skills across a range of domains, it’s not all just programming in IT.
3. Becoming a lecturer or a Software Developer aren’t the only outcomes of a CS Degree
Feeding in from the last few points, you don’t have to become a lecturer or developer to find success, leadership roles, marketing, sales — everywhere could use more computer science graduates.
We’re among the most sought-after graduates, regardless of any advances in AI might have you believe.
4. You don’t need the fastest computer or laptop to be a computer scientist
You don’t want to be the person lugging a 4 kg gaming monstrosity into a lecture hall with fans like a jet turbine. Keep that power for your tower at home — if you even need it at all. Get yourself a decent build-quality generalist computer with a solid CPU, at least 8 GB of RAM and a battery life that can last 7+ hours to get you through a day of lectures. That’s all you actually need day-day as a student.
The kinds of software you’ll be running won’t be too intensive, you can even try running some common integrated development environments (IDEs) on what you have currently to see if it’ll last you your first few years. This does vary by speciality, though. Doing a lot of 3D modelling/CAD or basic AI and you might want a discrete graphics card, but frankly you won’t be touching most of these topics until your 3rd or 4th year, where you might be better off flipping your then 2-plus-year-old machine and upgrading.
I’d also recommend getting a solid screen and keyboard, if you can check out laptops of your choosing at a local computer store then do it, just don’t buy the machines then and there — Take the model numbers and look online for reviews and to see if there’s a better deal online or elsewhere.
3. The language doesn’t matter
Don’t get hung up on whatever programming language your intro to programming module uses, you’re not really learning the programming language, you’re learning how to program — Two completely different tasks. You should try and learn the language through which you’re learning to program, but don’t worry too much about the syntax/semantics of that particular language; just try and get your head around what’s going on. Being able to read code and more or less understand it regardless of the language is an invaluable skill.
4. Work on things out of class, and outside the curriculum
The best way to learn to program, and to get better at Computer Science is to apply it to what you already love, build a website to show your love for your favourite sports team, or write a tool that’ll help gamers in your favourite video game. Do whatever it takes to make use of your newly acquired skills in something practical.
All too often, university programs don’t show you the practical implications of what you’re learning and focus too much on the theory. If you want to really get the theory and to have a bit of fun with what you’re learning, then take a step (or leap!) outside the curriculum and get your hands dirty with code.
5. Learn Git.
No seriously, and try and do it from the command line rather than relying too much on the Git integrations now available in your favourite IDEs or code editors. Try and understand what’s going on with Git when you run each command, being able to manage your code effectively and to be able to roll back changes and collaborate will help you early on, don’t wait for your university to introduce the topic to you, it’s possible they never will — or they’ll only do so in a very basic way.
6. Check out the Missing Semester
Much in the same vein as CS50, take all the courses in the ”Missing Semester” series in your first year, it covers a bunch of topics broadly that will help you become a better all-rounded developer. The same comes from the fact that it’s a semester of topics that all CS programs should teach, but often don’t. This is the case for my alma mater, Trinity College, Dublin.
I hope some of these were food for thought at the very least, if you have anything to add or any criticisms to make I’d love to hear them, my contact details are available here on my website. I’d love to hear from you.
7. Don’t do a masters if you’re looking to be a software developer
Really, it doesn’t help. Unless you want to go into computer science academia don’t waste the extra year, a couple internships or heading directly into a graduate program/software engineering role is infinitely more valuable than taking a few more classes and doing another thesis.
I am seeing plenty of my peers make the decision to do a masters currently, and frankly I don’t understand it at all, one year of professional experience will be much more valuable to you and your wallet than forking out for another year of kindergarten programming.