Is University worthwhile for a Software Engineer?
After recently graduating a Software Engineer degree at Queen’s University Belfast, I wanted to give a bit of an overview to not only myself but to others looking to pursue a career in Technology. To give a bit of context, I spent 4 years at University with a year in industry during my third year. As well as this I also completed a three-month internship in a Technology company in India over this time.
It should also be said that these are my opinions and many others may have a different University experience.
Year 1 & 2 Fundamentals
For me personally, University provided a great foundation for the basics of programming, networks, databases and taught some core skills such as team-work, problem-solving and communication. I entered University with little programming experience from school having worked mainly with databases. first-year provided a foundation of knowledge whilst second-year further built-on that allowing for more advanced topics to be taught in those significant areas. This allowed for consolidation on what areas of Technology I was best interested in before-entering placement year. The first two-years did in fact provide crucial information to which I use regularly in my day-to-day life as a Software Engineer.
Lack of choice in modules
However, I got frustrated with the lack of freedom of choice in modules from year 1 to 2. With all modules pre-selected in my course I lacked the opportunity to delve into other areas of programming or types. For example, our programming module in second-year providing us a group project where we had to develop an android game. I understand this is done to provide ease of assessment for teachers, but this left me feeling limited in the creativity of choice of technology. Although I did get the choice in year 4 to choose 4 of my modules, I felt at this stage I could have explored more in other areas before making decisions for final year.
Further to this some I felt that a lot of modules focused on the technology or concept per se but there was no real emphasis of entrepreneurship within Technology taught. I felt personally this could have been an optional module to help promote tech start ups and encourage students to take risks and show ambition. Silicon Valley is a hub of start-ups and is something which I feel the University could have better implemented in their courses.
The best parts of University for me where the teamwork modules which gave you a real project which you had to continuously work on with a group of students throughout the year. I felt this best reflected how industry worked with the interdependent nature of group work aiming to complete a given task. Perhaps I have a bias in that this is where I felt most comfortable in or that this is typically the line of work I may be going in to, as opposed to something like a PHD or research and development. However, I felt this really allowed me to progress and develop core skills which are essential to the Software Engineering profession.
Final Year Modules & Teaching
I think the most frustrating thing about University to me was a lack of clarity or feedback from lecturers, especially in final year. There were two modules in particular where a lack of feedback or misleading feedback resulted in a poorer grade than anticipated. For someone who was always committed to doing the best I had felt that if assessment criteria was more clear from the start it would have resulted in a better grade. However in some modules to judge a technical project seemed somewhat counter-productive and subjective to a markers judgement as opposed to the quality, time and effort of the project.
Teaching & Learning Styles
At University there was a mix of learning styles from computer labs and practical sessions to lectures in a lecture hall. However the majority of learning favored the latter. Especially with the practical nature of IT, I felt frustrated, bored and disengaged learning in a lecture hall with hundreds of other students watching a lecturer reading off slides from a power-point. This felt somewhat traditional and impractical. I found it hard to be motivated to attend University just to be talked at. Despite of this the lab sessions and practical work were much more enjoyable. This style of learning perhaps suited myself better. Although some lab sessions were accommodated by a lecturer and three or four senior students which meant you didn’t always get the help you required.
Upon reflecting on University, I believe the best thing about my experience was the amount of opportunities it provided. I managed to attain a scholarship which provided myself with 3 months work-experience during the summer of first-year and had the opportunity to complete a global internship during the summer of my second-year University. Without the credit of being enrolled in such a prestigious University I would have felt this would have been difficult to receive. As well as this the University provided plenty of hackathons, workshops, talks, career fairs, competitions and volunteering opportunities to boost your CV. This is something I felt the university excelled in. They provided great exposure to industry, as well as getting to network with IT professionals. In fact you could almost be spoilt for choice, and made it difficult in deciding which events to go to.
My experience within industry due to these opportunities really helped consolidate the base of learning which was taught during University but allowed for the knowledge to be applied to a much more technical domain. It also provided a great place to practice and understand the core skills needed for industry and gather an understanding of what role best suited me.
I think my biggest frustration with University was some of the arbitrary means of assessment which did not reflect industry. For example, programming tests which were timed and no access to the internet. Again I understand that this is a fair way of assessing a number of pupils but in spite of this, it seemed unfair that your university grade which could affect future career prospects could be decided off tests which did not represent some of your skill set. When in reality there will be at no time during your work would you be assessed like this. Much of the criticism of the technical programming interview can be compared to this.
To summarize I believe University provided me with a platform to get better opportunities, however I felt after my placement year, the final year was some what of a redundant test that had to be completed in order to achieve a degree. Overall, I found University productive as it did allow me to gain a great foundation for learning the core concepts of software engineering, however much of the key lessons I had learned outside of the classroom. I would not necessarily advise against University but there is definitely paths that would provide a quicker learning curve and better experience.
I felt what was a four year course with a year-in-industry could have been completed in 2 years but hindsight is a wonderful thing and may not always be accurate.
I would also love to hear some of your University experiences related to Technology to see if they are similar to mine or not.