Gilt.com is a US-based flash sales site offering deals on top brands. From its Dublin software engineering operation, its VP of architecture Eric Bowman explains why true leadership is needed in addressing and managing complexity.
Tell us about your role at Gilt; what does a typical day look like for you?
I’m VP of architecture at Gilt Groupe, where I’m responsible for architecture and platform engineering. I lead a team of about 30 engineers based in Dublin and New York. In Dublin, we have an engineering office focused primarily on platform engineering, where we are building next-generation development tooling, infrastructure, test architecture, and service and web platform. Gilt has a modern tech stack built on Scala and the Typesafe Reactive Platform.
Flash sales lead to extreme pulses of traffic as our members stampede the site trying to get the best deals, and this puts a lot of pressure on the core platform: it has to be fast, it has to scale, and it has to be extremely resilient under high load. This drives how we think about architecture and tech in general to a greater degree than other companies our size.
Most days have a natural divide, between productive mornings and busy afternoons. The New York office comes online about 2pm, so we all try to make the hours before 2pm as quiet and productive as possible. I didn’t anticipate how useful this artificial structure would be, and I’ve really come to enjoy having it.
On a good day, I manage to get a few hours of coding in, and this job has made me into more of a morning person than I ever thought possible. Recently we’ve done a lot of hiring, so I end up spending less time coding and doing architecture than I would like, though when I’m lucky some architecture work happens while I sleep.
How would you describe the technology and development infrastructure at Gilt: have you got it to the level you think it needs to be, or if there’s room for improvement, where will that come from?
The good news is that our business is increasingly tech-driven, and it will never get to the level it needs to be, because the business is constantly changing, the market is extremely competitive, and Gilt’s e-commerce requirements are surprisingly sophisticated. The level it needs to be is always going up.
In the last year or so we have increased our investment in development infrastructure, in order to reduce development friction – ‘zero waiting’ – as much as possible. I can’t believe how far we’ve gotten, nor how much there is left to do. Compared to other places I’ve worked, it’s incredibly easy to get software into production at Gilt: once you know the system, you can go from idea to production in less than an hour.
But with this automation comes increased complexity, and it turns out complexity management is one of the most important challenges any distributed system faces. Lowering friction means the system grows faster, and the natural tendency is for overall complexity to increase at least proportionally. The primary challenge for the architecture is to keep the system as simple as it can possibly be. This is really, really hard.
What would you say is the biggest challenge in running Gilt’s architecture practice?
Gilt’s tech culture is fundamentally decentralised, which means we have these amazingly smart teams, all working in parallel, trying to evolve the system as fast as possible, autonomously. Keeping the system coherent and simple in the face of extreme autonomy and trust sometimes feels like an impossible task. Being smart in how you invest in the best people sometimes means letting them make mistakes so that they can learn from them. This also helps build a system resilient against human failure.
Most enterprises that make the kind of investment in architecture Gilt makes tend to have fairly detached architects, who often no longer code. At Gilt we value writing code as one of the most important things anyone with a technical job description does, so our architects don’t write endless documents, they build systems; sometimes as individual contributors, and sometimes in a consultant role, joining teams and taking a stake in the outcome.
We try to avoid ‘drive-by architecture’ as a damaging and dangerous anti-pattern. In fact, everyone technical has to be focused partially on architecture, in the same way that everyone has to be thinking somewhat about quality. A big challenge has been to have the patience to foster and develop a ‘pull-based’ architecture practice, where people feel great about asking for help when they need it, rather than expecting or dreading some ‘Centralised Bureau of Architects’ to show up with vague promises to ‘help’ without any skin in the game and impractical or uninformed suggestions.
Last month, Gilt announced a new platform innovation centre in Dublin: what made Ireland attractive as a location?
Gilt has had a low-key tech presence in Dublin for a couple of years, and we’ve had continued success hiring world-class talent in Dublin. From that perspective, it was an easy decision to grow: there are not that many places in the world with as rich or talented a tech pool as Dublin. It’s amazing, the language barrier is absent, the time difference is survivable, there is huge cultural affinity, and the IDA is triumphantly effective in helping companies like Gilt achieve success in Ireland.
You’ve had a varied career before coming to Gilt. What’s the difference between being lead programmer on The Sims 1.0 and going to service delivery for 3’s worldwide 3G launch?
Looking back, there are some essential similarities. In both cases, we faced a huge amount of scepticism. Nobody quite knew what we were building until we were pretty far along. Both required a huge time investment and commitment. And in both cases, we bet successfully on Moore’s Law: what we ended up building wasn’t possible when we started.
Otherwise, they were radically different adventures: the Sims team was tiny, and in retrospect highly dysfunctional. Working with Will Wright (creator of the SimCity series and The Sims series), building his vision, was a once-in-a-lifetime opportunity for which I am extremely grateful. At one point, I was working 24 hours, sleeping eight, repeat. It was highly non-advisable, unsustainable behaviour, but it was an easy choice at the time. No one asked for that level of commitment, but everyone gave it.
I wish every young engineer could have the opportunity, at least once, to work on something that feels as important and relevant as that work did. It puts a lot of things in perspective, and it teaches you a huge amount about what is possible, how high the bar really is, and what you are capable of when you give something your all. I suppose if The Sims had not been a success, I might feel differently about the effort and toll it took, and it would have been a wholly different lesson on risk and opportunity cost. Instead, it was one of the best experiences of my life.
Have you brought any experiences from the business side of being an entrepreneur into your current role, and if so, how?
Absolutely. Part of ageing is coming to terms with how much you don’t know, and the unfortunate consequence of this is that many times the smartest, best educated people end up being the least confident. Failing as an entrepreneur after having built an amazing piece of technology was an important lesson in how hard work and good work product isn’t enough – there is so much more required to creating a self-sufficient, growing enterprise, and more than most people think turns out to be luck and timing.
I also learned a lot about how risk profiles change depending on where in its life cycle an enterprise is: there is an initial ‘good idea/hard work/get lucky’ triad that feels almost impossibly hard to balance into position, but once you succeed enough, luck becomes less important, and in fact you tend to innovate around ideas that require less luck. This tends to lead to incremental evolution and getting stuck on local maxima, so it takes real courage to do things you know will require substantial luck to succeed. This is often the difference between growing a market, say, and creating one.
Now that outsourcing is such a prominent model for IT, what’s the value in having an in-house development team compared to buying expertise as needed from outside?
Having tech in-house is a huge competitive advantage for Gilt. People completely underestimate how quickly complexity grows, and how toxic that becomes against moving fast. Keeping complexity down when you outsource your tech stack is close to impossible. Addressing complexity is where true tech leadership is required, and the incentives for an offshore tech team are not really aligned to make this happen. In fact, often the incentives unintentionally encourage complexity.
Some of our competitors are having a hard time competing with Gilt simply because they cannot move as fast as we can on the tech side. We outsource lots of things, but we don’t outsource our core business or our key differentiators. Investing well in relevant and core tech is smart, and the kind of investment Gilt is making is starting to pay off massively. By keeping it internal and aligned with Gilt’s goals and incentives, it becomes possible to reify ideas and embody changes that few other companies dare consider.
We’re on a completely cutting-edge tech stack – our third – and we have invested not just in creating a great consumer experience: we’ve invested in making it simple and easy to create great consumer experiences. Five years from now, we will look back at Gilt’s success, and a huge part of it will be due to how savvy Gilt was in every part of its business, especially in tech.