03/28/2024 updated

**** ******** ****
100 % available

Senior Software Engineer, Lead Developer and DevOps engineer, Senior Software Engineer

Mettet, Belgium
Only remote
B.Sc Computer Science (Hons)
Mettet, Belgium
Only remote
B.Sc Computer Science (Hons)

Profile attachments

CV - Andrew Carroll

FlutterC (Programming Language)Java (Programming Language)JavaScriptPHPApplication Programming Interfaces (APIs)Agile MethodologyAjax (Programming Language)Akka (Toolkit)Amazon Web ServicesApache AntApache HTTP ServerServer ApplicationMacintosh ComputersMicrosoft AzureOracle WebLogic ServerBig DataBug ManagementC Sharp (Programming Language)UnixC++ (Programming Language)Ubuntu (Operating System)Computer-Aided Software EngineeringCentOSCloud ComputingConfiguration ManagementDatabasesContinuous IntegrationCommand-Query Responsibility Segregation (Software Development)Persistent Data StructureDebian LinuxSoftware Design PatternsDesktop ComputingLinuxDevOpsDomain Name System (DNS)Eclipse (Software)EhcacheEnterprise JavaBeansMessage Transfer AgentMiddlewarePerl (Programming Language)Embedded SQLFinancial Information EXchangeGitHubGlassfish Application ServersGoogle Web ToolkitsGradleHazelcastHibernateIBM Websphere Application ServerIssue Tracking SystemsIntelliJ IDEAInternet ProtocolInventory Management SoftwareJava Database ConnectivityJava Message Service (JMS)Java ServletApache StrutsSwing (Java)Java API For RESTful Web Services (JAX-RS)WildFly (JBoss AS)Java Business Process ManagementJavaServer FacesJavaserver PagesPython (Programming Language)PostgreSQLLinux ServersLoad TestingMATLABMachine LearningApache MavenMicrosoft Visual StudioMicrosoft SQL ServersMySQLNetBeansNetwork ArchitectureNumPyOAuthOpen Source TechnologyOpenIDOracle ApplicationsOracle SQL DeveloperRed Hat Enterprise LinuxRedisTensorFlowRxjavaScalaSiebel CRMSolaris (Operating System)SpinnakerStored ProcedurePL-SQLSQL DatabasesSubversionTransact-SQLTypeScriptWeb ServicesWorkflow Management SystemsExtensible Markup Language (XML)Rust (Programming Language)Google CloudLoad BalancingCloud Platform SystemSUSE LinuxChatbotsPyTorchSpring MVCLarge Language ModelsPrompt EngineeringSpring BootSybaseCachingBackendKerasGitLabGitCloudformationSpring DataKotlinAngularJSKubernetesLow LatencyAvroExtreme ProgrammingApache KafkaOperational SystemsSbt (Software)React NativeApi GatewayRestful ApiTerraformCucumber (Software)Atlassian BambooDockerUser AdministrationJenkinsGolangMicroservices
Agile, AJAX, Akka, AWS, AngularJS, Apache Ant, Apache, Kafka, Maven, Struts, API Gateway, APIS, API, Bamboo, Avro, back-end, large datasets, C, C#, C++, caching, CentOS, conversational AI, Cloud, cloud operations, cloud-based, cloud platform, AWS CloudFormation, CQRS, CASE Tools, Configuration Management, Continuous Integration, CI/CD, CI/CD pipeline, Cucumber, Databases, database, Debian, computers, DevOps, Docker , Docker container, DNS, Eclipse RCP, Eclipse, Ehcache, embedded SQL, EJB, XML based, XP, FIX protocol, Flutter, Git, GitHub, Gitlab, Glassfish, Golang, GCP, Google Web Toolkit, GWT, Gradle, Hazelcast, Hibernate, user interface, WebSphere, Computer Science, IntelliJ IDEA, IP Communications, Inventory system, ticketing system, Java, JAX-RS, JBPM, JDBC, JMS, Servlet, JavaScript, JSF, JSP, Jenkins, Keras, Kotlin, Kubernetes, LLMs, LLM, Linux, Linux servers, load balancing, load test, low latency, Matlab, Machine Learning, Apple Macintosh, email server, micro services, Azure, Azure DevOps, SQLServer, MSSQL, Visual Studio, Windows NT, middleware, MySQL , Netbeans, network infrastructure, Numpy, OAuth, open-source, OIDC, Operating Systems, Oracle, Oracle Siebel, Oracle PL/SQL, Weblogic, PHP, PL/SQL, Perl, data persistence, PostgreSQL, Prompt engineering, Python, Pytorch , React Native, RedHat, Redis, REST based, Rust, RxJava, SQL, SQL queries, stored procedures, SuSE, SBT, Scala, Application Servers, Siebel CRM, bug fixing, design patterns, Sun Solaris, Spinnaker, Spring Data, SpringBoot , Spring Boot, Spring MVC, Subversion, SVN, Java Swing, Sybase, Tensorflow, Terraform, T-SQL, TypeScript, Ubuntu, Unix, user management, WSO2, JBoss, workflow system

