Uw gegevens. Uw keuze.

Als je alleen het noodzakelijke kiest, verzamelen we met cookies en vergelijkbare technologieën informatie over je apparaat en je gebruik van onze website. Deze hebben we nodig om je bijvoorbeeld een veilige login en basisfuncties zoals het winkelwagentje te kunnen bieden.

Als je overal mee instemt, kunnen we deze gegevens daarnaast gebruiken om je gepersonaliseerde aanbiedingen te tonen, onze website te verbeteren en gerichte advertenties te laten zien op onze eigen en andere websites of apps. Bepaalde gegevens kunnen hiervoor ook worden gedeeld met derden en advertentiepartners.

Achter de schermen

Hoe ik de nieuwe topfunctie van onze winkel mede ontwikkelde - net van de universiteit

Marc Zuber
7/2/2023
Vertaling: machinaal vertaald

Ik kreeg de kans om als nieuwe medewerker bij te dragen aan de nieuwe functie Garantiescore en Retourpercentage. Hier is een kijkje achter de schermen vanuit mijn perspectief als junior software engineer.

Het is een late middag halverwege november 2022. Team Isotopes, waar ik twee maanden eerder als junior software engineer aan de slag ben gegaan, kijkt aandachtig naar een beeldscherm; mijn collega Daniel en ik hebben net de laatste aanpassingen aan de code gedaan. Nu kunnen we voor het eerst onze nieuw ontwikkelde garantiescore en retourpercentage zien, live en met echte gegevens. Tot nu toe hadden we alleen gewerkt met placeholderwaarden voor demonstratiedoeleinden.

Het is dit moment dat me zo fascineert aan softwareontwikkeling - het moment waarop de hele automatiseringsketen loopt als een goed geoliede machine. Gegevens die in hun ruwe vorm alleen met veel moeite geïnterpreteerd kunnen worden, worden binnen fracties van een seconde volautomatisch verwerkt tot interessante informatie-eenheden die zowel visueel als inhoudelijk goed te begrijpen zijn.

Op dit punt wil iedereen in het team natuurlijk weten hoe hun favoriete merken presteren. De volgende tien minuten besteden we aan het tegen elkaar uitspelen van fabrikanten van smartphones, grafische kaarten en koptelefoons. Fabrikanten van e-scooters en drones nemen het vervolgens ook tegen elkaar op.

Voer voor onze database

Maar wat gebeurt er achter de schermen om deze nieuwe functie te laten werken? Om te beginnen hebben we de ruwe gegevens nodig, dat wil zeggen het aantal retourzendingen, garantiegevallen en de gemiddelde duur van garantiegevallen voor elk merk in elke categorie. De waarden, die we krijgen van Team KickAss in After-Sales Development, worden vervolgens door het business intelligence team Cyclops opgeslagen in een BigQuery database. Alle gegevens worden dagelijks bijgewerkt.

Voor de geeks onder jullie die meer details willen: we halen de gegevens op met een geautomatiseerde taak en slaan ze op in MongoDB. Wanneer jij als klant een productpagina bezoekt, levert de backend de bijbehorende gegevens vanuit MongoDB. Dit wordt getriggerd doordat het product wordt bekeken of de API wordt aangeroepen.

Omdat onze winkel in verschillende landen beschikbaar is en het productaanbod van een merk per land kan verschillen, moeten we de ranglijst berekenen op basis van categorie, merk en land. De wasmachines van een bepaald merk kunnen bijvoorbeeld in Duitsland op de eerste plaats staan wat betreft garantieclaims, terwijl ze in Zwitserland pas op de tweede plaats staan.

Om te voorkomen dat we elke keer dat iemand de nieuwste smartphone oproept de database moeten raadplegen en dan de hele ranglijst opnieuw moeten berekenen, slaan we de meest gebruikte gegevens op. Deze worden opgeslagen in een zogenaamde repository in een in-memory cache. Bij een relatief klein geheugenbeslag leidt dit tot minder belasting van de database en daarmee kortere laadtijden voor onze klanten. Het is een win-winsituatie.

