We talked to Mavi Jiménez, Backend Developer and Team Lead in the SEAT Supply Chain team. SEAT is a pioneering and successful business which is continuously reinventing itself to be more competitive. This is why it set up SEAT:CODE, its new software development facility in Barcelona. The digital projects run in its labs include processes to make company’s product storage and transport operations more efficient.
In this interview, Mavi tells us about one of them which she is working on at present.
Nowadays people talk a lot about the backend. How would you explain to an outsider what working as a backend developer is all about? What do you do in this digital area?
A backend developer works behind the scenes of a digital application; they make sure everything works without you noticing any difference.
The backend is the part of the development of any application, website, mobile device, etc. which ensures the whole logic of the system operates in coordination. It covers work on the things you do not see but which are going on all the time in the backend of the application: communication with the server, reading or saving data, repairing errors, etc. A technical profile like me at SEAT tries to find the most effective way to deliver the vehicle in the most efficient and convenient way possible for the buyer.
Backend developers do not work alone. We usually operate in multidisciplinary teams (Frontend, Mobile, UX/UI, etc) and synchronise with all profiles to achieve the best results. We start the day with a nice coffee and a short status meeting, called the Daily, where we locate any dependencies or blockages between us and clear up any queries.
Every fortnight, we hold a Sprint session where we set targets which we commit to and work towards, if possible in pairs, to generate synergies. One of the most important ceremonies in the daily workflow is the Retrospective meeting where we analyse which targets we have achieved and how, what our weaknesses are and how we can improve them to tackle the next work cycle.
What is your supply chain model and what has been the backend professional’s key input in delivering it?
The backend makes it possible to build secure and seamless communication between the components and stages of any production process
Our supply chain project covers all digital competences, because it is as important to handle the data as it is to evaluate production forecasts and anticipate unforeseen events (road closures, unwell drivers, etc) so that the assembly line does not grind to a halt and the customer knows what stage their vehicle is at all the time.
This digital project is designed to automate and optimise all our processes, from the first part of the car to be manufactured until it is delivered to the buyer. Backend technology is not only useful for making cars as it can also bring about improvements on any production line.
However, our team includes programmers who are both highly qualified and also have product vision. They not only know how to programme code; they also know the details, weaknesses, strengths and opportunities of what they are working on. Their broader and more rounded perspective allows them to pose new questions to the system, translate them into more complete algorithms and, in short, into a better finished product.
A backend programmer like me ensures that communication between the data and the “real” and physical things we interact with is fast. My profile operates at the heart of the systems where all the other tasks come together, so I need to be resilient to coordinate with the other digital profiles when they need my skills.
What are the challenges posed by the project for your team and why are “design patterns” so important in meeting them?
Managing the supply chain so that all its parts work together as one is the bread and butter of sectors such as the automotive industry. On a technological level, one of the greatest challenges in this area is to succeed in adding value and improving results by performing an iterative transformation, i.e. gradually without disrupting all the service stages at once. You might compare it to refuelling an aircraft in mid-flight: interrupting the process would be a disaster. In our case, unacceptable costs.
This is where design patterns come into play. A design pattern is a tool, a way of doing things, designed to solve problems on the fly in software development. In our supply chain model, we often use one that we call the Anticorruption Layer. It is basically used to execute upgrades on outdated services without the user noticing the difference during the changeover. You might say that we build an opaque wall while we are migrating and behind it we gradually connect the new parts. Once the overhaul has been completed, we remove the old code and take down the Anticorruption Layer wall.
Based on what you are learning with this project, how do you see the backend developer’s future in other industries?
As a backend developer and even if I switch to a sector outside the automotive industry, I will still be a developer of an end product. So my first task is always to understand the product I’m dealing with to translate its specific features into the code. Fortunately, the core backend concepts are similar in many sectors and this means the more projects you tackle, even if they are in areas that have nothing to do with each other, the more knowledge you build up and the more knowledge you share. It is a digital specialisation that feeds back and will grow with our talent and the talent of our professional colleagues.
What would you recommend to people who are thinking about specialising in backend?
As a backend developer on a supply chain project like the one we lead at SEAT:CODE, or on another similar project on the same scale, your digital talent and resilience is put to the test every second. You can’t afford to get distracted; you can never forget that what you do on the computer has a direct impact on real life. In my case, on hundreds of robots on the production floor and on customers who expect to enjoy their new vehicle as soon as possible.
You have to work fast to handle large amounts of data, process them, deliver them, evaluate them, and most importantly all the while synchronising with your team’s other profiles. Each of us is an indispensable part of a huge, high-precision mechanism which improves people’s lives. And although it might not seem so at first glance, working in backend is not a mechanical job but quite the opposite: it allows you to completely unleash your creativity. Creating code is writing the literature of the future!