Experience

Professional experience10+ years
Freelancer since2008

Languages

EnglishNative speakerFrenchGood

Project history

Lead Developer and DevOps engineer

BC Group
o Working closely with domain experts, designed and implemented a margin trading platform, including the loan
origination, accounting, loan position and liquidation services. Implementation in SpringBoot using WebFlux
reactive framework.
o Extended the existing event-sourced book-keeping system originally developed for BC Group in 2019 to
accommodate margin trading.

Lead Developer and DevOps engineer

BC Group
o Conceived and implemented in Java a high-throughput, low latency transaction processor/ledger for leading Hong
Kong based crypto-currency exchange and digital asset platform BC Group. Initially prototyped in Scala as part of
an order management and matching engine integration, the product utilised an event-sourced and idempotent
message-oriented architecture following the CQRS pattern.
o Built the CI/CD pipeline for the project using Terraform, AWS and Kubernetes.
o Implemented complete BDD tests in Cucumber and Java for all transaction scenarios.

Senior Java Developer and cloud DevOps engineer

HSBC Hong Kong
o Automating microservice and infrastructure-as-code deployments to AWS, Azure and Kubernetes containers with
Terraform and Spinnaker
o Member of the PayMe for Business team, designing and implementing the PayMe for Business API including
OIDC/OAuth security aspects and production deployment pipelines.
o Designed and implemented a prototype distributed conversational AI system centred on the BERT LLM. The
system utilised a message driven microservice framework written in Java/SpringBoot for interfacing with
conversational and classification Tensorflow ML models deployed on a GKE Kubernetes cluster; designed
extensible messaging protocol using Apache Avro for retaining and passing decorated conversational history
between ML inference services; utilised Apache Pulsar middleware with Kafka API adapter for Java.
* Java, C# and SQL developer, Hong Kong Jockey Club:
o Advisor and author of developer onboarding documentation and standards including Git branching naming and
strategy, Java coding standards (testing, naming).
o Member of a 2-person team designing and building a scalable wagering odds dissemination system utilising Spring
Boot, H2 embedded SQL database and CQEngine.
o Consulted on optimal configuration of a WSO2 API Gateway cluster. Analysis included load test simulations and
tests of edge-cases, uncovering bugs in the product.
o Advised how to migrate an existing C# code base to use dependency-injection (DI) framework in place of brittle,
un-testable existing methods.
o Analysed performance and proposed improvements for MSSQL stored procedures on large datasets. The
analysis involved comparison of memory-optimised tables vs disk partitioning schemes.
* Designed and built a scalable cloud-based AngularJS and Spring Boot on Linux solution for a retail trading platform enabling
the client to augment functionality on an existing vendor product; employed best practice non-blocking I/O, load balancing
and clustered in-memory caching of HTTP sessions and market data; utilised best practice Agile and continuous integration
techniques during product development.
* Using Spring Boot and REST based micro services, demonstrated to Riot Games (Hong Kong) how they can improve the
scalability of their back-end technology in support of an enhanced in-game store for the Chinese League of Legends market.
* Software developer supporting BAU bug fixing and production incidents on Macquarie's WRAP platform with emphasis on
the equities trading infrastructure.
* Provided technical advice for and implementation of JMS messaging components for two-way integration of Macquarie's
Prime Equities and CFD trading platform with Oracle Siebel CRM.
* Aided in the extraction and cleaning of legacy CRM data for bulk importation into Oracle Siebel CRM using a combination of
Java, SQL queries and Sybase T-SQL stored procedures.
* Built a Gmail for business message extractor for a workplace communications analytics start-up company and modified their
existing processing tools to enable them to expand their potential client base to Gmail for business clients.

Senior Software Engineer

