In Summer 2004, after graduating with a BSc in Computer Science from the University of Warwick, I had very little trouble (largely down to Warwick DCS's excellent reputation) in securing a graduate position with a niche IT consultancy specialising in customer care and billing systems.
The course at Warwick contained several modules about software engineering, the software development life cycle and how IT is applied to (and can improve) business. More technical aspects are also covered in great detail, with more emphasis on developing best practices and overall concepts, rather than developing skills related to specific technologies. I applied all of this gained knowledge to my final year project, for which I produced a sophisticated web application using the most appropriate technologies and a structured methodology. Based on my enthusiasm for both the business and technical aspects of IT, both featuring heavily in the course, IT consultancy seemed the natural career path for me.
Having worked now for over 2 years within IT consultancy, many of the aspects taught during the course have been of great help to me.
- In IT consultancy, a key skill is to be able to pick up and learn a new process or technology very quickly - learning about best practices and concepts has helped a great deal in this respect, where learning a specific technology (as with many other courses out there) might not have been as helpful.
- Learning about software engineering principles has given me a head start as far as developing a system according to a structured methodology is concerned. Working in a team during the Software Engineering module helped me to prepare for working in teams on a client site, different roles of a team and how to best work together for a common goal.
- Learning how IT is currently used in industry gave me a valuable insight into the various systems used in different industry sectors (e.g. in banking, finance, commercial). This is important in IT consultancy, where you may be working on different technologies, with different teams, in different industry sectors, working with a different goal in mind.
- Many of the technologies or languages used throughout the course are very applicable in actual client enterprise systems. Java, UML, C and UNIX have all featured heavily in the systems I have had to work with, and the knowledge gained during the course has helped me to be able to communicate with the developers at a low level, as well as knowing the concepts at a high level for communicating with stakeholders.
- And last but not least, the final year project also aided to develop other skills necessary in both consulting and software development - working closely and reporting to a client/team lead (in our case, our Project Assessor/Mentor!), and presentation skills (as part of the project was assessed in our final presentation).
On another note, I firmly believe the course has all the material necessary to prepare a student for working in an IT-based role. The range of options available in the second and third years enables both the more business-focused and the more technical to benefit from the course, and tailor the course to suit his/her preferences (and potential career path). I actually sometimes wish I had paid a little more attention in some cases, most of the modules I was lectured on have featured in some part in my career so far, and I could potentially have been a bit of an expert in them!