During these uncertain times, one thing we’re certain of at UserIQ is our employees. With all of the great, innovative work that’s going on at UserIQ, we wanted to take a look ‘behind the curtain’ and give our readers a glimpse into some of the exciting projects that our team members have been working on.
First volunteer under the spotlight is Gavin Liu, a Senior Software Engineer at UserIQ. Gavin joined the team last spring and has been doing amazing work within UserIQ’s integrations. Check out some of the exciting projects where Gavin has played an integral role in making the UserIQ platform the best it can be.
Leigh: Hey, Gavin! So, what other jobs did you have before starting at UserIQ?
Gavin: Well, I started my first full-time job coming out of undergrad at CareerBuilder, which was a great first experience to have. I was your typical back-end engineer there, doing a lot of the back-end work on the CareerBuilder platform to help employers parse out a resume or help a job seeker find an available position that matched their skills set.
After my time at CareerBuilder, I moved over to an engineering role at Cox Automotive (a UserIQ customer!). My role there was a bit different than my role at CareerBuilder. The team at Cox Automotive was working to build out a data platform that helped Cox subsidiaries like Manheim and AutoTrader manage their data. It was great to work on something that benefited so many different brands, and I gained a lot of experience with DevOps and database services there—helping to make their platform super scalable.
Leigh: Nice. What motivated you to then take your job here at UserIQ?
Gavin: My job here at UserIQ has always been focused on working with our integration partners. When I first saw the job opportunity, I knew that my experiences both at CareerBuilder and at Cox Automotive would make me a really strong candidate for this, and that I could really help the team using the skills that I had.
Leigh: We know you’ve been working a lot with UserIQ’s integrations but can you tell us a little bit more about the specifics?
Gavin: Sure. A big part of the work I’ve done so far at UserIQ is with our Salesforce integration. Previously, our tech utilized batching to transfer data from Salesforce to UserIQ each day—or, typically each night. As UserIQ continues to grow and expand its user base, this approach probably wasn’t sustainable for a couple of reasons. First, it meant that data wasn’t syncing to UserIQ as quickly as we wanted it to, which impacted the customer experience. Also, there was no real need to sync every data point every night to and from Salesforce, because our customers’ entire data sets don’t change that drastically on a daily basis. So because that full sync was taking place each night, we were losing money on excess server costs.
So, to resolve some of these issues with batch-syncing our Salesforce and UserIQ data, I worked on migrating the data from its traditional request-and-response structure to a more modern streaming technology. By doing this, we’ve not only allowed customers to get a near-real-time inbound data sync with their Salesforce platform, but we’ve also saved a lot of money on our server costs.
Leigh: That is so cool. It must feel so satisfying to work on such a foundational component of our platform.
Gavin: Definitely. I also worked on establishing our integration with HubSpot, which uses a similar event-based structure that our Salesforce integration now uses. On average, only about 0.06% of our customers’ data ends up changing on a given day—at least, the pieces of data that sync with other platforms like HubSpot and Salesforce. It lifts a ton of pressure off of our back end by not syncing 100% of that data on a nightly basis. Plus, we’ve seen a great response from our customer base after completing this new Salesforce sync. Now, UserIQ customers are able to get their data even faster than they did before.
Leigh: What’s next for you with respect to the projects you’ll be working on in 2020 and beyond?
Gavin: Yes, my work isn’t done! Next I’ll be going back to our Salesforce integration to work on the outbound sync process. Our integration with Salesforce is bidirectional, so I’ll have to go back in and work through that as my next project. After that project is completed, our entire data sync between UserIQ and Salesforce will happen that much faster. That will be such a great benefit for our customers.
Leigh: Definitely! Layman’s question here, but is changing that data-syncing process the same for outbound data as it was for inbound data?
Gavin: No, it’s a good question. The structure is pretty much the same. And, the tech will be the same, too. The one tricky part is that the data we’re syncing out now isn’t simply raw data—it’s calculated data, like an NPS score, for example. Some of these data points are calculated over a period of time, and the way we have previously done these calculations will have to change slightly once we add this outbound streaming capability. So, it’ll be largely the same, with some challenges and nuances mixed in.
Leigh: Great! Well, I’ll be excited to hear about the progress you and the team are making in the coming months. Any other interesting tidbits or learnings you’d want to share with our blog readers about your role?
Gavin: Thanks, and I’m glad I could help. I guess one thing I’ve thought about a lot during my time here is how UserIQ is more than just a software company—we’re a data company that’s managing our customer information. I totally understand why we did batch in the beginning—we were a small company, moving fast and trying to keep up. But changing this data transfer process from batching to streaming is so essential for a rapidly growing company like ours, and I’m just glad I’m able to contribute that small piece to the UserIQ platform.