I’m a senior software developer with 10+ years of experience building and modernizing enterprise web and integration platforms using Java/J2EE, Spring/Spring Boot, REST/SOAP services, and event-driven messaging. I’ve worked across the full SDLC—from analysis and design to development, testing, deployment, and production support—often leading end-to-end integrations between systems, cloud services, and databases. I enjoy tackling complex distributed workflows (microservices, Kafka/JMS, and secure API integrations) and improving reliability through retries, idempotency, dead-letter handling, monitoring, and performance tuning. Recently, I’ve also supported cloud migration and CI/CD automation, and I use modern tooling (including AI-assisted workflows like Claude) to accelerate development, improve code quality, and strengthen troubleshooting and documentation.

Harkirat Dhaliwal

I’m a senior software developer with 10+ years of experience building and modernizing enterprise web and integration platforms using Java/J2EE, Spring/Spring Boot, REST/SOAP services, and event-driven messaging. I’ve worked across the full SDLC—from analysis and design to development, testing, deployment, and production support—often leading end-to-end integrations between systems, cloud services, and databases. I enjoy tackling complex distributed workflows (microservices, Kafka/JMS, and secure API integrations) and improving reliability through retries, idempotency, dead-letter handling, monitoring, and performance tuning. Recently, I’ve also supported cloud migration and CI/CD automation, and I use modern tooling (including AI-assisted workflows like Claude) to accelerate development, improve code quality, and strengthen troubleshooting and documentation.

Available to hire

I’m a senior software developer with 10+ years of experience building and modernizing enterprise web and integration platforms using Java/J2EE, Spring/Spring Boot, REST/SOAP services, and event-driven messaging. I’ve worked across the full SDLC—from analysis and design to development, testing, deployment, and production support—often leading end-to-end integrations between systems, cloud services, and databases.

I enjoy tackling complex distributed workflows (microservices, Kafka/JMS, and secure API integrations) and improving reliability through retries, idempotency, dead-letter handling, monitoring, and performance tuning. Recently, I’ve also supported cloud migration and CI/CD automation, and I use modern tooling (including AI-assisted workflows like Claude) to accelerate development, improve code quality, and strengthen troubleshooting and documentation.

See more

Experience Level

Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Intermediate
Intermediate
Intermediate
Intermediate
See more

Language

English
Fluent
Javanese
Fluent

Work Experience