Als junior medewerker leerde ik veel over onze code terwijl ik samenwerkte met onze softwarearchitect Daniel Wust (links).
Als junior medewerker leerde ik veel over onze code terwijl ik samenwerkte met onze softwarearchitect Daniel Wust (links).

Midden in de actie als junior medewerker

Het grootste deel van mijn tijd heb ik besteed aan het ontwikkelen van deze functie door C# code te schrijven voor onze .NET omgeving. Ik heb bijvoorbeeld veel energie gestoken in de logica voor het rangschikken van merken (hierboven genoemd) en deze geïmplementeerd in een testgestuurde aanpak.

Strikt genomen ben ik op papier alleen werkzaam als backend engineer, maar toch kon ik bijdragen aan de volledige implementatie van de functie - van het inlezen van de gegevens uit BigQuery tot delen van de weergavelogica in de frontend. Deze flexibiliteit en veelzijdigheid in mijn werk heb ik vooral te danken aan onze "feature team" opzet; van UI-ontwerp tot backend ontwikkeling, één enkel team is verantwoordelijk voor de implementatie van de hele functie - met uitzondering van externe afhankelijkheden, natuurlijk.

Dit - het implementeren van de hele functie en het hele ontwikkelproces - was een hoogtepunt voor mij. Ten eerste heb ik veel kunnen leren over systeemarchitectuur en softwareontwikkeling in C#, vooral door paarprogrammering met Daniel, de softwarearchitect van ons team. Bovendien konden we de functie efficiënt en zonder administratieve overhead implementeren. En dankzij continuous deployment kunnen kleine veranderingen aan de functie binnen de kortst mogelijke tijd in gebruik worden genomen. Dit geeft de minder technische rollen, zoals onze gebruikerservaringontwerpers, direct inzicht in de huidige stand van de ontwikkeling en maakt onmiddellijke feedback mogelijk.

Vier ogen zien meer dan twee - pair programming verbetert ook de kwaliteit van de code.
Vier ogen zien meer dan twee - pair programming verbetert ook de kwaliteit van de code.

Als je meer wilt weten over het systeemlandschap bij Digitec Galaxus, kun je onze tech stack bekijken.

Terug naar coderen in plaats van artikelen schrijven

Waar ga ik nu naartoe? Het ontwikkelen van functies zoals deze die ik zelf als klant wil gebruiken is een van de belangrijkste motivaties voor mijn werk. Ik kijk dus uit naar de volgende punten op de takenlijst van Team Isotopes. Zonder al te veel te verklappen, zullen we onze middelen wijden aan de verkoop van producten en aan het voortdurend verbeteren van de productinformatie.

Welke functies zou je in de toekomst willen zien? En wat vind je van de nieuwe transparantieverhogende functie? Laat het me weten in de comments!

98 mensen vinden dit artikel leuk


User Avatar
User Avatar

Van jongs af aan ben ik gefascineerd door spelletjes. Wat toen Mario Kart was op de N64 heeft zich ontwikkeld tot een brede fascinatie voor diverse tech onderwerpen. Van virtual reality tot procesautomatisering met behulp van code, ik word voortdurend geconfronteerd met nieuwe hobby's en projecten. 


Achter de schermen

Nieuws over functies in de winkel, informatie van marketing of logistiek en nog veel meer.

Alles tonen

Deze artikelen kunnen je ook interesseren

  • Achter de schermen

    Meer AI en nog meer prijstransparantie - het "Hackfest" levert ideeën en resultaten op

    van Martin Jungfer

  • Achter de schermen

    Lego en iPhone: waar klanten het vaakst naar zoeken

    van Manuel Wenk

  • Achter de schermen

    Hackfest: 3 dagen, 27 teams, tonnen nieuwe winkelfuncties gecodeerd

    van Martin Jungfer

37 opmerkingen

Avatar
later