A university degree should provide you with the means to pursue a range of options upon graduation so that you know how to take advantage of good ones when they turn up in your path. Irrespective of which ‘flavour’ of degree you choose such as ‘IT’, or ‘data visualisation’, you should leave with a working knowledge of the professional skills in your profession along with hands-on experience using the critical thinking of that same profession. In addition, you should also leave with a general set of transferrable skills in a range of areas, which you can use as needed.
In computing something that meets these needs would probably look something like this:
- You’d learn how and why you should use version control, testing and other ‘practices’ in software development so that you know what is expected of you in a new role when you’re hired, or go on a placement with a company.
- You’d work through the theory of different computing science challenges and also apply that theory in appropriate applications that you built individually and in teams as part of a class.
- You’d have experience working with large open data sets so that you understand the challenges of what awaits you upon graduation.
- You’d have experience working with live clients so that you understand, and have used appropriate professional skills dealing with clients and have suitable examples to illustrate the points you will want to raise about your experience in your interviews.
- You’d have regular opportunities to talk to a range of developers and designers with a range of backgrounds so that you know the variety of options available to you from freelance to salaried positions when you’re looking for work later.
- You be able to attend conferences that bring in local, regional, national and international speakers so that you know what is happening in your field and be able to network with potential employers as well as talk to developers and designers about the industry too.
- You’d have opportunities to work on small to large projects with professional developers and designers in hack events as well as other types of shared practice events.
Each of these items offer you chances to build upon what you learn in the classroom and to help you realise the subtle aspects of computing as practiced by computing scientists, as well as what is done in software houses and how they share experiences between them. Together these different aspects help to make you more resilient and to use a variety of learning opportunities to make it easier for you to find your next step upon graduation whether this be research or working as a software professional, or any of the many other roles available in the ICT field.
Each of these items would also help you if you decide to strike off on your own, or with a few others and launch your own company. As a computer person, that option is ALWAYS there too and should not be ruled out either. Starting a company is easier when you’re not worried about losing a salary, and you could also start it while a student too using the entrepreneurial unit that most universities all have too.