# Caoilte O'Connor > Software Developer Location: Greater London, England, United Kingdom Profile: https://flows.cv/caoilte Caoilte has over ten years professional experience in every aspect of building Java applications for the web. His end-to-end development skills and self-starting motivation to learn more very quickly make him productive in any capacity on a team, as he has shown most recently by contributing Scala, Javascript, Ruby, Groovy and Android code to his projects. He reliably delivers successful and maintainable projects that are responsive to change by practising and sharing Agile methodologies. ## Work Experience ### Software Engineer @ Conduktor Jan 2025 – Present | London Area, United Kingdom ### Software Engineer @ ClearScore Jan 2024 – Jan 2025 | London Area, United Kingdom Implementing a kafka-streams based data platform for coordinating product enrolments across the company. ### Data Engineer (Contract) @ SiriusXM Jan 2023 – Jan 2024 Scala, AWS, Kinesis, DynamoDB ### Scala Consultant (Contract) @ ClearScore Jan 2022 – Jan 2023 | London, England, United Kingdom Scala, Cats, HTTP4S, Playframework, Microservices, Doobie, Circe, sbt, Maven, Scalatest, Scalacheck ### Data Engineer (Contract) @ Springer Nature Group Jan 2021 – Jan 2022 | London, England, United Kingdom Data Engineering, Data Mesh, SQL, DBT, GCP, Cloud Composer, Kubernetes, BigQuery, Terraform, Python, Unit Testing, Agile Training, DDD ### Delivery Centre Technical Lead (Contract) @ HM Revenue & Customs Jan 2020 – Jan 2021 Scala (Play/Akka), Mongo, Microservices, Architecture, Performance, Security, Accesibility, Agile Methodologies ### Scala Developer (Contract) @ OVO Energy Jan 2019 – Jan 2020 | London, United Kingdom Scala, Kubernetes, Kafka, Postgresql, GCP, Microservices, Devops ### Full Stack Developer (Contract) @ Pizza Hut Digital Ventures Jan 2017 – Jan 2019 | London, United Kingdom Javascript, Microservices, AWS, Node, React, DevOps ### Senior Developer @ ITV Jan 2013 – Jan 2017 | London, United Kingdom Scala, Microservices, Continuous Delivery, DevOps, AWS ### Platform Developer @ Electronic Arts Jan 2012 – Jan 2013 As a developer on EA's "Origin" Mobile and Social Platform I applied skills that I learned building the Playfish Platform for Social Facebook games to building a platform that will support all of EA's Mobile and Social games. The platform is designed to scale horizontally to support 200 million monthly users and to support an Agile working environment that pushes new releases to players many times a week. Games integrate by embedding an HTML5 webview inside their game. The first iteration allows players to integrate their Facebook and Origin friends graph and view turns waiting in different games. As part of this SCRUM team I: * developed the Continuous Delivery Pipeline (Chef, LinkedIn GLU, Jenkins) that automates client/server builds, testing and deployment to all environments, including production. * led performance testing by working with Product Owners to create models of expected usage in production, developing automated load injection scripts (Gatling/Scala) and mocks of external services (Scala/Akka/Spray) * diagnosed bottlenecks in our server code based on load test results, recommended and testing optimisations including object caches (EhCache) and parallelized remote queries. * worked on Javascript Client and Android Test Game Features. ### Platform Server Developer @ Playfish Jan 2011 – Jan 2012 The Playfish Platform team was a flat hierarchy of senior developers working in a SCRUM/Agile environment. The team wrote and maintained an SOA (Service Oriented Architecture) providing PaaS (Platform as a Service) functionality to a stable of flash based browser games on Facebook. Hits included "The Sims Social" (Aug 2011) and "Sim City Social" (June 2012). The platform supported up to 15 million daily players and achieved this by using horizontal scaling techniques on hundreds of Amazon EC2 instances. Platform server code was written in Java using Jetty as a servlet container, Maven for build tooling, Guice for IoC, MyBatis to manage ORM, custom AspectJ components to enable monitoring and a Middleware stack called YAMI4 for communication with games and other services. A mixture of sharded MySQL, Amazon S3 and Amazon DynamoDB were used for data storage. While at Playfish I worked in the following Platform teams, ### Platform Server Developer : Console Team Lead @ Playfish Jan 2011 – Jan 2012 I led a SCRUM team of four tasked with development and maintenance of the Console Service. This allows game specific and CRM targeted dynamic front-end components to be wrapped around games. As team lead I, * Led the successful development of a new html bar above the game that rewarded players of a mature game for completing tasks in a new game. This feature had been attempted previously and failed then because it requires careful coordination between two games teams, the Marketing team, the Analytics team and the Platform team. It succeeded this time thanks to changes I was instrumented, including a simpler architecture, clearly defined responsibilities and well defined acceptance criteria that were broken down into a series of stories which could each be completed and tested in one sprint. * Championed and led migration of all games from up to five different versions of the Console client to a single centralised version that can be updated without a game deployment (via a server-side bootstrap service). This drastically accelerates the development and testing of new client features and bug fixes because for the first time they can be developed against a single branch and deployed in a single step. ### Platform Server Developer : Communications Team @ Playfish Jan 2011 – Jan 2011 Part of a SCRUM team of eight responsible for development and maintenance of all non-Billing, non-Analytics Platform Services. These included CRM/Targeting, Identity, Discovery, Console, Messaging and Bulk Email. As well as working on shared libraries and fixing live issues I worked on the development of new services to : * map the offline (batched) Analytics Datastore in Hadoop to an online (queryable) Datastore in Amazon's NoSQL DynamoDB. Driven by a Quartz Job Scheduler, the service monitored an Analytics RSS feed of new exports using Apache Abdera, validated any new JSON data against an XML schema using JAXB and then mapped it to DynamoDB for storage using Jackson. The data was uploaded to DynamoDB via an Executor Service based thread pool. Many of the modules made innovative use of Guice extensions. * allow the number of servers at Playfish to be scaled up and down to match demand using service discovery. The decision to roll the service out to games teams was made after Playfish experienced rapid rolling changes in load after the launch of The Sims Social. I successfully coordinated its accelerated integration and rollout with Operations and the Sims Social Team over a bank holiday weekend. * map every player's Facebook identity to an internal Playfish identity. We took code that had previously been used as a component inside games and externalised it as a service. I also Introduced an automated acceptance testing framework (JBehave) to the development process. Doing so allowed me to champion writing maintainable test code. Specific techniques I introduced included executable specifications, layering and iDSLs. The changes were very successful and I added several advanced features including external process Jetty controls (for JMX testing) and helped it spread to other teams. ### Senior Developer @ Javelin Group Jan 2008 – Jan 2010 As a senior developer I was expected to perform all of the most difficult development tasks on a given project. These included designing infrastructure to support later units of work and developing components for which the design was most confused and/or incomplete. Typically a senior developer needs to manage complex relationships with BAs, client domain experts, testers and the lead developers of other programme streams. A Senior Developer must also manage, mentor and assist other developers on the team. I would typically be team lead on smaller projects of 2-6 developers, or take responsibility for a major stream on larger projects. Other complex duties include working with the Architect to elaborate initial requirements with proof of concept deliverables and working with the client's IT team on implementation to production systems. ### Java Developer @ Javelin Group Jan 2007 – Jan 2008 As a developer I was responsible for implementing specific units of work (features or bug fixes) on projects. The role required the ability to reconcile incomplete and contradictory designs and instructions by liasing with BAs, architects, testers and non-technical clients. Time management was also a critical function. ### Senior Developer : Joules "Welly" Project @ Joules Clothing Jan 2010 – Jan 2010 Team lead on a six month project to re-platform the Joules fashion brand to a hybris/Solr ecommerce platform (http://www.joules.com). The website launched on-time and with the feature set the client wanted thanks to a multi-iteration RUP with weekly showcases. During this project my responsibilities included: * Leading a team of five developers (two onshore and three offshore). * Liaising with client to ensure that development matched the vision behind the original design * Developing key reusable components as foundations on which the team could build robust functionality. These included, * Generic Apache Camel route components which allowed rapid development of sync/async communication with the ERP SOAP gateway based on XStream annotations. * Search and Navigation extensions to support complex product groups (striped by colour). * Installation, configuration and post go-live support of production stack (Apache, Tomcat, MySQL) including use of Eclipse MAT and VisualVM to diagnose performance and memory problems. ### Senior Developer : Rexel UK "PIM" Project @ Rexel Jan 2009 – Jan 2010 Team Lead on a PIM (Product Information Management) implementation of the hybris technology suite. The solution added complex import/export functionality to the platform. During this project my responsibilities included: * Leading a team of three developers (two onshore and one offshore). * Development of scalable and robust batch processing solution based on Spring Batch 2.0. ### Senior Developer : Debenhams "Himalaya" Project @ Debenhams Jan 2008 – Jan 2009 Senior Developer on the Debenhams "Himalaya" Project, a major overhaul of a Sterling Commerce Order Management Installation in order to switch the company's dotcom operation to a new fulfillment provider and integrate better delivery, tracking and returns features. During this project my responsibilities included: * Leading a team of six onshore and offshore developers in the development of a Call Centre Application based on the Eclipse Rich Client Platform (January 2009 – June 2009). * Development of Continuous Integration testing infrastructure capable of running hundreds of tests each night for the simulation of the end to end lifecycle of an order. * Development of order management routines required to support Debenhams.com “Collect from Store” * Review of Debenhams Order Management UAT infrastructure for the consulting practice and production of a report containing recommendations. ### Developer : Neweys "Online" Project @ Newey & Eyre Jan 2008 – Jan 2008 Developer on best practice stage one deployment of the Hybris Commerce engine and Mercado Merchandising engine for a new range of B2B and B2C ecommerce websites (http://www.neweysonline.co.uk/). The solution allowed every product to be individually priced for each customer. During this project my responsibilities included: * Integration with the ERP system including synchronous and asynchronous services and the caching strategies to support their exposure on the website. * Developing all price related aspects including promotion, voucher and trade related discounts their exposure and interaction with each other. * Writing core sections of the website including registration and trade account management ### Developer : Norgren "Express" Project @ Norgren Jan 2007 – Jan 2008 Developer on Norgren Express, a PIM/Web/Catalogue B2B project leveraging the integrated ecommerce features of the Hybris suite. The catalogue included 150 product ranges, each configurable to the point where there were millions of skews and derived product attributes. During this project my responsibilities included: * Work on the configurator/deconfigurator to allow both product codes to be derived from selections of attributes, and fully configured products to be derived from code strings. * Writing core sections of the website including the product and search pages. * Batch processing import routines and SOAP services exposing functionality to third parties. ### Lead Software Architect and Developer @ Sportplan Ltd Jan 2001 – Jan 2005 ## Education ### 2i in Computer Science University of Bristol ## Contact & Social - LinkedIn: https://linkedin.com/in/caoilte - Website: https://github.com/caoilte/ --- Source: https://flows.cv/caoilte JSON Resume: https://flows.cv/caoilte/resume.json Last updated: 2026-04-05