Coding Camp @ itestra

I had the opportunity to take part in the itestra Coding Camp 2022 in Munich. The Coding Camp took place from the 2nd to the 9th of September. 13 other students from universities such as Technical University of Munich (TUM) and RWTH Aachen University also participated in the event.

The itestra GmbH is a medium-sized company. Founded in 2004 it is located in Munich, but has more than 10 branches in three countries. With a team of than 90 employees they focus on building and modernizing enterprise software solutions.

The event opened with a brief introduction of the company and the people attending. Afterwards the two projects we would work on over the next week were presented. The first project was a web-based brainstorming platform with automatic contribution clustering. The second project was a web application that could search for similar furniture using webassembly to process a given image of a piece of furniture to which algorithms / machine learning would be applied.

I joined the team working on the first project. We started with a short brainstorming session ourselves, exchanging ideas regarding the requirements, tasks, user experience, programming languages, data format, and the data content. Based on our team’s experience, we decided to use Flask as the server framework and Vue3 as the front-end framework. As we didn’t have anyone with deep knowledge of machine learning, no decisions were made regarding algorithms or frameworks. We decided that we would limit contributions to strings in the beginning, and if we still had time, we would allow different types of contributions.

To tackle the task, we split our team to work on machine learning, backend and front-end. I was part of the front-end team and took on the role of a technical lead and developer. As the week progressed, we shifted our members to different teams as the backend progressed much faster than the frontend and machine learning.

Since I had little experience with Tailwind and had never used web socket connections in a project, I learned a lot during the week. Also, this was my first project where I wasn’t the sole developer, so I had the experience of supporting my team members and actively asking for their support. Working on a Git repository with 7 people brings some problems, but all of them could be solved.

Our final product used Flask, SQLAlchemy, and Flask-SocketIO, for the backend and Vue, Vue Router, Pinia (for state management), SocketIO, and Tailwind CSS for the front-end. We used SocketIO to have the ability to send messages from the server to the client, as this was necessary to ensure that all clients receive up to date contributions and clustering information. The machine learning team tested several algorithms such as KMeans, DBSCAN, and OPTICS for clustering. In our use case, fastText in combination with Gaussian Mixture worked best.

The event was accompanied by a trip to Schliersee, AirHopping and an evening event that gave us insights into the company and the working environment, organized by a great HR team, and ended with a project presentation and a sweet but bitter farewell.

If you are currently a student at a (German) university and have the opportunity to participate in an itestra Coding Camp, I would highly recommend it. Here you can find events hosted by itestra.

Finally, I would like to thank my great team for the excellent cooperation and the wonderful week. I hope to see you all again soon.