The five-minute CIO: Colm O’Donaill, eShopWorld

14 Apr 2017

Colm O’Donaill, CTO of eShop World. Image: eShop World

“We process more than 10,000 payments and deliver more than 20,000 packages in more than 100 countries every day,” said Colm O’Donaill, CTO of eShopWorld.

Last month, we reported that fast-growing Dublin tech company eShopWorld to create 250 new high-end jobs in the city over the next three years.

The Irish company is to invest up to €25m in R&D and innovation by 2019.

‘Cloud-first led us to introduce DevOps and to restructure and train our development teams to ensure each team had the right knowledge to build and deploy’

The investment will bring total employment at eShopWorld to almost 400 staff, inclusive of 80 new jobs created in 2016.

CTO Colm O’Donaill joined eShopWorld in 2014 after working in tech leadership roles at Ding, Citi and O2 Ireland.

Can you outline the breadth and scope of the technology roll-out across your organisation and what improvements it will bring to the company?

At some stage in their growth cycle, online retailers realise they must augment their domestic shopper base with new international markets. eShopWorld links e-commerce solutions to supply chain solutions, building bespoke software applications that tie retailers’ online commerce systems with outbound logistics flow, facilitating access to these new international markets.

The company has grown from revenues of less than €10m to more than €210m in the last three years. As you can imagine, managing the technology that underpins this growth is a complex task. We recognised that the way to grow was through the development of an e-commerce platform that could link any e-commerce company to any logistics partner.

To meet this challenge, from 2014, we undertook to move from a managed hosted environment to become a fully cloud-based business, and this has been my focus for the last three years as CTO. From that point on, all new development, test and production environments were cloud-based, which meant we had to start reviewing our architecture to identify components that could move directly into a cloud environment, and what needed refactoring. Those first steps allowed us to meet some tactical goals on scaling, but it revealed a new problem for us: how to deliver and improve this structure continuously.

Traditional infrastructure comes with engineers to build it, and an organisational wall between them and the development team that leverages it. Due to this structural barrier, the infrastructure changed slowly and impeded the developer’s ability to deliver value to the business. Until relatively recently, the developer had a limited relationship with the production environment, and little insight beyond knowing that code that runs in a local machine was likely to run in a production machine of the similar configuration. With a cloud-first strategy, we were asking the developers to know, and do, much more.

So, cloud-first led us to introduce DevOps and to restructure and train our development teams to ensure each team had the right knowledge to build and deploy. The responsibility of each team is to deliver full features to production, managing analysis, design, implementation and deployment of a feature. This additional workload would be insurmountable unless the team took the time to automate every step of this process – how tests are run, how reviews are done, how deployments are made.

Moving ownership of infrastructure away from a centralised functional unit led us to encounter a facet of cloud adoption that is not often discussed: cloud sprawl. Sprawl is the spend creep that comes with fewer restrictions on development teams creating cloud services. Pay-per-use pricing models require an understanding of the features of every component and, without management, it is highly possible that costs will increase month to month. However, we’ve found cost governance must be balanced and non-bureaucratic – a good sign of maturity in a team’s DevOps process is the ability to manage costs.

We now have a fully cloud-based solution in Azure, with a tiny on-premise footprint for managing office systems. Taking this approach, we’ve managed to build out and run infrastructure hosted in North America, Europe, Asia Azure locations and some compliance infrastructure in Russia.

What are the main points of your company’s IT strategy?

The eShopWorld proposition is simple: enable retailers to offer online shoppers the best experience when buying goods from overseas and receiving their goods hassle-free. The best experience for the shopper is the local experience, and our platform offers tools that allow a retailer to mirror that experience for cross-border shoppers.

This means the shopper won’t be confronted with international charges such as duties, taxes or excessive shipping; they should be able to pay as they do locally, enter a local address and receive their goods from local delivery carriers. We’ve identified that showing a clear local price that includes duties and taxes, and makes some contribution to international shipping, is the most influential contributor to successful conversion of an online sale.

Therefore, our technology infrastructure needs to:

  1. Change rapidly: As the requirements of our network of internal stakeholders, external regulatory, payments, logistics partners and our customers change regularly, we get short notification of mandatory change.
  2. Seem local: The system response times must be comparable to local competitor systems, potentially hosted in the same city. This requirement is to ensure excellent customer experience, but also to allow critical logistics or data systems to be co-located with a retailer system.
  3. Have ‘always-on’ additional capacity: The platform needs to respond to planned and unplanned spikes in volume. Several retailers will run high-volume promotions, selling thousands of units in a few minutes, and it’s difficult for a retailer to predict how successful those promotions will be – so the platform must be ready to support this. From an efficiency and cost-control point of view, this capacity can’t be ‘always on’ but must be ‘always available’.
  4. Be compliant: Our platform growth is based not only on how secure and reliable it is, but also on being able to publicly assert that it is secure and reliable through external compliance procedures and audits.

