1A Auto: Transition to New Architecture for US TOP-3 Auto Parts Retailer

Objectives: as part of a multinational team of developers to make the transition to a new architecture and unify the programming languages used.
Timeline: March 2020 - present
Technology stack: Java, React JS, SQL
Team: 12 people


The United States is a major country for the automobile industry. It has a population of 380 million people and virtually everyone over the age of 16 has at least one car, except, perhaps, in the most urbanized and most densely populated cities (New Yorkers, for example, don't really need a car).

1A Auto (https://www.1aauto.com) is one of the leading car parts retailers in America, with a focus on people who are willing to fix their own cars. By the way, especially for this purpose, the company has a YouTube channel (https://www.youtube.com/user/1aauto) with about 9,000 (!) videos explaining how to fix this or that malfunction, change a part, etc. Having been on the market since 1999, 1A Auto has grown from a small online store to a TOP-3 retailer.

Objectives

Historically, the company has a lot of different systems: a system that interacts with the customer, a system that helps customer service with customer questions, a system that controls what happens in the warehouse, a system that stores information about certain products, and all of these systems communicate with each other through various means. Initially, all these systems were written in different languages, and the natural consequence of this was an increase in the cost of support (each language requires a separate expert). At some point the company realized that:

a) The systems are old and it is necessary to tidy up their architecture and make them look more modern

b) It is necessary to unify the systems in terms of programming language, so they chose Java for backend and React for front-end. 

Actually these languages are used to rewrite the systems and a better architectural solution was conceived and implemented.

Collaboration and Results

1A Auto brought us in to strengthen their team in March 2020, and initially we came in as a small squad of just three people. Now there are 12 of us on the project: 3 Front-end developers, 6 Back-end developers, a designer, a Google analyst, and a PM. Everyone is engaged in different tasks.

Our developers work in different teams, so the list of tasks performed together is impressive. Let's talk about the most interesting things; about what exactly we were able to bring and change:

A system called CIT. It is responsible for the interaction between customer service and the client. The system was rewritten in React, and a library of UI components (everything that makes up the interface: buttons, drop-down menus, modal windows and more) was created. This library is planned to be reused in all other systems. At this point, about half of the functionality is ready for testing.  In fact, active user testing will start soon. Everyone is waiting for this system and has high expectations for it, because it is more understandable, beautiful, more logical, intuitive, and just pleasing to the eye. We are making things happen!

Talking about the analytics part, Dmitry Melnikov, ITQsoftware’s BA, says: "It so happened that Google analytics for the company website was set up several years ago, but by now the people who installed it do not work for the company anymore. An expert was needed to bring it up to date.

1A Auto actively uses Google ads to promote its products, so it is only natural that Google analytics is one of the key tools to analyze how this advertising works.Technology is developing rapidly, and Google is one of the leaders, so to keep up with all the novelties, you have to constantly learn and adapt existing solutions to changing requirements.”

In the beginning, we had to set up Google analytics reports on user behavior based on the data that Google analytics was already collecting from the site, and then we installed new "sensors" on the site that would send additional information to Google analytics for further analysis.

On the whole, the feeling of cooperation is the most favorable to getting things done. The processes are very well structured, there is good interaction, and the key thing here, of course, is the people: the head of the development department, Joe, is very clear, straightforward, likes to roll up his sleeves and do something with his hands. He says he warms up this way: "I like to get my hands dirty."

As Anna Senkina, PM of the project, says, "Projects are memorable for me not because of any particulars, but because of the people! 1A Auto is nice and easy to work with.” And we have nothing else more meaningful to do but to try to match their cooperative nature!

Other cases