Accenture; Hong Kong Jockey Club
o Co-lead in the design and development of an AWS Landing Zone implementation in Terragrunt/Terraform
following AWS Well-Architected best practices.
o Translated the AWS Security Hub Automated Response and Remediation from AWS CloudFormation templates to
a Terraform/Terragrunt implementation; implemented security constraint auto-remediation playbooks in Python.
o Customised and deployed Terraform modules and built, maintained Terragrunt deployments of those modules for
shared services and workloads.
o Implemented cloud platform verification tests in the Python Behave framework.
o Advised HKJC cloud operations team on best practice implementation of infrastructure-as-code deployment
pipelines.

Senior Software Engineer

Industrie & Co
* Network architect and DevOps engineer at FWD Insurance Group (Hong Kong):
o Designed an AWS landing zone architecture for the secure, streamlined and turn-key deployment of containerised
shared and business group specific services on Kubernetes clusters.
o Designed and implemented CI/CD pipelines (Jenkins) and triggers (AWS lambdas for CodeCommit) for Docker
container builds and deployments of application and infrastructure code.
o Designed and developed Terraform modules for building a cloud landing zone, including network infrastructure
and Kubernetes cluster deployment on AWS and Azure.
o Designed and built Kubernetes clusters with default service sets including mesh, external DNS and secrets access.




o Designed and implemented the solution for connecting existing business services in Japan, hosted on Azure, with
services deployed in the AWS Singapore Region.
* Member of a 4-person technical due diligence team on Thai payments company 2C2P for the World Bank; 2C2P went on to
receive a 52 million USD investment to help it expand in Asia.

Senior Software Developer

Macquarie Bank
* Responsible for design, development and support of Macquarie Wrap's multi-broker and international equities order routing
system
* Worked exclusively on retail trading platforms implemented in Java utilising Spring, JMS, Seam and Hibernate, JBoss, Oracle
and Sybase technologies.
* Designed and built product-packaging and service provisioning components and accompanying Eclipse RCP GUI for the
Macquarie Edge platform to EJB 3.0 design patterns and best practice.
* Maintained the Macquarie Prime and Edge code base, from UI (web and thick) to back-end components, including Siebel
CRM integration, market data, marketing, billing and reporting components.
* Maintained and analysed the performance of the Macquarie Prime real-time trading platform code-base using custom
JMeter modules and Amazon Compute Cloud.
* Designed, implemented and maintained several buy-side FIX protocol JMS message based order execution systems
supporting retail and adviser trading platforms.
* Extended the Wrap platform to support multiple external brokers and currencies; implemented FIX interconnections
to external brokers.

Senior Software Developer

Intelligent IP Communications
* Responsible for design of OSS architecture and implementation technology selection.




* Lead designer and builder of "green field" implementation of the Tele Management Forum's OSS/J Inventory API
and IP Billing APIs. Implementation involved development of EJB 3.0 Session Beans designed to J2EEpatterns/industry best
practice for data persistence and network utilisation.
* Worked in a team as team leader designing and implementing a customer management user interface to the Inventory
system using Google Web Toolkit (GWT) AJAX technology.
* Worked on design and implementation of a simple rule based call-rating system.
* Lead designer and implementer of a JBoss JBPM based telemarketing workflow system, integrated with the Inventory system
with GWT user interface.

Software Developer

People Telecom Pty. Ltd.
* Worked on the integration of acquired companies provisioning and user management systems using a pragmatic, XML
based, remote procedure call method.
* Involved in the development of a CRM system integrated with Oracle based billing system; the user interface was
implemented in Java Swing technology while the back-end code was written in PL/SQL.
* Implemented company-wide ticketing system in Java/Swing and Oracle PL/SQL.

Software Developer

Swiftel Ltd.
* Responsible for development, deployment and running of OSS systems.
* Developed online service ordering and data service provisioning systems in Java and PHP, interfacing with suppliers.
* Modified open-source web caching software (in C++) to load-balance between commodity Linux servers. Saved the company
from purchasing commercial offerings that are much more costly.
* Designed and built self-help tools to customers to manage their services.

Systems/Network Administrator and Desktop Support

Miles Morgan Pty. Ltd.
* Working in a team, responsible for ensuring the availability and smooth operation of a Linux file, print and email server and a
network of Apple Macintosh computers
* Providing advice and assistance to staff and answering problems and/or queries about software and network facilities.

Contact form

Log in to get in touch

You need to be logged in to use the contact form.

Sign upLog in