Making it All Work: Picnic’s QA Engineers

Ryan Whitmore 17 May, 2022 38 - 5 min read

Picnic is more than a grocery delivery company — it’s more accurate to say we’re a tech company. After all, the service we provide to our customers wouldn’t be possible without the tech that underpins it, and that tech wouldn’t be the success that it is without the work of our awesome QA Engineers.

Our QA Engineers are responsible for ensuring all the software (and sometimes hardware) we deliver is of the best possible quality. From Picnic customers to employees, our QA Engineers ensure that we always deliver maximum value to the user.

Being a QA Engineer at Picnic isn’t without its challenges. We have a lot of teams working across multiple domains, which means each project is somewhat unique. Before starting any new project, our QA Engineers make sure that we set ourselves up to succeed by asking a number of key questions, including:

  • What do we want to achieve?
  • What tools will we use and why?
  • What are the pros and cons of different approaches?
  • How can we build a test environment that is as close to the real environment as possible?
  • How will we test it?
  • How will we deploy it?
  • How will we build it (taking into account the backend, frontend, integrations, and any necessary third parties)?
  • How will we use automation?
  • How will we ensure that when this goes live, there will be no negative impact on the user?
  • How will we mitigate risks if something fails? (Yes, we also sometimes have production issues.)

Once our QA Engineers have the answers to these questions (and more) they can begin the project. So, what type of projects do QA Engineers at Picnic get involved in?

FCA: Picnic’s first automated warehouse

One project that put our QA Engineers’ skills to the test was the FCA, Picnic’s automated warehouse. This was a huge project involving teams from all Picnic areas, including strategy & analytics, technology & engineering, people & finance, building & equipment, and of course our awesome Shoppers. The FCA was designed to maximize efficiency and is on track to fulfill more than 100,000 customer orders per week, or close to a million items per day. We even received the Dutch Java User Group’s Innovation Award in 2021 for our Warehouse Control System (part of our FCA). So, where did our QA Engineers come in?

Our QA Engineers were given the crucial task of ensuring the FCA would work as it should when the ‘go-live’ button was pressed (by none other than the Dutch King, Willem-Alexander!). What made the FCA project different for the QA Engineers is that it involved not only the software but also the hardware that makes it all possible. So, how did the team create a test environment for a project on such a massive scale? They built a copy, or model, of the FCA, with which they could run automated tests. By running system tests on this model the team could iron out any kinks and be confident that, when the time came, the FCA would meet all expectations. Of course, a few small adjustments and optimizations would be needed here and there, but that’s to be expected. The result? When it came to picking the first order on-site, the whole process was as smooth as Picnic’s extra-smooth peanut butter!

Talking about the FCA project, QA Lead, Olena Slobodyan, says:

“As a team, we really had to think outside the box. How do we bring the software and hardware together and include the human factor? How do we check that everything works as it should? How can we help with certain areas? It goes beyond making sure that what we deploy is working and that people can use it; it involves making sure a customer’s wine doesn’t go too fast on the conveyor belt! For me, it took me outside of what might be expected for a typical QA role and enabled me to really exercise my brain to tackle these unique challenges.”

The tech that enables the QA magic

To ensure everything in the Picnic world works as it should, the QA Engineers use a variety of different tech and programming languages. Java is the primary language for the backend, and Python is used for test automation, as well as most of the periphery. The team also uses the behave framework, Appium, Selenium, and more. You can learn more about our tech stack here.

Variety is the spice of life

For the Picnic QA Engineers, no two days are the same. They could work on mobile apps or our automated warehouse. They could do WMS-related (Warehouse Management System) work, or work with hardware integration. They might also work on web UI or in distribution, or on algorithms or APIs. There’s no shortage of variety in a QA role at Picnic! After all, we have more than 30 teams!

“Picnic is a real software company. The most fun part is that there are lots of areas you can explore and work in — each team works on different projects. You can work with different tools, different people, and even different countries.” — Oleksandr Pliskin, QA Engineer.

Picnic’s QA Guild

What really sets apart the role of a QA Engineer at Picnic from that at other companies is the QA Guild. The purpose of the QA Guild is to give all QA Engineers the opportunity to get together and share knowledge and look for potential areas of improvement. By aligning in this way, our QA Engineers ensure they are all on the same page and are working with the latest best practices in the domain.

Alongside the QA Guild, QA Engineers at Picnic have lots of opportunities to grow and expand their skillsets. From attending various industry conferences to leveling up their Python or automation skills in the Picnic Tech Academy, Picnic’s QA Engineers have all the recourses they need to stay at the top of their games!

We also have an interesting set-up here at Picnic, in that we have QA Engineers across all our development teams, as well as a QA Platform team. This means every delivery team ideally has a QA Engineer to take care of day-to-day business, and we have a dedicated team of automation specialists, aka the QA Platform Team, that builds and supports automation infrastructure, takes care of test environments, and supports observability efforts of development teams. This setup allows every QA to find what they feel passionate about and grow in that direction with all the support they need.

With Picnic’s rapid expansion, you can be sure that our QA Engineers will continue to have challenging and exciting new projects to work on. As our operations grow across the Netherlands, Germany, and France (and soon beyond), so too will the need for passionate QA Engineers who really want to make a difference in their domain.

HUGE thanks to Picnic QA Engineers Olena Slobodyan, Oleksandr Pliskin, and Julia Zarechneva, for sharing their insights!

If you’re a QA Engineer who wants to help us work on a wide variety of exciting projects, check out our current vacancy to learn more and apply today!

Join Picnic as a QA Engineer

Want to join Ryan Whitmore in finding solutions to interesting problems?