Things I did not learn during my degree vs Things I did learn during my degree

Having only graduated in July 2012, my degree is still relatively fresh in my head. I studied Music Informatics at the University of Sussex. Though it turned out to be basically a Computer Science degree with a slight musical slant since it turned out I was better at coding than playing the piano. I'm now a full-time software developer and I truly enjoy what I do, however, many (if not the majority) of the skills I use day-to-day were not directly taught to me during my degree. Here's a list of the things I use day to day that I did not learn as a direct result of my studies.

Did not learn

  • Version control using Git.
  • Test-driven development.
  • Testing at all, except for 30 minutes on how to use JUnit.
  • Any sort of full-stack web framework. (Rails, Django, etc.)
  • Collaborative working using Git and GitHub (or similar).
  • Deployment strategies.
  • Any sort of server administration.
  • Use of a tool such as Redmine or JIRA.
  • Anything to do with Agile. (Scrum, Kanban, etc.)

Let's contrast that with a list of the things I did learn.

Did learn

  • XSLT, DTDs, AJAX (not using jQuery)
  • MATLAB
  • Java
  • Subversion
  • Waterfall methods
  • OpenCV
  • Machine Learning

See where I'm going with this? Yeah, there's a couple of cool things on that list. Computer vision is awesome, but I learnt so few of the tools and techniques I use day-to-day. Knowing Git, TDD and being familar with some sort of Agile methodology is pretty much assumed these days, but in three years and after £10,000, I did not know them.

I took a module in my final year called 'Web Computing'. I expected to learn about web frameworks, web apps, stuff that would be useful if I wanted to go in to a career in what I would describe as web computing. First lecture:

Be aware that this course does not cover PHP, Rails, or anything like that...

I remember that quote. "...or anything like that", like full-stack frameworks were somehow a waste of time. That module covered XSLT, DTDs, XML, that sort of thing. I learnt very little in that course other than the fact that I did not enjoy it. If an API provides XML instead of JSON I shudder now. But JSON was not even mentioned. Just to remind you, this module was taken in 2011/2012. This is not a long time ago. Seems to me that if Universities are tasked with preparing students with the skills required of them by industry, in my experience, the university failed.

I don't mean to be totally negative about my university experience. I enjoyed myself, made some friends, discovered some hobbies and I'd do it all again. But in terms of my university experience preparing me for the workplace, I remain to be convinced that my student loan was worth it.