Senior Backend Developer at City of Winnipeg – IT Transit
November 1, 2025 - Present
Modernized legacy transit messaging by replacing JMS with Apache Kafka to enable scalable, fault-tolerant event-driven processing. Supported end-to-end production integration architecture including API development, Kafka/JMS processing, monitoring, troubleshooting, and performance optimization across eDocs and Salesforce. Led migration to Java 21 by refactoring legacy components for improved maintainability. Integrated Salesforce with enterprise applications using Java Spring Boot adapter services, including message transformation, error handling, retry mechanisms, and reliability patterns such as idempotency and dead-letter queues. Leveraged Anthropic Claude to accelerate code generation, reviews, troubleshooting, and technical documentation for integration workflows and microservices design. Refactored tightly coupled legacy components into more modular services and contributed to testing, deployment, and monitoring for stable transition from legacy messaging.
Senior Full stack developer at BC Pensions
February 1, 2024 - July 31, 2025
Built and modernized scalable enterprise web applications using Java 11, Spring Boot, and RESTful API architectures. Developed cloud-native services leveraging AWS Lambda and S3, and implemented microservices with Spring Boot/MVC and Spring Data JPA for modular systems. Secured APIs and applications with Spring Security, and created asynchronous processing pipelines using messaging integrations (JMS/ActiveMQ). Improved performance via JVM tuning and caching strategies including Spring Cache and Redis. Used AWS ActiveMQ, API Gateway, and DynamoDB for decoupled, event-driven architectures and data storage. Delivered unit and integration testing with JUnit/Mockito, optimized SQL on Microsoft SQL Server, and collaborated across teams to deliver secure, maintainable solutions in Agile environments. Implemented CI/CD, Docker containerization, and deployment automation to AWS, and contributed to front-end development with React integrated with back-end APIs.
Java Developer at Laurentian Bank
September 30, 2021 - September 2, 2025
Contributed to the development of the Laurentian Global Cash Management system supporting domestic and international payments. Involved in full software development lifecycle using Agile and business analysis activities such as requirements gathering and use case development. Designed and implemented enterprise systems using Domain-Driven Design, Feature-Driven Development, and SOA. Developed front-end modules with React and Redux, tested using JUnit and Mockito, and deployed services on Kubernetes with dynamic service registration. Applied Spring Cloud Gateway for API routing and security enforcement.
Java Developer at Laurentian Bank
September 30, 2021 - September 2, 2025
Involved in full SDLC using Agile methodologies, with a focus on business analysis, requirement gathering, and documentation. Developed reusable React components with Redux for state management, enhancing instant search features. Developed and consumed SOAP and RESTful web services and integrated Spring Boot with Spring Cloud Gateway for API routing, authentication, and load balancing. Utilized tools such as SoapUI and Postman for API testing and Sonar for code quality control. Managed deployment on Kubernetes with dynamic service registration and configuration updates. Used Splunk for application log monitoring and debugging.
Senior Full-Stack Developer at Canadian Blood Services
August 1, 2021 - Present
Worked as part of the Hospital Experience Management team to design, develop, and integrate software supporting a national biological lifeline system. Developed backend REST services using Java 8, Angular, and Spring Boot for applications deployed on Raspberry Pi devices at hospital sites. Led digital transformation efforts to phase out fax and telephonic orders, improving efficiency across logistic and hospital teams. Developed serverless AWS microservices using Lambda and DynamoDB for contract data processing, integrated SAP and other systems adhering to FHIR standards, and implemented CI/CD pipelines with Jenkins and Jfrog. Participated actively in Agile Scrum ceremonies and improved team velocity by 20%.
Senior Full-Stack Developer at Canadian Blood Services
August 1, 2021 - Present
As a key member of the Hospital Experience Management (HXM) team, I collaborated with IT teams and business partners to design and develop solutions to support critical infrastructure upgrades for hospital portals nationwide. I implemented backend REST services using Java 8, TypeScript-based Angular, and Spring Boot deployed on Raspberry Pi digital signage systems across all CBS sites to improve order processing efficiency. Developed serverless microservices on AWS Lambda and worked extensively with AWS services including DynamoDB, SQS, SNS, and CloudWatch, ensuring high availability and scalable architecture. Led integration efforts with SAP, eProgesa, and eTraceline layers while adhering to FHIR standards. Contributed to Agile Scrum ceremonies, improving team velocity by 20%. Managed CI/CD pipelines integrated with security tools and developed HL7 v2 messaging interfaces. Additionally, I developed comprehensive test plans and utilized tools like Postman, JMeter, and SOAP UI for API t
Senior Full-Stack Developer at Canadian Blood Services
August 1, 2021 - June 30, 2025
Worked on digital transformation and innovation projects to support critical infrastructure upgrades, replacing paper-based blood product orders with a secure online hospital portal. Developed scalable RESTful APIs using Node.js, Java 8, and Spring Boot deployed on Raspberry Pi digital signage systems. Designed and maintained front-end UIs using Angular versions 8 to 15 and integrated authentication with Azure AD and Azure B2C for hospital partners. Led CI/CD deployments using Docker and OpenShift, and integrated SAP and Oracle DataGuard supporting FHIR standards. Automated security checks with JFrog and Jenkins and performed API testing using POSTMAN, JMeter, and SOAPUI. Collaborated closely with business partners and cross-functional teams to deliver enhancements, fix bugs, and maintain documentation and source control.
Senior Full-Stack Developer at Canadian Blood Services
August 1, 2021 - June 30, 2025
Led digital transformation projects focusing on upgrading critical hospital portal infrastructure to phase out outdated paper and fax processes. Developed scalable RESTful APIs using Node.js and Java Spring Boot. Designed and implemented Angular-based TV applications deployed on Raspberry Pi devices. Managed CI/CD pipelines with Docker and OpenShift. Integrated Azure cloud services for authentication and deployment, enhancing security with Azure AD and MFA. Collaborated on healthcare interoperability using FHIR standards. Utilized HL7 messaging to develop new interfaces and enhanced existing systems, contributing to improved blood product order processing nationwide.
Senior Full-Stack Developer at Canadian Blood Services
August 1, 2021 - June 30, 2025
Worked remotely as a Senior Full-Stack Developer in the HXM team to integrate, design, and develop software solutions to replace fax telephonic orders with an innovative hospital portal for blood product ordering. Developed interfaces using HL7 v2 messaging and enhanced existing features. Implemented Angular TV apps with REST APIs for logistics, hospital views, and orders. Developed scalable RESTful APIs and microservices using Node.js, Java 8, and Spring Boot deployed on digital signage systems across Canada. Used Azure AD and Azure MFA for authentication and deployed applications on Azure cloud. Integrated various systems while ensuring FHIR standard compatibility. Managed CI/CD pipelines with Jenkins, Docker, and OpenShift. Tools used included Java8, Spring Boot, Hibernate, Oracle 11g, Docker, JavaScript, Angular, and RESTful/SOAP web services.
Java Developer at Laurentian Bank
September 1, 2020 - September 30, 2021
Contributed to the development and enhancement of Global Cash Management software supporting various payment and reporting operations. Implemented front-end components using Angular and React with centralized state management solutions like Redux Toolkit. Migrated RESTful APIs to GraphQL to improve query efficiency and implemented secure, scalable React applications. Worked on SOAP and REST web services consumption and developed unit and integration tests. Participated in business analysis, design, and documentation. Used Spring frameworks for backend services and managed builds and deployments via Maven and JUnit. Fostered collaboration across teams in an Agile environment.
Java Developer at Laurentian Bank
September 1, 2020 - September 30, 2021
Contributed to the development of global cash management software supporting domestic and international payments. Involved in requirement gathering, use case development, and full software development lifecycle using agile methodologies. Developed reusable Angular components and integrated RESTful and GraphQL APIs into React applications. Implemented unit and integration testing for Node.js services. Designed enterprise systems with Domain-Driven and Feature-Driven development. Migrated APIs to GraphQL, improving data fetch efficiency. Used Spring MVC and Hibernate within a microservices architecture, participated in release management and code quality control.
Java Developer at Laurentian Bank
September 1, 2020 - September 30, 2021
Worked remotely at Laurentian Global Cash Management supporting inbound and outbound payments including wires and international payments. Participated in full SDLC using Agile methodologies involving requirement gathering and analysis. Developed and consumed SOAP web services and designed Enterprise systems using DDD, FDD, and SOA. Contributed to frontend design and development with Angular and React, integrated REST and GraphQL APIs, and automated testing using Jest. Migrated APIs to GraphQL improving efficiency and reducing data over-fetching. Responsible for code quality, deployments, and use case development.
Senior Java/J2EE Developer at Assumption Life
August 31, 2020 - September 2, 2025
Gathered and analyzed business requirements for insurance and financial services applications. Developed and integrated microservices into AWS Pub/Sub architectures, created web services using CXF and SOAP UI, and integrated DynamoDB with Node.js APIs for low-latency data operations. Implemented security using AWS IAM, Cognito, and API Gateway authorizers. Utilized Spring IOC and designed front-end screens with JSF, HTML, and CSS. Employed AJAX for dynamic UI components and managed production releases and application availability.
Sr. Java/J2EE Developer at Assumption Life
August 31, 2020 - September 2, 2025
Gathered and analyzed business and technical requirements, and developed rules using a customized Rules Engine for dynamic application support. Created messaging queues and topics for real-time data processing via AWS SQS, Lambda functions, and SNS for event-driven microservices architecture. Developed SOAP and REST web services using CXF API and managed release processes for production environments. Integrated DynamoDB with Node.js APIs for low-latency CRUD operations with secure access management through AWS IAM, Cognito, and API Gateway. Designed and developed user interfaces using Struts Tiles Framework, JSF, HTML, CSS, and Java Servlets. Implemented Spring IOC patterns and utilized AJAX for dynamic UI behavior.
Sr. Java/J2EE Developer at Assumption Life
July 1, 2018 - August 31, 2020
Gathered and analyzed technical requirements, developed microservices and integrated Hermes JMS into microservice architectures to support event-driven data flows. Developed web services using CXF API and SOAP UI testing tools. Implemented GraphQL APIs with field-level authorization and query depth limiting to protect sensitive financial data. Architected serverless microservices on AWS to reduce costs and improve scalability. Maintained applications developed using Java, Spring, Hibernate, and C#, including RESTful APIs and web interfaces. Played a key role in release management, testing, and debugging with extensive use of Maven and CI/CD pipelines on AWS.
Sr. Java/J2EE Developer at Assumption Life
July 1, 2018 - August 31, 2020
Gathered and analyzed business and technical requirements to develop insurance and financial services applications. Created customized rules engine for authentication, implemented messaging queues with Hermes JMS to support microservices event-driven data flow. Developed SOAP and RESTful web services, ensured security compliance with SOC 2 and GDPR via GraphQL query depth limiting and field-level authorization. Led migration to AWS serverless microservices using Lambda and DynamoDB, optimized operational costs and scalability. Built CI/CD pipeline using AWS CodePipeline and CodeBuild, enhancing deployment frequency and reliability. Utilized React and TypeScript for frontend development and CSS Tailwind for styling.
Sr. Java/J2EE Developer at Assumption Life
July 1, 2018 - August 31, 2020
Gathered and analyzed business and technical requirements for mortgage loan process software. Developed event-driven microservices architecture integrating Hermes JMS for workflow tracking. Created SOAP web services using CXF API and implemented security and field-level authorization in GraphQL. Architected serverless microservices on AWS Lambda and DynamoDB. Improved application performance with modern JavaScript frameworks including React and Redux. Automated CI/CD pipelines on AWS massively reducing deployment errors and increasing release frequency. Also maintained legacy Java/J2EE systems with frameworks like Spring and Hibernate.
Java/J2EE Developer at Shoppers Drugmart
June 30, 2018 - September 2, 2025
Developed a Health Evaluation System for medical professionals using React.js, Node.js, JavaScript, JSP, and Tailwind CSS. Led UI component development and integrated Spring MVC, Spring Batch, and Spring Security frameworks. Designed and implemented RESTful web services and SOAP interfaces for content distribution. Utilized Hibernate ORM for persistence, JMS for asynchronous messaging, multithreading, and exception handling. Participated in Agile development with daily stand-ups and unit testing using JUnit.
Java/J2EE Developer at Shoppers Drugmart
June 30, 2018 - September 2, 2025
Developed Health Evaluation System for physicians using Agile methodology, focusing on specification, design, integration, testing, deployment, and maintenance. Created UI components with React JS, Node JS, Tailwind CSS, and AJAX. Developed J2EE modules using Spring MVC, Spring Batch, Hibernate ORM, and Spring Security. Implemented RESTful web services and managed asynchronous communication using JMS. Developed unit tests using JUnit and Mockito. Utilized Maven for build automation and deployed applications on Tomcat server. Managed logging with Log4J and issue tracking with JIRA.
Java/J2EE Developer at Shoppers Drugmart
October 1, 2016 - June 30, 2018
Developed Health Evaluation System modules for physicians to manage medication and health information. Employed Agile methodology across full SDLC. Built UI components using React.js, Node.js, and various JavaScript libraries with Maven build automation. Developed backend components based on Spring MVC, Spring Batch, and Spring Security. Created persistence layer using Hibernate with annotations and transaction management. Implemented restful web services and asynchronous JMS messaging. Conducted unit testing with JUnit and maintained code quality via Sonar and similar tools. Deployed applications on Tomcat and WebLogic servers.
Java/J2EE Developer at Shoppers Drugmart
October 1, 2016 - June 30, 2018
Developed health evaluation systems for physicians to provide detailed medical information to patients. Applied Agile methodology throughout project lifecycle including design, integration, testing, and maintenance. Developed UI components using React, Node.js, and JavaScript, with backend services using Spring MVC and Hibernate. Implemented RESTful web services and asynchronous communication via JMS. Incorporated multithreading, exception handling, and Spring Security for enhanced application robustness and security. Used Maven and Docker for building and deploying applications. Utilized JIRA for issue tracking and unit testing with JUnit, contributing to continuous integration.
Java/J2EE Developer at Shoppers Drugmart
October 1, 2016 - June 30, 2018
Developed Health Evaluation System for doctors, including UI components using React JS, Node JS, JavaScript, JSP, and Tailwind CSS. Implemented backend services with Spring MVC, Spring Security, Hibernate, and JMS for asynchronous communication. Worked in Agile teams supporting deployments, unit testing with JUnit, CI/CD using Maven and Docker pipelines. Integrated RESTful web services and improved application concurrency using Java 8 features. Used logging, debugging, and issue tracking tools extensively.
Java Developer at Dynacare
September 30, 2016 - September 2, 2025
Involved in all phases of software development in an Agile environment for healthcare insurance systems. Developed applications using JSF, Spring MVC, and Hibernate with JPA for ORM. Processed XML-based responses with JAXB and implemented SOA for inter-application data exchange. Used IBM WebSphere MQ for messaging, and managed development, IST, and UAT environments on Unix servers. Developed unit test cases and maintained code quality with tools like JUnit and Rally for issue tracking.
Java Developer at Dynacare
September 30, 2016 - September 2, 2025
Participated in full Agile SDLC including design, development, implementation, and validation. Used JSF 1.2 and RichFaces for UI development and Spring Framework modules such as DI, MVC, and AOP. Developed data access layers with Hibernate and JPA, writing HQL queries. Implemented SOA architecture for data exchange and parsed XML responses using JAXB. Worked with IBM WebSphere MQ Series for middleware connectivity and configured WebSphere Application Server in UNIX environment. Used Eclipse and IBM ClearCase for development and version control. Conducted unit testing with JUnit and tracked work using Rally.
Java Developer at Dynacare
April 1, 2015 - September 30, 2016
Participated in full agile SDLC for healthcare and insurance products. Designed scalable systems on AWS, automating provisioning with CloudFormation and Terraform, and maintaining CI/CD pipelines using AWS services. Developed enterprise Java applications employing Spring MVC, Hibernate ORM, and JSP frontends. Created and tested SOA-based web services and integrated messaging via IBM MQ Series. Responsible for database procedures, XML parsing, and version control with IBM Clear Case and Eclipse. Supported testing with JUnit and tracking via Rally. Ensured interface compatibility and system security.
Java Developer at Dynacare
April 1, 2015 - September 30, 2016
Participated in complete Agile SDLC for medical laboratory services applications. Designed and developed scalable, fault-tolerant architectures on AWS including EC2, RDS, S3, and ELB. Automated infrastructure provisioning with CloudFormation and Terraform. Developed applications using JSF, Spring MVC, Hibernate, and WebSphere Application Server. Implemented SOA architecture for data exchange and created stored procedures and triggers in PL/SQL. Used IBM MQ Series for messaging integration and XML technologies for data parsing and validation. Managed version control with IBM ClearCase and performed unit testing with JUnit. Utilized multiple testing and API tools such as SOAPUI and Rally for tracking.
Java Developer at Dynacare
April 1, 2015 - September 30, 2016
Developed and maintained laboratory services applications with JSF, Spring MVC, Hibernate, PL/SQL, and web services using SOAP and RESTful architectures. Designed scalable infrastructure on AWS including EC2, RDS, and S3. Automated deployments and monitored cloud resources. Used IBM WebSphere MQ integration and XML processing with JAXB. Conducted unit testing with JUnit and managed version control with IBM ClearCase. Involved in SDLC processes under Agile practices.

Education

Bachelor’s at Computer Science
January 1, 2000 - December 31, 2004
Bachelor’s at Computer Science
January 1, 2000 - December 31, 2004
Bachelor’s at Bachelor’s in Computer Science
January 1, 2000 - December 31, 2004

Qualifications

Bachelor’s in Computer Science
January 11, 2030 - September 2, 2025
Bachelor’s in Computer Science
January 11, 2030 - September 2, 2025
Bachelor’s in Computer Science
January 11, 2030 - September 2, 2026

Industry Experience

Healthcare, Financial Services, Software & Internet, Government, Life Sciences, Retail, Transportation & Logistics