As well as discussing the integration of Jet.com into Walmart's operations, we also covered the challenges of managing a high-volume e-commerce infrastructure and how Jet organizes its development teams to maximize flexibility and performance.
But first, let's dig into how that convergence is going. Even though it's now more than fifteen months since the acquisition closed, I got the impression that the two organizations are taking it one step at a time, and that a lot of the initial convergence has been around simply getting to know what each side brings to the table. So while there are exciting plans for what the future may hold, there are no dramatic changes lurking just around the corner. Here's what Gorodinski told me:
We definitely have paths of convergence where we're going to integrate. Walmart is looking to Jet as somebody they can learn from as to what we've done — because the Walmart technology organization has been around for decades. They have a lot of legacy, and a lot of fragmentation.
They look to us because we've had this opportunity to build a system from scratch in a few short years and do things the more modern way — and having learned from experiences of others. We're having a lot of meetings with their engineering groups where they're basically interviewing us and asking us [questions] like, 'All right, well, how did you guys do this, how are you doing that?' They're trying to infuse that into their store technologies, into their online platform and so on.
That's all under the covers. In terms of what customers experience, the Jet brand will remain separate along with its flagship 'smart cart' technology. For readers unfamiliar with Jet.com, here's Gorodinski's explanation of why the startup saw an opportunity to challenge the likes of Amazon in the highly competitive online retail sector:
The smart cart is being able to allocate merchants to fill a shopping cart in real time. Interestingly, when I first heard this idea I was like, 'Wow, why didn't anyone think of this?' But Amazon doesn't do that, and so when you add an item to your basket on Amazon they'll just select whoever on what they call the buy box — whoever's selected on that page.
But Jet, every time you add an item, we re-evaluate the entire cart to decide the best way to fulfill that order — and various other signals are used, like your location, your buying preferences, and of course what's already in your cart — to give you the best price.
That was the idea, to beat them on price, and eliminate inefficiencies in e-commerce. That's one side of the puzzle. The other side of the puzzle was creating a distinguished shopping experience. Those are the things that we were able to press the gas pedal on.
One thing that is changing now that Jet is part of Walmart is a shift in positioning, he explains.
There's still a focus on price, but Jet is becoming more of a premium brand. As it turned out, we ended up marketing to a more premium demographic than Walmart. That's the way it's going to stay. We're actually going to be working on products that have even a more exclusive shopping experience, [such as] with a concierge.
The other interesting thing about Jet was what our CEO called 100 tiny touchpoints. That's just about having all the little details of your shopping experience thought of.
It's the postcards, it's the Jet purple box that stands out. One of the things I hear about Jet most frequently from folks is the customer service. Our Jet Heads are consistently regarded as providing some of the best customer service around.
Integrating Walmart and Jet
Integration projects therefore focus on where there are opportunities to find synergies between the two operations. One of the first examples is a project called 'associate delivery', which sees Walmart employees making Jet.com deliveries in their local area, as Gorodinski explains:
The idea there is again eliminating inefficiencies in e-commerce. What associate delivery is about is allowing store employees across all Walmart stores to, on their way home, take some products that people ordered online and deliver them around their neighborhood. This last mile of delivery tends to be by far the most expensive, and this puts some money into the associate's pocket and reduces shipping cost for the customer. That's one example of what we can do by leveraging the Walmart store network.
There's much more to come as the work of integration continues, he promises. Some of that could dramatically change the shopping experience, based on work coming out of Jet's innovation lab. Virtual reality technology is one example that's actively under consideration:
I think the overarching theme is that Marc Lore wants to unify stores at Walmart with Walmart e-commerce. That could mean a variety of things. Associate delivery is one example. Something like [enabling] automatic checkout is another example. Or maybe while you're shopping at stores, you have the ability to extend what you see as the aisle into an online listing. Then other things like virtual reality are coming into play. I think over the next few years we'll start to see some of that be part of the shopping experience.
Engineering for flexibility and scale
Having started out in 2012 with the ambition of growing from nothing to be a $20 billion-a-year retail business by 2020, Jet was engineered from the start for flexibility and scale, says Gorodinski.
When we started building Jet, we always had this vision of turning into something big. We had microservices at the beginning because we knew we needed to be modular in order to scale the technology — the volume of data it had to handle, but also the organization that was going to be operating the technology. We created a very modular system with lots of moving parts, and that means lots of releases. We could release this component without affecting the other one. We're certainly a very fast-paced technology.
With that pace comes a responsibility to ensure that its code performs reliably and responsively.
It's well-known how latency affects customer engagement, and if we have some downtime, that affects customer trust. Even outside of the customer shopping experience, we have our own customers internally. We have product teams that may be working on an internal facing system and they have just as strict a set of requirements.
The development team has a highly devolved, atomic structure, with each team responsible for supporting their own systems, while a dedicated DevOps team manages the Azure resources on which the platform runs and provides tools that other teams can harness.
One of the paradigms of engineering at Jet is accountability ... If you're writing code, you're responsible for supporting that system.
Embedding SLAs and metrics
A big part of that accountability is a philosophy of embedding service level agreements (SLAs) and performance monitoring into every system right from the start. This is where Jet.com makes use of New Relic's APM and analytics tools. Gorodinski explains:
We started including metrics as part of the development process in our systems very early on. We wanted to have that be very deeply embedded into our engineering philosophy.
Right now, if you want to release a system to production, initially you undergo a designer review — here's my proposal, and here's roughly what I'm doing.
Then there's what we call a production readiness review, which is again organized with some stakeholders. One of the key requirements for releasing a system into production is a set of SLAs, and alerts of how you're going to adhere those SLAs. You might say, 'This service is going to respond in under 100 milliseconds 99% of the time.' To prove that, you have to provide a dashboard that displays this information.
It's one of the key roles of Gorodinski's platform team to build tools that make it easy for developers to include this accountability.
We build these tools that allow other engineers to do so in a way that they're not reinventing the wheel and it is transparent and lightweight for them. This embedding of SLAs into your systems could be done at the programming language level, but it could also be done at a more infrastructural level, like a message bus system.
We provide a set of libraries that have some of these contracts built in, but we also provide some services that provide these properties at a service level.
Understanding how to provide libraries and services that engineers will value has been something of a learning experience, says Gorodinski.
Before getting involved with Jet and building this system at such a scale, I always thought it's about the technology, it's about the code. But being in the platform team, which seemingly is all about technology, I think a lot, and perhaps a majority of what we do is support for other engineers. I think that's a very important aspect of what we do.
And working out how to get everyone on the same page is one of the things that keeps him awake at night, he confides.
We already have some fragmentation, we already have some teams doing things in their own way, so how do we convince them to converge ... to a set of technologies that we all invest in?
But it's also exciting to have the opportunity to offer those technologies and tools across the breadth of Walmart, he concludes:
As I said earlier, they're very curious in what we're doing, they're looking to us in many ways to help them modernize. I think we have a very good opportunity to be able to influence them and have them start onboarding onto some of the things we've done.