Senior Engineer2018 - 2019Mettle
Technologies: Java, Spring, Spring Boot, Kafka, React, React Native
- Contributed to the development of Mettle, a standalone SME challenger bank launched by RBS that provides a current account, instant invoicing, and the ability to add receipts to transactions and track expenses from a mobile app.
- Extended and maintained existing and created new microservices which fit the event sourcing architecture of the Mettle platform.
- Added features to the React Native mobile banking application.
- Migrated the event stream to AVRO so we could implement continuous deployment.
- Extended the automated test suite by introducing consumer-driven contract tests (Pact).
- Created an interactive dashboard to track business and team OKRs.
Technical Lead2017 - 2018Ministry of Justice, UK
Technologies: Java, Spring, Spring Boot, PostgreSQL, NodeJS
- Ensured the divorce microservices fit in the overall high-level design of the reform program. This involved regular meetings with the program architects and communicating design decisions with team members.
- Created low-level design documents, selecting the right tools and technologies and made sure that the software released to the public was as robust and secure as it could be.
- Removed technical impediments and owned the overall sprint outcome.
- Created new and extended existing microservices to deliver features to citizens, government officials, and solicitors.
Technical Lead2015 - 2017Callsign Inc.
Technologies: Java, Spring, Spring Boot, Couchbase DB, ReactJS
- Fully involved in the architecture, design, and development of new products and features.
- Wrote a new, modern version of the Callsign Dashboard from scratch in React. I managed to phase out the old version of the product iteratively by working closely with product designers to rethink and redesign features and move them to the modern view. I performed regular demos to stakeholders and developers from other teams to show the latest features and gather feedback and suggestions about further improvements.
- Created an extended version of the Callsign Admin REST API which provides a standard interface for onboarding organizations and users into Callsign. As this is an externally facing service, the API has to conform to the highest security and performance standards and be well documented.
- Contributed to Callsign On Premise (OP). We were tasked to extract part of the platform to allow deploying it on clients’ premises so that enterprises are in control of their transactional data. The challenge was to keep all OP installations in sync with Callsign Cloud in order to provide non-repudiation for security and audit purposes.
- Developed Callsign PKI that allows Callsign Cloud to validate OP installations are trusted (CFSSL).
- Developed Events Bridge that provides active unfiltered transmission of events from one site (Cloud or OP) to another.
- Contributed to the development of Replication Bridge that provides passive filtered replication of changes from one site to another.
- Architected and developed the first version of a multi-layered security engine that helps enterprises instantly detect and mitigate authentication threats. This later became one of the major selling points of Callsign.
Senior Engineer2011 - 2015Semafone
- Designed, developed, and maintained the payment module in the company's award-winning software solution. The Semafone software provides secure voice transactions for contact centers and retailers taking cardholder not present (CNP) payments.
- Ensured that the Semafone software is created and maintained using best practices and high security standards so it easily passes the frequent PA DSS certifications.
- Contributed to the deployment of the Semafone software to clients' on-premise environments.
Software Engineer2008 - 2011Business Systems (UK)
- Designed, built, and supported a platform for call recording and workforce management technologies encompassing quality monitoring, analytics, and workforce management.
- Designed and developed an asynchronous call storage and archive library which was used to archive call recordings to the company’s internal data storage or to transfer them securely to clients’ premises.
- Implemented public SOAP and RESTful APIs which were used by the company’s mobile developers and external parties to create and manage conference calls.