Jobs Available job

Senior Software Engineer – Data Streaming Help teams develop even deeper customer understanding

Utrecht
Bachelor / Master
Go straight to:

How do you make our customers happy?

Bol.com is changing retail to make the daily lives of 11 million customers easier. We cannot and wouldn’t want to go about that alone. And we don’t. We team up with 35,000 commercial partners who enrich our retail tech platform with their unique products. Partners who are in turn empowered by, among many other things, real-time insights into customer behavior that our large tech community facilitates. How do customers and partners interact on and with our platform? What are the pain points? And how can we improve our service? As Senior Software Engineer – Data Streaming, you find the answers to these questions!

The biggest challenge

Processing roughly 40,000 messages per second, our streaming data environment is big and growing fast. More precisely, we currently process ~5 TB, each day, every day. And measuring through a streaming data platform is just the first step. Capitalizing upon those measurements (actionable insights are pivotal) is on another plane. So yes, streaming data has a bright future at bol.com, but to provide the right insights on time and in a palatable format, we also need to constantly improve our architecture.

Your responsibilities as Senior Software Engineer – Data Streaming

  • You develop a scalable distributed streaming platform that processes TBs of data per day
  • You monitor and continuously improve the performance of our Google Cloud infrastructure
  • You develop and maintain our real-time streaming stack, based on Apache Flink and Apache Kafka (libraries, services, streaming, processing and documentation)
  • You optimally structure the measurement schema and ensure it is available and ‘meaningful’ to the teams that work with the data

That may sound strictly technical, but the role of Senior Software Engineer – Data Streaming requires more than coding prowess alone. After all, as a thought leader within your field, we fully expect you to support and consult the teams that rely on our measurements, making sure the user interaction data we collect is easy to interpret. Your goal is not to deliver data as such, but to provide data that allows individual users to make well-informed, customer-centric decisions. In short, you strive for relevance and ‘legibility’. The impact is huge; you and your team service data systems that are pivotal to many of our data science and machine learning endeavors. These include our product recommendations, search features and experimental services, as well as core operational processes, such as advertising and attribution. All of these initiatives can make or break the strategic decision-making process. So it’s not ‘just’ about mastering the hardcore data stuff, you also need a keen grasp of your users’ expectations: what type of data do they require, in what format and structure, how will they use the data and what are their goals? These are key considerations when gathering requirements, performing analysis, designing structures and supporting stakeholders.

What we currently love and work with:

  • Mostly Java and Kotlin
  • Avro as a data format
  • Google Cloud
  • Data streaming and processing tools like Flink, Kafka and Dataproc
  • Storage tools, such as Google BigQuery
  • Apache Airflow for scheduling batch jobs

Why you can make a difference?

Because you genuinely enjoy deploying frequently and iterating quickly. And because you are a great Java engineer with a proven track record with distributed systems, preferable data intensive applications. That last bit would be a big plus, because the use cases you support require high performance and low latency, so keeping the platform added latency to an absolute minimum is key. We would particularly welcome someone who enjoys gathering a deep understanding of the inner workings of the software and libraries we use to build our platform.

3 reasons why this is(n’t) for you

  • Yes, if you can reliably deliver time-critical data by the terabyte
  • Yes, if you rather work on impactful products than on proofs of concepts that will most likely be discarded
  • Yes, if your Java development skills are undisputed among your peers
  • No, if business considerations only exist to be ignored; #letthemeatcode
  • No, if you hate Agile and never take the pragmatic route anywhere
  • No, if you are allergic to fun and haven’t laughed out loud since you were a toddler

Where you’ll work

At the premier online retail tech platform in the Netherlands and Belgium. A platform where 11 million Dutch and Belgian customers can choose from over 20 million articles. A platform that helps 35,000 commercial partners run their businesses. And a platform that will never be ‘finished’, because bol.com has been reinventing retail since 1999. And we always will be. If there’s a better way to do something, we’re working on it! Together with our customers, partners, and over 2,000 colleagues. And hopefully together with you. Let’s change retail together to make everyday life easier. Our tech community shares an ambition to work hard and play hard in equal measure. The setting is pioneering, and autonomy is actively encouraged. Our teams deploy their own code to the production environment. And you can socialize on our soccer field, in the games room and in the bar on Friday afternoons. Gezellig!

What you get

What you get

  • Attention to you

    We are continuously focused on innovation and getting better every day. Because we work in a dynamic environment and our organization is growing rapidly, your development will grow together with bol.com.
  • Money and more...

    Working at bol.com is challenging and therefore you get something in return. Besides salary, you will receive a yearly bonus, holiday allowance, holiday entitlement of 29 days, travel allowance, group insurance and more.

How it works

  1. Carefully, we take a look at your application. Within 2 weeks you know if we invite you for an interview.
  2. We call you to set up an interview. And since we’re already talking: feel free to ask any question you may have.
  3. In this first interview we’ll get to know each other. We want to find out more about you. Work experience is interesting, but we also want to find out more about you as a person. Together, we’ll find out if this job is a match made in heaven.
  4. Before the next interview we will ask you to take an online assessment. We’ll also discuss the position and your team in depth.
  5. 2 interviews are usually enough to see if it’s a match. And if you agree… well, it’s the beautiful beginning of your career at bol.com :)

Any questions? Contact

Apply right away Will you help teams develop even deeper customer understanding?

CV/ resume (Word or PDF only, max. 10 MB))
Upload
Cover letter (Word or PDF only, max. 10 MB))
Upload