By Vitalii Holich
Shalini Agarwal, a leading LinkedIn engineering expert, spoke to Lviv’s 8th annual IT Arena tech festival about three practical aspects that can resolve engineering imperfections. She gave specific examples from a major problem she encountered while developing and rolling out LinkedIn’s Sales Solutions, which now is one of the company’s most-used features.
[Follow Shalini Agarwal on LinkedIn]
Talking about her company, Agarwal explains LinkedIn’s mission: to create economic opportunity for every member of the global workforce. «People come to read, generate, share expertise. It’s about building knowledge, and not just parking your resume,» she said.
The platform is helping not just recruiters and potential employees, but also sales professionals through its LinkedIn Sales Solutions, she noted. A small team within the company launched this startup in 2014, and today, it has become one of their most-used and expensive products. However, it was not always so smooth.
During the first year after its launch, Sales Solutions faced numerous functional issues, which directly impacted the user experience. Agarwal mentions some of them, like incorrect search results, or numerous downtimes when the webpage was unavailable to the users. The problem, she claims, didn’t lie in coding; rather, the pace of development was so fast that users demanded more from the service every day.
During this intense process, the team accumulated enormous technical debt trying to release a timely product. They often had to finish some necessary coding for it after the deadline. As a result, the issues occurred in the software, which also impacted velocity.
«Things were just so bad that we had to swing the pendulum all the way to the right – and focus on foundations. In a healthy state, the balance of foundations and product is about 30 per cent. We had to invest more [in technologies] to fix the situation».
To deal with it, the team indicated the three aspects to address: Availability, Quality, and Dev Productivity, and kept the managers’ focus weekly on all three of them. In addition, they started tracking the investments in technology in their quarterly planning. Here is the advice Agarwal builds on the experience of implementing this strategy.
Availability. Diagnose which part of the system is flicky, and isolate yourself from the monolith. After collecting the data of all the issues for the last year and categorising it, Agarwal found that her engineering team was responsible for nearly half of them. However, the issues as a whole constituted a complex problem, so the team decided to break it down into smaller chunks.
On the one hand, they started creating all new product features outside of this monolith, and though it meant excessive work and additional coding – it helped prevent the further increase of the technical debt. On the other hand, they involved the product team in revising already existing functions of the product, whether some of them had to be enhanced, recreated or deprecated. And actually, the solution was right there – in deprecation of the obsolete features.
Another availability issue was connected with the movement of data.
«One thing that we had to ensure is to keep the user experience consistent as the data replicates across data centres». For instance, the downtimes, when the webpage wasn’t available to the users, happened during the data replication. Sometimes, it was even three times a day, when the norm is once a month or a year, Agarwal says.
The solution in this case was the approach of graceful degradation. That means indicating the essential and non-essential parts of the web page, and always rendering the first one, while the other one can be collapsed during the failure. For indication of potential failures, the team used tools like Selenium (which is usually used for testing), instead of programming the failures manually. Therefore, Shalini Agarwal suggests using simple ways, not to aim for the complexity of the process just because you are an engineer.
Quality. «What gets measured – gets fixed». The team obviously gets feedback from the users, analyses reported bugs and finds ways to prevent them. They use the Canary system for testing and have the LinkedIn configuration system which helps them control small traffic and later test it out in production. The main part of LinkedIn philosophy here is hygiene – the engineers clean up irrelevant code, logs and other digital garbage if they see it in any part of the system, even if they work in a different part.
Dev-productivity. The easiest way to move faster is to automate the process, and in Agarwal’s case, the main approach was auto-deploy. During this process, her team goes through three phases:
First, the code is tested on the servers, to see if the application will work with other code.
Next, the product is revised in the Canary to indicate failures and their causes.
Finally, it’s monitored in one data centre, where the engineering team responds to remaining alerts.
Agarwal said that to make all these strategies work, the most necessary aspect is a happy engineering team. And if it goes together with focus from the leadership and balance with the product – the success will be right there.
More info about IT Arena
From October 7-9, Lviv hosted the 8th annual IT Arena tech conference, with a mix of virtual panel sessions and in-person meet-ups in the city’s grand hotels, cafés, the Pravda Beer Theatre. The event culminated with a Saturday gala at the 19th-century Lviv Opera House with a start-up pitch competition, a champagne reception, and live music by a cello-violin-drum trio.
You can learn more at the IT Arena website.
At Lviv Now’s Wealth and Democracy page, you can read recaps of some of the panels and ideas discussed, including:
By Vitalii Holich
To receive our weekly email digest of stories, please follow us on Substack.
Lviv Now is an English-language website for Lviv, produced by Tvoe Misto («Your City») media-hub, which also hosts regular problem-solving public forums to benefit the city and its people.