How to write MapStruct mappers for object hierarchies

    Nick Tinnemeier, on 1-02-2021
    Category: Development

    Introduction MapStruct is a framework that alleviates us, programmers, from the unexciting task of writing code to copy one object model to another, field by field. This blog elaborates on how to write MapStruct mappers for object hierarchies. If, after reading this, you still wonder what MapStruct is and what it can do for you, then this blog might be a good read: https://techlab.bol.com/mapstruct-case-study/. To already spoil the fun, MapStruct is not able to generate mappers for classes that all inherit from the same (abstract) base class or interface. In…

    Read more

    Mapping object models with MapStruct – a case study

    Nick Tinnemeier, on 6-01-2021
    Category: Development

    Introduction I was once told that a good programmer is a lazy programmer. A good programmer avoids typing tedious code, where the code could basically write itself. Self-writing code – wouldn’t that be great? Unfortunately, we’re not quite there yet. We show you how close to self-writing code you can get. In this blog we will present a case study using MapStruct for mapping object models. In particular, we zoom in on how the MapStruct framework alleviates us from the dull task of writing code to copy one object model…

    Read more

    Spaces Talk #5: Super Mario’s Dive Through The Gitlab Pipelines

    Patrick van Dissel, on 5-10-2020
    Category: Cloud, Development, Testing

    Spaces Summit is our annual internal bol.com conference for IT, by IT, and friends: Two fun days of inspiration, knowledge sharing, bragging, and community. This year, our 4th edition, was our first digital version of the summit. All our summits are recorded and published on YouTube, free to watch for everyone. Check https://spacessummit.bol.com for all info on all our summits and their recordings. As one of the organizers of Spaces Summit 2019 and 2018, as well as mentor of the 2020 organizers, I’m proud that we were able to very…

    Read more

    Creating a paradigm shift for bol.com marketing attribution

    Ivan Budincevic, on 8-09-2020
    Category: Data Science & AI, Development

    This year at Spaces Summit, the bol.com annual internal IT conference, I presented a talk about the work our team, Team SmartAds, has been doing in creating a new marketing attribution truth for our platform. About the talk How do we verify that we are using our marketing budget effectively? As bol.com, we are spending a considerable amount of our budget on digital marketing. Because of this, we need to be able to allocate this budget in the most effective, data-driven way possible. The four main methods for determining marketing…

    Read more

    Spaces Talk #4: From prototype to production. A real-life cloud story.

    Quiran Storey, on 24-08-2020
    Category: Architecture, Cloud, Infrastructure, Development

    This year the bol.com Spaces Summit was held virtually and Anastasija and myself, Quiran Storey, presented a talk on a topic that is close to our daily work “From prototype to production. A real-life cloud story.” About the talk All things start out as ideas, or prototypes, and our R2D2 is no different. In this talk we will give you a glimpse of how bol.com’s self-service cloud provisioning tool came to be. But also how it is constantly evolving from a proof of concept to a full-on production system. We…

    Read more

    Spaces Talk #2: Introduction to Sociotechnical Architecture

    Eduardo da Silva, on 27-07-2020
    Category: Architecture, Development

    I’ve had the great pleasure of giving a talk at the Spaces Summit 2020, the internal bol.com Tech conference. About the talk Maximizing the impact of our products is more than just thinking about their technical architecture. Doing so would lead to just partially optimizing their potential impact. Instead, we need to follow an approach that also recognizes people (i.e. the teams building the products) as a central element in the design space. This way of co-designing is termed “Sociotechnical Architecture”. In my talk on this topic, I first lay…

    Read more

    Video: My Chaos Engineering presentation

    Luc Kleeven, on 9-07-2020
    Category: Blog, Development

    During the spaces summit this year, I did a talk on “Chaos Engineering: Why we should embrace chaos”. About me I’ve been working as a software developer since 2008 and have been at bol.com since 2016. I’m passionate about code quality: clean code, testing, reliability, etc. I recently learned about chaos engineering and I think it might be the next new tool in our developer toolkit to improve our code quality even further! About the talk Chaos engineering is the practice of doing experiments on your system to gain insights…

    Read more

    Our ride to peak season frontend performance

    Edwin van der Graaf, on 25-02-2020
    Category: Development

    We can imagine that at a regular company your colleagues might become very nervous when you worsen the frontend performance by more than a second on the onload, just before the peak season. In this story we’d like to share our journey from experiencing a setback in performance that was caused by us innovating, to the point where we became the retailer with the second fastest frontend response times (Twinkle and Computest benchmark study) in the Netherlands. Before diving into the details, it’s worth mentioning that we as software engineers…

    Read more

    Integration testing Pub/Sub interactions in your application

    Mark Krijgsman, on 18-02-2020
    Category: Development

    As part of the Google Cloud Platform (GCP), Google provides Pub/Sub as its queuing mechanism. After creating a Pub/Sub topic in GCP, you can create publishers to send messages to a topic and subscribers to receive messages from a topic. In order to send or receive Pub/Sub messages from GCP, you can choose to authenticate with GCP through user account or service account credentials. This has one disadvantage; when running your build either locally or on a build server such as Gitlab, your application will attempt to communicate with GCP for its Pub/Sub interactions. Your build will either…

    Read more

    Introducing Stanley: bol.com highway to (heaven) BigQuery

    Deepank Gupta, Sourygna Luangsay, on 19-11-2019
    Category: Architecture, Cloud, Business Intelligence, Development

    Yes, it’s confirmed! Bol.com is going to the Cloud! The contract with Google has been recently signed, which gives us about 1 year to migrate from Platfora (our BI visualization tool), before it stops having support.   1 year thus to migrate many datasets and dashboards to the Cloud. The tools in Google Cloud are great, and our colleagues are too; so, what could possibly go wrong?… At least this is what we thought in 2017… Our Big Data situation in 2017 Bol.com was storing its Big Data on Hadoop…

    Read more