Programme of Study and Year: 4th Year Computer Science and Maths
Intern Position: Web Applications Development Intern
Hobbies: Listening to audiobooks, sewing.
Favourite song right now: Syreny by Artur Rojek (an introduction to Polish music)
Introduction
My name is Zosia, and I am a fourth year Computer Science and Mathematics student. Over the summer I worked full-time as a Web Applications Development Intern at ISG, and I am currently working part-time for the duration of the academic year. I feel like it’s high time for me to reflect on my work and the things I have learnt.
When I first saw the opportunity on the Unitemps website, I knew I had to apply for the role. I have always been interested in working in the education sector, mainly due to my mum being a Maths teacher. I felt like this role could give me some valuable insights into technologies used at the University and I wasn’t wrong.
The Honours Project Portal
My work mostly revolved around the development of a portal for the School of Biomedical Sciences, which is used to allocate students to their honours projects. Since the project was already underway when I joined the team, my big challenge was to understand the parts of the portal that had already been developed. I needed to dig deeper into the code and understand the functionality of the app as well as the approaches used in the development.
After the introductions were done, I jumped straight into development, which was done in a framework called Laravel. At this point, I had never worked with Laravel before, so I had to learn it from scratch. While working on the project I am responsible for the development of both the front and back-end. I am also responsible for writing tests for my features which has turned out to be more frustrating that I had anticipated (more on that later).
Since this project is coming to an end, I am really excited to see what we are going to be working on next and learn more about the technologies used at the university.
Some Reflections
“Seeing the bigger picture”
Since the development process includes working on smaller features that then have to fit into the whole application, it is really important to be able to see “the bigger picture”. Sometimes when I get too focused on solving a smaller task at hand, I forget that it’s just a piece of the puzzle. That’s why I always need to consider other functionalities of the portal to make sure I don’t accidentally change or break them with my work. Unfortunately, a very small change can sometimes break over 100 tests (speaking from experience!). Luckily, everyone in the team is so kind and helpful, so accidentally breaking stuff has turned out to be an amazing learning experience.
Testing your code can be very frustrating
Each feature must be thoroughly tested before its deployed to be used. Unfortunately, tests have turned out to be the most frustrating part of the development (in my humble opinion at least). Sometimes I spend more time trying to figure out why my tests are failing rather than developing the features I am working on. Despite them often being incredibly frustrating, I appreciate that testing is a necessary part of development which can often point me towards issues that I previously missed.
Code reviews are great!
Before any feature is merged in, and deployed, it is first reviewed by another member of the team. Through these code reviews we are able to pick up on any issues, mistakes or inconsistencies. I really appreciate what I can learn from both reviewing my team members code as well as being on the receiving end of a code review. I have been able to learn so much from the feedback I receive on my code and I always try to use the suggested approaches in the future. When doing the code reviews, I can also see how the problems we solve, can be approached from numerous different angles.
Conclusion
I am really happy I decided to apply for this position and managed to get it. I already feel like I have learnt a lot of new skils, and I am excited to see what other learning experiences this internship might bring me. My favourite part about the work I do is getting some insight into the applications used at the University. I feel like as a student I never realised how much time and effort goes into the development of the applications I use on a daily basis.
PS If anyone is working with VSCode, you need to get VSCode Pets!!