Our Core Values: The Key to Product Development That Drives Results

Lokesh Gulechha
Lokesh Gulechha
Lead Performance Engineer, Coupa Software

Lokesh Gulechha, a Lead Performance Engineer based out of Pune, India, has worked at Coupa since 2020. He consistently develops and implements innovative ideas which transform business operations, enable dramatic quality improvement, increase productivity and reduce operational costs. He believes in using disruptive innovation and transformation in the technology space to enhance enterprise business. Lokesh is the author of several publications and frequently speaks at conferences and training sessions to aid others in using tech to transform business operations.

Read time: 5 mins
Our Core Values: The Key to Product Development That Drives Results

With three major software releases per year, our Product and Engineering teams must evaluate what to include in each release — balancing time, energy, and cost during analysis, research, design, and development.

This balance helps us decide how we spend time on developing new features vs. improving current features, and it also sets our Engineering team — and our resulting product developments — apart from others. But there’s yet another underlying factor that drives our product decision-making: our three core values.

Ensure customer success

This is our obsessive and unwavering commitment to making customers successful. We do everything in our power to help customers achieve their goals and satisfy their organizational missions.

Focus on results

At Coupa, we have a relentless focus on delivering results through innovation and a bias for action. Achieving real, tangible results is built into the DNA of our company.

Strive for excellence

We are committed to a collaborative environment infused with professionalism, integrity, passion, and accountability. We strive for excellence by raising the bar for ourselves and our customers.

Coupa 3 Core Values - Product Development Lifecycle

The diagram above shows how our product development lifecycle fits within these three core values as we move from identification of product features and analysis all the way to monitoring, measurement, and control.

Let’s take a look at a few examples that show how we use our core values to make product development decisions.

Example #1: Redesigning our notification and announcement feature

Coupa’s applications require engineers to build notification and announcement features. Based on user requirements, we trigger these calls on each page load. For a few years after the notification and announcement feature was released, we monitored and measured its performance and usage, and we didn’t identify any critical issues. However, since continuous optimization is a key part of our product development lifecycle, we ultimately identified around 1.2 million calls per day with 90th percentile latency of 4,500 milliseconds. To us, this seemed like the perfect opportunity to innovate.

As we started carefully looking at customer usage patterns and how this feature was being used, we were able to redesign the notifications, changing the way these calls are accessed and triggered without impacting end users. So, instead of making calls on each page load, we made on-demand calls that were triggered by user actions. We also used AWS Redis Cache to cache certain data for faster retrieval without invoking database calls. This continuous optimization had mind-blowing results, reducing 1,200,000 API calls per day to 150,000 calls per day along with a decrease in response time from 4,500 milliseconds to 200 milliseconds. That’s an 87% reduction in calls and 95% reduction in response time!

By invoking our core value to focus on results, we were able to strive for excellence and ensure customer success by creating faster calls, which made their overall experience faster and more productive.

Below are two graphical representations of our work, the first showing the throughput before and after the optimization, and the second showing the latency.

Throughput graph before and after optimization - Coupa
Throughput before and after optimization
Latency graph before and after optimization - Coupa
Latency before and after optimization

Example #2: Implementing a Database Column Alert

Another example of a successful optimization was the implementation of our Database Column Alert framework, embedded within our product development lifecycle, which provides upfront information on capacity of each database column and generates alerts to act on. Engineers have observed many times that applications would break due to database columns reaching their limits, resulting in application downtime and loss of unrecoverable customer data during that downtime.

In some cases, recovering from this downtime ranges from a couple of hours to days depending on the size of data. This impact can result in huge financial loss to both the customer and to Coupa while processing millions of transactions per day. Our Engineering team knows that to ensure customer success, we have to take proactive measures to identify critical issues up front and avoid downtime and financial losses.

Above are just a few of our many success stories that highlight how our core values impact the decisions our Engineering team makes on a daily basis throughout the product development lifecycle.

If you are an engineer and want to be part of a forward-thinking team, we hope you’ll view our open careers.

View Our Open Careers Now