Miroslav Levar on the KING ICT Academy: how students developed the application

Yet another KING ICT Academy is now behind us. This is a programme that offers students free education and a paid internship, giving them the opportunity to learn from experts and to experience working in the IT branch first hand. This year was the first time that the Academy was held online, and this format proved to be very successful. A total of 29 students took part in the theoretical part of the programme, and among them, six were selected to work alongside mentors in the practical part – building an application.

One of the mentors, Miroslav Levar (mag. ing. inf. et comm. techn.), a software architect at KING ICT, revealed more about this year’s unusual academy. As an expert with years of software development experience, and a King employee holding some of the industry’s most prestigious certificates, Miroslav succeeded in giving us a layman’s explanation about what the students developed with the help of their mentors, what the application is for, how it will function, and how the entire process unfolded.

Is this the first time that you have served as a student mentor? What are your experiences to date?

I have previously served as a mentor and lecturer, but this was my first time as a mentor in the King Academy. I think I speak for all my colleagues at King when I say that we take this project very seriously, and do our best to extract the maximum potential, to the mutual satisfaction of the students and us at King.

In previous years, I knew that, given my other obligations, I would not be able to dedicate my time to the Academy to the extent I wanted to, and so I did not actively participate in the programme. That is why I was pleased that this year, I was able to “jump in” to this atypical version of the Academy in the midst of the corona-crisis, to share my knowledge and experience, and to assist in creating and implementing the plan and programme.

What was it like working with the students, can you describe a typical working day with them?

This year’s KING ICT Academy was anything but typical, and this included working with the students. The first thing we needed to get use to was the fact that we could only meet virtually. For me, some things are resolved more quickly in direct communication, when sitting around the same table. But that was one of the reasons why this Academy was so interesting to work on. For the first time, I was involved in working with a dislocated team, working remotely. This is a scenario that is not common in the companies in the region. Instead of a problem, I viewed this as an opportunity to experience and learn something new.

The team’s workday began with a daily morning meeting, where team members presented what they worked on yesterday, outlined any problems they encountered and couldn’t resolve, and what they planned to work on that day. After brief coordination, we would resolve any issues and continue to work on the tasks defined in Jiri. We used Discord for communication, and this proved to be an excellent tool, as it provided all the functionalities we needed, such as screen-sharing, video calls, voice calls and chats (text messages).

During the day, each person worked on their own tasks, and depending on our role in the project, documented our work on Confluence or Bitbucket. On the developer side, our work was based on the GitFlow work principle, and at the end of every workday, we would save our changes on Git, while at the end of every “task”, we would open up a “pull request”. After a detailed review of the code, it would end up in the integrated “branch” and in our QA (test) environment. From here, the tester would take over, and conduct both manual testing and automated testing.

Can you tell us about the project, explain it in layman’s terms? What did you do, how did you work, what will this app be for? Can you explain the steps taken?

The project arose as an idea to solve a challenge we currently have. We have a lot of employees, and we all more or less spend time together, but we never fully know which of our colleagues and friends also spend time together, or who would like to participate in a joint initiative. We’ve had problems with organising these kinds of initiatives. Often times, an e-mail just doesn’t get to everyone who wants to participate, or it is sent to too many people who shouldn’t be, or don’t want to be included. Initially, we wanted to resolve the challenge of collecting money and buying birthday presents for our colleagues and friends, as this is the most common event we have. We also succeeded in covering the category of “other” – for other types of celebrations.

The idea was that anyone from our organisation could use their login data to register on our web application, that we later called King Team Gifts. There it is possible to personalise your appearance on the application, by adding a profile picture or avatar, and entering your birthday. Entering your birthday is very important, as the application automatically creates an event for collecting gift money for the person who entered their birthday, where the event would not be visible to the person who is celebrating.  Everyone using the application can see events for other people, and select whether they wish to participate or not. Additionally, users can subscribe for other users, for example, if any event arises for the other user, they will be automatically notified to participate in the newly created event.

This application successfully resolved the challenges of organising events, above all organising the collection of money for birthday gifts, as the events are created automatically, all the appropriate users are notified, and an organiser is designated to collect the money, purchase the gift and present the gift.

The solution was developed as a joint frontend system on React. The backend API was on ASP.NET Core and Java Spring technology. The database runs on MS SQL-u. For authentication, we use a Keycloak server that we configured to “pull in” users, with synchronisation via LDAP.

Which projects in past Academies do you think were the most interesting? Was this the most interesting project to date, and how would you compare it with the others?

This was definitely one of the most demanding projects of the King Academy so far, since we all had to work remotely. The students also encountered React and automated application testing for the first time, and there were many functionalities that we needed to do in a very short period of time. All in all, congratulations to the team for all the hard work invested, and a job well done. I don’t think that our more experienced colleagues would have done a better job.

Among other King Academy projects, I would single out two of them: Tech Radar and Marketplace. Each of these resolved challenges we face, representing two internal tools that the company works with today. In comparison with King Team Gifts, I would say that these two applications have an advantage in that they use more stack technology, and therefore had a more diverse team, with more communication and cooperation, which resulted in better practical experience for the students. The objective of every Academy is to raise the bar a little higher, and make this experience even better, for us and for the students.

Do you think the universities are doing a good job in preparing students for the private sector and the IT branch?

I would say that it depends on the university and the faculty, and also from student to student. Faculties can have weaker or stronger programmes, but the difference between a good student and a poor one is not in what they learn and do during class, but what they learn and do during their free time.

I do believe that there is room for improvement from the faculties. In fact, I am expecting it.

How would you invite other students to also have the courage to apply to your Academy?

Simple. Come, you have nothing to lose.

I would like to stress that the KING ICT Academy is paid and counts towards a student summer internship. In addition to these two benefits, there is another, which is far more valuable. It offers knowledge and experience. If we say that a person is the sum of their experiences, then we can say that they are worth the sum of their value of their experience.