In embracing a cloud-first policy, we can address all of these criteria. The major cloud providers, which had been reaching global scale for a while, have also embraced technical compliance as a core feature. This allowed us to deploy PCI Level 1-compliant payment systems in a cloud environment, which would have previously been impossible.

As outlined above, cloud-first has also given us development teams that are cross-skilled, autonomous and can work independently across the organisation without barriers. The teams can invest in the process of software engineering, leveraging cloud framework capabilities to enable global distribution and availability of products, and can buy cloud-based systems to rapidly augment in-house systems and provide non-unique functionality.

Can you give a snapshot of how extensive your IT infrastructure is?

We process more than 10,000 payments and deliver more than 20,000 packages in more than 100 countries every day.

Our software is used by our partners in more than 40 outbound and return logistics distribution centres.

Our IT infrastructure is dynamically scaling constantly to meet this requirement. We have software running in three Azure sites, and one non-Azure site.

In terms of managing IT budgets, what are your key thoughts on how heads of technology should achieve their goals?

Ensure technology spend is allocated to a business priority rather than pulling from a generic technology budget – this gains the support of the business for investing in product features.

Ensure separate allocation to technology projects – to innovate, improve architecture and reduce technical debt.

How complex is the infrastructure, are you taking steps to simplify it?

We’ve completed a journey from a managed hosted environment to leverage cloud. In some ways, our old architecture was simpler but less transparent; hosted applications on hosted machines, supported by a specialist partner in the industry.

Cloud-based implementation gives us more control but at a cost of greater involvement in production systems. This is ultimately beneficial as value is only added in production.

Do you have a large in-house IT team, or do you look to strategically outsource where possible?

Our technology team is based in Airside, Swords, and Newry, Northern Ireland. It amounts to about 50pc of the overall staff in eShopWorld. We’ve been lucky enough to attract local staff and many people from Europe and beyond. The diversity in skills and experience lends itself well to the core proposition of eShopWorld – bringing unique insights to global online experiences.

We do strategically invest in third-party tools that bring our solution forward, and especially customisable third-party tools that can be configured or expanded to support unique elements of our business. This allows to us to advance on more fronts than our development teams are capable of.

What are some of the main responsibilities of your own role, and how much of it is spent on deep technical issues compared to the management and business side?

The role has changed over time. When I joined, I was involved in everything – technology included product definition, client engagement, building a technology strategy and running development teams. I had developers reporting directly to me until a few months ago.

Now, we’ve built full product and client organisations that keep an eye on the market and retailer needs, allowing me to focus more on the technology process. I’m still heavily involved in sales support, which I believe to be a key value-add that an engaged CTO can offer.

What are the big trends and challenges in your sector, and how do you plan to use IT to address them?

The needs of the business to change and pivot to support customers and retailers is increasing. In the past, the depth of these changes have been relatively superficial but now, new services are expected to be built rapidly, based on components built for other purposes. This is only possible if the original components were built with reuse and maintainability in mind. Technology processes and technology architecture have to be structured appropriately to ensure they are able to cope with this wide degree of change.

An emphasis on development rigour and processes has undermined a traditional facet of the technology team’s role in evaluating and leveraging third-party applications. The balance has moved to ‘build’ instead of ‘buy’ and this is leading to opportunities being missed by development-oriented technology teams.

What metrics or measurement tools do you use to gauge how well IT is performing?

For the development process, we use Jira and VSTS to measure standard Agile metrics – velocity based on productivity story points; time from story creation to story implementation.

For development testability, we use SonarQube to measure reliability, security, maintainability and test coverage.

For production evaluation, we use New Relic and Azure Application Insights to review how our applications are working in production, and how they are responding to customers.

Are there any areas you’ve identified where IT can improve, and what are they?

Development-led technology teams are terrible at evaluating third-party applications for consideration as augmentation to their solution structure. We’ve focused on the development process to a high degree, but the process to evaluate and integrate third-party applications is rarely taught to technology professionals. Like other technical specialists, given a problem, developers will use their specific experience to solve the problem. There are times when this is inappropriate.

What other projects do you have lined up for the year, and what will they contribute to the business?

We are building the ‘anywhere to anywhere’ logistics platform, a next-generation logistics and labelling platform to allow greater flexibility in shipping goods from any location in the world to any other – maximising the airline efficiency, time to deliver and costs.

At eShopWorld, we are solving a problem for retailers expanding to new markets by providing a better local shopper experience. We believe the appetite for this service will continue to grow and we have just announced an additional 250 job openings in eShopWorld to mature and expand this platform.

Want stories like this and more direct to your inbox? Sign up for Tech Trends, Silicon Republic’s weekly digest of need-to-know tech news.

John Kennedy is a journalist who served as editor of Silicon Republic for 17 years