
About
I am a simple-minded soul who finds programming to be fascinating.
An introvert trying to connect with like-minded people.
Work Experience
-
Designed a calculation engine using the MVEL engine to externalize all calculation logic from the microservice layer, enabling seamless customization and versioning of business rules, which reduced deployment cycles for logic changes by 90% and improved system flexibility to adapt to dynamic business requirements.
-
Designed an audit trail service supporting REST and event-driven architectures, using the CloudEvents format to ensure schema adherence and seamless integration, reducing integration efforts by 70% and enhancing traceability across systems.
-
Served as the primary technical architect, defining scalable architectures by translating user requirements into scalable solutions while leading tech talks and knowledge-sharing sessions to enhance team expertise, resulting in improved system scalability and an increase in project success rates.
-
Migrating all file-related operations with AWS S3 to use reactive programming as part of the Spring Boot 3.x upgrade. This reduced the file processing time by 60%, making the application more responsive.
-
Documented the entire migration process to the latest Spring Boot version, including challenges encountered and resolutions. This enabled other teams to seamlessly follow the documentation and move faster with the migration.
-
Engineered an event-driven architecture using reactive Kafka by implementing a standardised event specification, that supports various data formats. This ensured seamless interoperability across services, platforms, and systems.
-
Engineered an attribute-based access control (ABAC) policy engine that seamlessly integrates with an API gateway for improved security and service responsiveness following zero-trust architecture.
-
Customize the Spring Cloud Config Server to support Couchbase as a custom composite environment repository. This
enabled us to use Couchbase DB as the property source instead of the default options.
-
Reduced resource consumption by 35%, by designing cloud-native microservices using reactive architecture.
-
Mentored a team of 4 engineers, resulting in a 40% increase in project completion speed.
-
Designed a cloud-native solution for an application that handles a high volume of writes, using write-behind caching with Redis. This strategy lowered the latency of write operations and consequently reduced the overall load on the main database by 40%.
-
Engineered distributed tracing for gRPC applications to enhance observability which in turn reduced the MTTD and MTTR by 80%.
-
Design a CICD pipeline using Circle CI to deploy application libraries to the Nexus repository. This streamlined the deployment and rollback processes, driving 2x faster deployments.
-
Improved coding quality and readability through code refactoring and providing proper documentation.
-
Designed scalable, concurrent, distributed, and resilient message-driven modules using the Akka toolkit.
-
Fixed memory issues in AML to reduce memory consumption by over 60%.
-
Implemented dual database support for AML and successfully migrated data from MongoDB to Oracle databases on client requests for several brokerages.
-
Peer review (Including code review), pair programming and assisting fresh graduates in their day-to-day tasks.
-
Implement, test, and benchmark proprietary automated trading algorithms.
-
Provide technical clarifications at product sales demonstrations with potential clients.
-
Communicate with internal and external stakeholders to finalise integration plans.
Side Projects
This project contains the implementation of a cloud-native solution for an application that handles a high volume of writes, using write-behind caching with Redis and using the underlying main database as Couchbase.
This project demonstrates the prototype of design for an event-driven architecture using reactive Kafka by implementing a standardised event specification, that supports various data formats.
This repo demonstrates the usage of Amazon S3 Transfer Manager in the AWS SDK for Java 2.x. This implementation is for two use cases;
-
Asynchronous Parallel File Transfers with S3 Transfer Manager
-
Streaming data to Amazon S3 Asynchronously. asynchronous and parallel file transfers and data streaming.
This project demonstrates how to design a multi-channel notification service that supports a multitude of communication channels.
For the demonstration, we have added WhatsApp, Telegram, Mail, and Twilio Messaging.
In this project, we discuss how to implement a fully reactive real-time request processing application with Spring WebFlux and Reactive gRPC.
In this project, I explored how to use Amazon S3 with reactive programming using the Spring WebFlux.
This project demonstrates the Integration of Open-Telemetry with Spring Boot. It covers;
-
How to Monitoring Traces with Open Telemetry
-
How to Monitoring Logs with Open Telemetry
-
How to Monitoring Metrics with Open Telemetry
This project demonstrates;
-
How to handle Error in GraphQL with Reactive Spring
-
How to handle GraphQL Subscriptions with Reactive Spring
Education
Advanced Software Engineering
Statistics & Operational Research Second class upper division.
Projects
DEGA is an in-house web-based application for routing data files to FIS, other external systems, and DBS internal systems. DEGA 2.0 is an optimized version of DEGA 1.0, developed with fully reactive supporting workflows and more functionalities.
DEGA is an In-house web-based application for routing data files to FIS, other external systems and DBS internal systems.
The product Register module manages the life cycle of products within the DEGA.
This handles order state transitions, and kitchen operations from orders, riders and servers across multiple channels and syncs all departments. This also linearizes concurrent order change requests and makes sure no race conditions and loose order updates. This also handles Order status syncing between applications that use Order SDK.
This is the frontend Order-SDK framework implemented to get orders based on locations, listen to order updates for each location and also to manipulate the state in orders. Currently, this has an Android version and a Flutter version, which can be used as an SDK with any frontend client.
ESB is a communication system between mutually interacting software applications in a service-oriented architecture (SOA). It represents a software architecture for distributed computing and is a special variant of the more general client-server model, wherein any application may behave as a server or client.
Anti-Money Laundering System intelligent system which detects suspicious transactions of customers when doing Stock Trading using different pattern recognitions and displays suspicious data periodically. Also, this can schedule checking periodically.
The Athena Project mainly targeting for Algorithmic trading for institutional traders. Institutions could be buy-side institutions such as insurance funds, and hedge funds who want to buy stocks in large quantities. The Athena will provide well-known and industry-accepted trading algorithms for buying and selling stocks in large volumes, minimizing the price impact to get the maximum intended profit to the customers.
Volunteering
Perabeats is the official media partner of the University of Peradeniya, which is mainly founded to inspire the players to uplift the spirit by spreading and promoting sports among university students and broadcasting the talents of university sportsmen and sportswomen. We, the Perabeats crew, have been the official media partner in every sporting event played by the university sports team. And also, we inspire and uplift university sports in SLUG, PSL, Colors Night, IUG etc..