Behind the scenes

How I co-developed our shop’s new top feature – fresh out of university

Marc Zuber
7.2.2023
Translation: Veronica Bielawski

I had the opportunity to contribute to the new warranty score and return rate feature as a newbie employee. Here’s a behind-the-scenes look from my perspective as a junior software engineer.

It’s a late afternoon in mid-November 2022. Team Isotopes, where I’d started work as a junior software engineer two months earlier, is looking intently at a monitor; my colleague Daniel and I have just made the final adjustments to the code. Now, for the first time, we can see our newly developed warranty score and return rate feature, live and with real data. Up to this point, we’d only worked with placeholder values for demonstration purposes.

It’s this moment that fascinates me so much about software development – the moment when the whole chain of automation runs like a well-oiled machine. Data that, in its raw form, can only be interpreted with a great deal of effort is processed fully automatically within fractions of a second into interesting units of information that can be easily understood, both visually and in terms of content.

Of course, at this point, everyone in the team wants to know how their favourite brands perform. We spend the next ten minutes pitting manufacturers of smartphones, graphics cards and headphones against each other. E-scooter and drone manufacturers then also face off.

Fodder for our database

But what goes on behind the scenes to make this new feature work? First off, we need the raw data, i.e. the return and warranty case rates as well as the average warranty case duration for each brand in each category. The values, which we get from Team KickAss in After-Sales Development, are then stored by the business intelligence team Cyclops in a BigQuery database. All data is updated on a daily basis.

For the geeks among you dying for more details: we fetch the data with an automated job and persist it in MongoDB. When you as a customer visit a product’s page, the backend delivers the corresponding data from MongoDB. This is triggered by the product being viewed or the API being called.

Since our shop is available in different countries and the product range of a brand can vary depending on the country, we have to calculate the ranking based on the category, brand and country. One brand’s washing machines might therefore rank first in terms of warranty claims in Germany, for example, while in Switzerland they’re only in second place.

To avoid accessing the database every time someone calls up the latest smartphone and then having to recalculate the entire ranking, we save the most frequently used data. It’s stored in a so-called repository in an in-memory cache. At relatively small memory requirements, this leads to less load on the database and, with that, shorter loading times for our customers. It’s a win-win situation.

As a junior employee, I got to learn a lot about our code while working with our software architect Daniel Wust (left).
As a junior employee, I got to learn a lot about our code while working with our software architect Daniel Wust (left).

Right in the middle of the action as a junior employee

I spent the majority of my time developing this feature by writing C# code for our .NET environment. For example, I put a lot of energy into the logic for ranking brands (mentioned above) and implemented it in a test-driven approach.

Strictly speaking, on paper I’m employed as a backend engineer only, yet I was able to contribute to the entire implementation of the feature – from reading the data from BigQuery all the way to portions of the display logic in the frontend. I mainly have our «feature team» set-up to thank for this flexibility and versatility in my job; from UI design to backend development, one single team is responsible for implementing the entire feature – with the exception of external dependencies, of course.

This – implementing the entire feature, as well as the whole development process – was a highlight for me. For one, I was able to learn a lot about system architecture and software development in C#, especially through pair programming with Daniel, our team’s software architect. What’s more, we’re able to implement the feature efficiently and without administrative overhead. And thanks to continuous deployment, small changes to the feature can be put into operation in the shortest possible time. This allows the less technical roles, such as our user experience designers, direct insight into the current state of development and enables immediate feedback.

Four eyes see more than two – pair programming also improves the quality of the code.
Four eyes see more than two – pair programming also improves the quality of the code.

If you want to learn more about the system landscape at Digitec Galaxus, you can check out our tech stack.

  • Behind the scenes

    Spotlight on our tech stack

    by Nicolas Lefebvre

Back to coding instead of writing articles

Where do I go from here? Developing features like this that I myself want to use as a customer is one of the main motivations for my work. So, I’m looking forward to the next items on Team Isotopes’ to-do list. Without giving too much away, we’ll be dedicating our resources to the reselling of products as well as continuously improving product information.

What features would you like to see in the future? And what do you think of the new transparency-boosting feature? Let me know in the comments!

97 people like this article


User Avatar
User Avatar

Games have fascinated me since childhood. What started off as enthusiasm for Mario Kart on the N64 has developed into a broad fascination for various tech topics. From virtual reality to process automation using code, I'm constantly chasing new hobbies and projects. 


Tech
Follow topics and stay updated on your areas of interest

These articles might also interest you

  • Behind the scenes

    From Lego to iPhones, here’s what our customers search for most

    by Manuel Wenk

  • Behind the scenes

    How a software engineer fell in love with logistics

    by Tiago Santos Baranita

  • Behind the scenes

    Product Development – an eclectic bunch who dislike bureaucracy and learn from mistakes

    by Stefan Müller

37 comments

Avatar
later