Summer Internship Development 2020: Workload Forecasting

Posted by Yash Mundhra on August 28, 2020

You have probably heard it a ton of times by now: “2020 has been an unforgettable year”. However, the summer of 2020 is truly unforgettable for us, mostly due to the TOPdesk Summer Internship. Together with a bunch of talented students from different backgrounds we started our journey with similar goals in mind; to improve our software development skills, make some money and of course, enjoy the summer holidays!

Team Fortune Tellers

Bootcamp

We had our first official and virtual meeting in the beginning of July, where we met with the rest of the interns for the first time. It was weird at first to meet everyone online, but after a few icebreakers we all found a really good click with each other. We spent the first two week of the internship on a coding bootcamp. Through a fun crash-course on Java programming we learned the ins and outs of Object-Oriented Programming.

We also had a look at front-end programming and learned to use technologies and languages such as HTML, CSS, JavaScript and Vue. In the bootcamp we had various projects to apply our newly learned skills. An example would be creating a ‘Cookie Clicker’ game using HTML, CSS and Vue. During the Scrum and UI design workshop we learned how to work more efficiently as a team and what goes on behind the screens when designing a user interface. No matter how much programming experience you have, there is always something new to learn.

We would like to thank everyone from TOPdesk who was involved with organizing these insightful workshops especially because they had to be conducted online.

Our Project

During the remaining five weeks of our internship we started with our software project. Our project required us to create a software program that would predict the number of tickets (incidents) registered at a help desk on a specific day in the future. Our goal was to simplify the planning process for a helpdesk coordinator. So, let us say a helpdesk coordinator is planning next week’s or even next months’ agenda, we would like to be able to give them an insight into how many incoming tickets they can expect.

We started our project with researching the possible solutions and we realized that there were several ways of deriving a prediction such as: time series analysis, statistical forecasting and regression modeling. In the end, we opted to use deep learning, a subset of artificial intelligence. After settling on deep learning, we spent the next days understanding the concept behind it and exploring the different libraries we could use.  

Deep learning consists out of three main phases: pre-processing, training and validation. In the pre-processing phase we focused on discarding data that would either have a negative or no impact on the prediction. Training the neural network was the main part of our project and it was the first step towards returning an accurate prediction. In the validation phase, we put our trained neural network to the test by checking the accuracy of its prediction.

In the remaining weeks of the project, we used the agile methodology. Together with our product owner Dirk van Zijl, we created a backlog consisting of different user stories. Each of these represent a feature of the application that has to be completed. One particularly useful technique for estimating our workload was ‘Scrum Story Pokering’; a gamified technique for estimating the size and difficulty of our development goals. Through our daily check-ins and regular Scrum board updates, we managed to work in parallel resulting into our team being as efficient as possible.

Social Gatherings

Along with all the hard work and the weekly sprints, we also had our fair share of social gatherings and fun. Due to the Covid-19 regulations we had to find a balance between online ‘borrels‘ and in real life meetups. Of course, it was weird to have a borrel online, but with some drinks and online games such as: Pictionary, Cards Against Humanity, a Pub Quiz or a Music Quiz we were able to look past the online restrictions and enjoy each other’s company. We also had a bunch of days at the office allowing us to meet in real life and enjoy our breaks together by playing Mario Kart, Just Dance or Pool. After office hours, we often went up to the terrace to enjoy an ice cold beer.

One of the highlights of the internship was Dierenpak Dinsdag (Animal Suit Tuesday). A yearly event organized during the Summer Internship, where all the interns and even some other colleagues pull out their best animal outfits to wear at work (See the pictures below). After a day of meetings in our funky outfits, we finished off with a game of beer pong and some pizza at the park with all the other interns. 

Our Dierenpak Dinsdag Outfits

Apart from the weekly drinks and fun office days, we also had one large event with all the interns: The Beach Outing. The outing was not only with the development interns, but also with the interns from Sales & Marketing and Support. We all traveled to the beach of Scheveningen, where we were able take advantage of the warm weather and cooling sea. After a tremendously competitive, yet extremely fun beach volleyball tournament, we closed the day off with a delicious dinner and a ton of drinks!  

The Beach Outing

Finishing Off

All in all, I think I can speak for all of us when saying, ‘we had a wonderful and unforgettable time at TOPdesk’. As of writing this, we are in our final sprint focused on refining the user interface and enhancing our prediction accuracy. While reflecting back on the past seven week, I believe that we have not only developed ourselves personally, but also been able to improve together as a team. If you are considering to join the TOPdesk summer internship, I wouldn’t hesitate for a second and send out my application ASAP!