Frisch ab Studium am neuen Top-Feature mitentwickelt
Hinter den Kulissen

Frisch ab Studium am neuen Top-Feature mitentwickelt

Marc Zuber
7.2.2023

Als Berufseinsteiger konnte ich am neuen Transparenz-Feature zur Garantiefall- und Retourenquote mitwirken. Aus meiner Warte als Junior Softwareentwickler gebe ich einen Blick hinter die Kulissen.

Es ist ein später Nachmittag Mitte November 2022. Das Team Isotopes, bei dem ich zwei Monate zuvor als Junior gestartet war, guckt gespannt auf einen Monitor: Mein Kollege Daniel und ich haben gerade die letzten Anpassungen am Code vorgenommen und zum ersten Mal sehen wir unser neu entwickeltes Feature zur Garantiefall- und Retourenquote live und mit echten Daten. Bis anhin hatten wir zu Demonstrationszwecken lediglich mit willkürlichen Werten gearbeitet.

Es ist dieser Moment, der mich an der Softwareentwicklung so sehr fasziniert: Der Moment, in dem die ganze Kette der Automation wie eine gut geölte Maschine läuft. Daten, die in Rohform nur mit sehr viel Aufwand interpretierbar sind, werden innert Bruchteilen einer Sekunde vollautomatisch zu visuell und inhaltlich gutverständlichen und spannenden Informationseinheiten aufbereitet.

Jetzt wollen natürlich alle im Team wissen, wie denn die eigenen Lieblingsmarken abschneiden. In den nächsten zehn Minuten werden sich also Smartphone-, Grafikkarten- und Kopfhörer Hersteller gegenübergestellt. Und auch Marken von E-Scootern und Drohnen kommen in den Ring.

Futter für unsere Datenbank

Was aber passiert hinter den Kulissen des neuen Features? In einem ersten Schritt brauchen wir natürlich die besagten Rohdaten, also die Rückgabe- und Garantiefallquoten sowie die durchschnittliche Garantiefalldauer der jeweiligen Marke für die entsprechenden Kategorien. Die Werte, welche vom After-Sales Entwickler-Team KickAss bereitgestellt werden, speichert das Business-Intelligence-Team Cyclops in einer BigQuery-Datenbank für uns ab. Die Daten werden dabei täglich aktualisiert.

Für die Geeks unter uns mit mehr Details: Wir holen die Daten mit einem automatisierten Job ab und persistieren sie in unserer MongoDB. Besuchst du als Kunde nun die Produktdetailseite, dann liefert das Backend die entsprechenden Daten aus der MongoDB aus. Und zwar anhand des betrachteten Produkts beziehungsweise anhand der aufgerufenen API.

Da unser Shop in verschiedenen Ländern erreichbar ist und die Produktpalette einer Marke je nach Land variieren kann, müssen wir die angezeigten Ränge je nach Kategorie, Marke und Land eigens berechnen. Waschmaschinen einer Marke können also z.B. in Deutschland die Spitzenreiter bezüglich Garantiefallquote sein – während es in der Schweiz nur auf den zweiten Platz reicht.

Damit nun nicht bei jedem Aufruf des neuesten Smartphones wieder und wieder auf die Datenbank zugegriffen wird und anschliessend alle Ränge neu berechnet werden müssen, speichern wir uns die meistverwendeten Daten ab. Das geschieht in einem sogenannten Repository, in welchem wir uns die Daten in-memory im Cache halten. Dies führt bei verhältnismässig kleinem Speicherbedarf zu weniger Last auf der Datenbank und somit auch zu kürzeren Ladezeiten für unsere Kundschaft. Eine Win-Win-Situation also.

Als Junior durfte ich bei der Zusammenarbeit mit unserem Software Architekten Daniel Wust (links) viel über unseren Code lernen.
Als Junior durfte ich bei der Zusammenarbeit mit unserem Software Architekten Daniel Wust (links) viel über unseren Code lernen.

Als Junior mittendrin

Ich selbst habe den Grossteil meiner Zeit bei der Entwicklung dieses Features mit dem Schreiben von C# Code für unsere .NET-Umgebung verbracht. So habe ich beispielsweise viel Energie in die oben erwähnte Logik für die Rangfolge der Marken gesteckt und diese in einem Testgetriebenen Ansatz umgesetzt.

Auf dem Papier bin ich streng genommen nur als Backend-Engineer angestellt, dennoch konnte ich sowohl vom Lesen der Daten aus der BigQuery bis hin zu Teilen der Anzeigelogik im Frontend bei der gesamten Umsetzung mitwirken. Diese Flexibilität und Vielseitigkeit meines Jobs verdanken wir vor allem der Arbeitsweise in den Feature Teams: Von UI-Entwürfen bis hin zur Backend-Entwicklung setzen wir das gesamte Feature für den Onlineshop in einem Team um – mit Ausnahme externer Abhängigkeiten, versteht sich.

Diese Vollumfängliche Umsetzung des Features sowie der gesamte Entwicklungsprozess waren für mich ein Highlight: Einerseits konnte ich insbesondere im Pair Programming mit Daniel, dem Softwarearchitekten in unserem Team, extrem viel über die Systemarchitektur und Softwareentwicklung in C# lernen. Andererseits konnten wir das Feature effizient und ohne administrativen Overhead umsetzten. Auch kleine Änderungen am Feature können wir dank Continuous-Deployment in kürzester Zeit in Betrieb nehmen. Dies erlaubt den weniger technischen Rollen wie unseren User Experience Designern direkten Einblick in den aktuellen Entwicklungsstand und ermöglicht sofortiges Feedback.

Vier Augen sehen mehr als zwei: Pair-Programming verbessert auch die Qualität des Codes.
Vier Augen sehen mehr als zwei: Pair-Programming verbessert auch die Qualität des Codes.

Falls du mehr über die Systemlandschaft bei Digitec Galaxus erfahren möchtest, findest du hier unseren Technologie Stack.

  • Hinter den Kulissen

    Schnips: Hier ist unser Tech-Stack

    von Nicolas Lefebvre

Zurück zu Code statt Artikel schreiben

Wie geht es jetzt für mich weiter? Die Entwicklung solcher Features, welche ich selbst als Kunde verwenden will, ist für mich einer der Hauptmotivationsgründe für meine Arbeit. Somit freue ich mich auch auf die nächsten Punkte auf der To-do-Liste der Isotopes. Ohne zu viel zu verraten: Wir werden uns dem Wiederverkauf von Produkten sowie der stetigen Verbesserung der Produktinformationen widmen.

Welche künftigen Features wünschst du dir von uns? Und was hältst du vom neuen Transparenz-Feature? Lass es mich in der Kommentarspalte wissen.

97 Personen gefällt dieser Artikel


User Avatar
User Avatar

Seit klein auf bin ich begeistert von Games. Was damals noch Mario Kart auf der N64 war, hat sich zu einer breiten Faszination für diverse Tech-Themen entwickelt. Von Virtual Reality bis hin zur Prozessautomatisierung mittels Code sehe ich mich heute ständig mit neuen Hobbies und Projekten konfrontiert. 


Tech
Folge Themen und erhalte Updates zu deinen Interessen

Diese Beiträge könnten dich auch interessieren

Kommentare

Avatar