Interview with Dr.Max (not only) about Development

In order to optimize the content editor on the Dr.Max project, colleagues from Prague visited us at the end of October. We took this unique opportunity, prepared questions and filmed an interview with them. If you missed it on our social media, we’re offering you its “written” version. You’ll find out, for example, what caused the longest, 15 hours-long page crash, or that when selecting new developers for a project, the character matters more than the number of years in development. 

What technologies do you currently use on the Dr.Max internet pharmacy project?

Jan Klat (e-commerce solution architect): At the moment, it revolves mainly around two technologies. We have backend that is built on Magento, which is PHP, and we use a JavaScript application built on Vue.js on frontend. The whole techstack is available for viewing here:

Based on what criteria did you decide on Magento?

Jan: I wasn’t there when the solution was being chosen, I’m rather trying to figure out how to move on from it.

Peter Varga (e-commerce platform manager): In fact, none of us were there for the selection process, so it’s difficult to judge. But I’d say that one of the basic parameters was the use of Magento in version 1 on the project. The management was probably satisfied with it and so they also embarked on Magento 2, which represented a significant shift and solved most of the problems that existed at that time.

Jan, you’re talking about moving on. So do you plan to introduce any new technologies on the project?

Jan: Yes. For example, currently, the biggest theme for us is DevOps. The entire structure is shifting under the Azure Kubernetes services and we strive for the infrastructure team to work closely with the developers on this transformation. At the same time, we’re currently working with teams on how to get from the monolith that Magento represents, closer to the service architecture on the backend side. In this respect, we focus mainly on NodeJS and GoLang.

So the developers themselves have a say in the choice of technology?

Jan: Definitely. When we’re deciding on what to use and how to use it, we also consult with the team. For example, we regularly meet with teamleaders of product teams on the so-called architectural guild, where we deal with operational issues and our technological direction. Although we’re bound by the set “ecosystem” in the Magento area, for example, we try to give the teams freedom. We present them with a direction and let them find their own way within it.

What technical security do you have on the project in case the server crashes?

Jan: We have two teams who take care of our support 24/7. One part is more software and the other consists of a DevOps team which takes care of the infrastructure. The boys cooperate with each other, they guard the project and when an incident comes up, they immediately deal with it and try to either get the page back to functional status from the backup or quickly prepare a repair.

What longest crash have you recorded?

Peter: The longest one was probably a 15-hour crash of our Italian version. It was caused by a human error in the datacenter – a colleague simply misclicked. The restoration was difficult, but the team worked hard all night and gradually restored the correct version. Why it took up to 15 hours, that’s for a longer discussion – we’ll be happy to tell it in detail to everyone who joins us on the project ?

Which period of project operation was the biggest challenge for you?

Marek Beniak (common product owner): The biggest challenge is always a period of release of some bigger feature. For example, when we migrated whole countries, changed the checkout process in the Czech Republic or now when we’re dealing with an upgrade of the entire Magento, which of course has an impact on a number of integrations. The biggest problem is to test it all well in advance and then prioritise which mistakes we can let into production and which block it and therefore we have to correct them. Release must be done as a whole, it cannot be done in small pieces. 

What do you consider to be the most important when developing such a large solution as Dr.Max?

Marek: The biggest complication of development of the Dr.Max e-shop is that it’s actually 5 e-shops in 5 countries. Although we try to “build” them as one, they are subject to different legislation, marketing approaches and a different position on the market. We have more than 20 pharmacies in Italy, more than 400 in Slovakia and more than 600 in Romania. Therefore, even if we’re developing a single solution, it must operate in different environments, according to local legislative rules. 

Does this mean that you work closely with lawyers, translators and marketers as early as the development stage?

Peter: Absolutely. Especially with lawyers and individual countries. They ultimately bear the responsibility for ensuring that everything is in order from the point of view of the law. So, in many cases, it’s the lawyers in each country who are our greatest enemy. I don’t mean this in a bad way, they’re doing it all for good reasons, because, although we’re only working within the EU, the legislation of the individual countries simply won’t budge.

Speaking of the EU, what are your ambitions in the European e-commerce market?

Peter: Certainly only the highest ones ? We would like to stabilize our leading position on the European market and in addition, gain some other markets. We believe that our strong offline position, where we have a total of over 2,300 pharmacies, will help us to do so.

What do you consider to be the greatest success for the Dr.Max project in terms of business and teamwork?

Markéta Čonka (e-commerce scrum master): I value the people and the culture we have set the most. If I had to sum it up in one word, trust comes to mind. We try to be open to each other, give each other feedback, even negative feedback, and not settle for the minimum, but constantly improve. And last but not least, there’s also the notorious “work hard – play hard”. I believe that we can fully immerse ourselves in work, but, if necessary, also reward ourselves for it.

Peter: From a business point of view, it’s the ability to continue to grow in the individual countries. From the point of view of people, it’s a success for me that even in such a complex organization as we are, with a mix of suppliers, we can meet and get to know in-house people in various locations throughout Europe and treat them as people, not just as “tools”.

You say you have suppliers from all over Europe, why did you decide to cooperate with us?

Peter: I would say that it was mainly thanks to many years of good experience. You also took care of the previous platform supplied for the Slovak part of Dr.Max, and when we started the process of migration to the new platform that we’re still working on, we decided to continue our cooperation. Bart continues to prove to be a good partner in this regard. In a nutshell – because Bartans are partners! ?

Although you work mainly at the Dr.Max headquarters in Prague, you came to Košice in person. What is the significance of such personal contact for you?

Jan: Our development is currently divided between three countries – the Czech Republic, Slovakia and Romania. Communication between these teams and daily online meetings are for us, so to speak, our daily bread. However, I consider it important to meet in person, which is why we came to Košice. I really like the fact that the Košice team works together in one office and meets daily. I feel like everything works so well for you here thanks to that too.

The development is built agile, based on the Scrum methodology, and thus the Scrum master also plays an important role. What do they take care of?

Markéta: I make sure that processes work across teams and that communication with local countries and local business is transparent at the same time. Simply so that everything, including the release, goes smoothly. Our department is quite fragmented – in e-commerce, we have 5 development teams. The people who work in them focus directly on product development. And then we have other support and integration teams. There are about 8 teams in total.

Can you name them specifically?

Peter: These are product owners, UX people, testers, developers (frontend and backend), integrative architects and DevOps people. Also, due to our size, a 2-member team called Dev(eloper)Ex(perience) Engineers was recently created, who takes care about making developers work better. Altogether, about 120 people working on the project.

What qualities or skills should a candidate have if they would like to join one of your teams? 

Jan: For me, it’s a whole range of things. First of all, it’s seniority, that is, knowledge of technology. They don’t have to be super senior people, it’s often enough that they simply have the drive, will and passion for work. The colleagues will be happy to help them with the technologies. And the second, no less important thing, is the so-called cultural fit. Before a potential colleague joins us, we organize their meeting with the team and then we’re looking for rapport on both sides. We want to know if people get along and can imagine not only working together, but also going for a beer and spending time together outside of work.

Thank you for the interview and we look forward to our enjoyable future meetings.