Post Job Free
Sign in

Security Clearance Life Insurance

Location:
Regina, SK, Canada
Posted:
October 30, 2024

Contact this candidate

Resume:

Rosa Lu

Software Developer

Email: ******.******@*****.***

Phone: 413-***-****

QUALIFICATIONS

** ***** ** ******* ** experience in all phases of SDLC (System Development Life Cycle) and fluent on Agile methodologies such as Scrum

25 years of extensive experience in Telecom, Government, Insurance and Banking industries, hands-on skills in functional areas such as Device Management, New Business, Client Service, Billing and Collection, Claim, Accounting, Product, Tax processing.

4 Years on AWS and OpenShift, 4 years on Kubernetes and Docker, 15 years on Java, 10 years on Sprint framework, 15 years on Linux, 25 years on RDBMS

Expertise in Agile, Scrum, Kanban, JIRA, JAVA, Linux, AIX, Windows Server, Mainframe, AS/400, Oracle, SQL Server, MariaDB, DB2, MySQL, Postgres, No SQL, AWS, OCP, Kubernetes, Docker, Swagger, GIT, CI/CD pipelines, Jenkins, Ansible, Maven, XML, JSON, Terraform, MQTT, Elasticsearch, Redis, Kafka, RabbitMQ, Spring Framework, Spring Boot

Strong consulting, analysis, system design, development, testing and problem-solving skills

Bachelor’s Degree on Computer Science

Sun Certified Enterprise Architect, Sun Certified Web Component Developer, Sun Certified Java Programmer

Canadian Federal Government Security Clearance – Secret, Reliable

PROFESSIONAL EXPERIENCE

Project 1

Nokia (Ottawa, ON, Canada)

Senior Java Developer

Aug 2020 – Apr 2024 (45 months)

Project Description:

Home Device Manager is a large scale home device management system running on clusters of thousands Linux servers with load balancers for traffic distribution. It allows broadband providers to manage customer premises equipments, such as residential gateways, DSL and cable modems, VoIP terminal adapters etc. It is written in Java, deployed on cloud or on corporate premises. The core module is hosted on Weblogic while sub modules are hosted on Tomcat or Jetty in microservice architecture. Database is on Oracle or MariaDB.

Tasks Performed:

Performed gathering and analyzing business requirements, translating to Agile JIRA user stories.

Produced Design Statement with use cases, data models, working flows, state machines, orchestration, and network resource models.

Designed and developed Java web applications.

The frontend using Angular, TypeScript, Node.js, CSS, JSP

The backend used Java, Spring boot, Spring framework, Model-View-Controller (MVC) design patterns, Restful webservices, Oracle and MariaDB database.

Used Spring Cloud Gateway as API gateway.

JPA was utilized for Object/Relational Mapping and database persistence.

Created data model classes to represent database tables which require CRUD operation.

Created data model’s JpaRepository class to provide JPA CRUD capabilities like: findAll, findById, save, deleteById.

Created RestController classes to interact with the data model’s JpaRepository for get, post, put, delete operation.

Integrated IAM using OpenID Connect, OAuth 2.0, and JWT for secure authentication and authorization, along with handling Public Key Infrastructure (PKI) certificates and API keys/secrets.

Integrated Keycloak for user authentication. The application is registered as a client on keycloak realm. All roles, groups and users are imported into keycloak. OpenID Connect is enabled for redirections between Keycloak and the application via Java Keycloak Adapter.

Integrated ElasticSearch for logging. Elasticsearch is deployed on Kubernetes via Helm chart. For each application module’s pod, fluentd container is running as a sidecar to forward logs to Elasticsearch server. Made Kabana accessible from internet or company intranet.

Integrated with Prometheus and Grafana for monitoring. Prometheus and Grafana are deployed on Kubernetes via helm. Defined CustomScrapeJobs for Weblogic Exporter Metrics and JMX Exporter Metrics. Enabled Ingress for accessing alert manager and alert receiver. Grafana DB on Oracle or MariaDB. Grafana UI is accessible from internet or company intranet.

Enhanced application DB scripts to support various flavour of Oracle or MariaDB, e.g. AWS RDS Oracle, RDS MariaDB, AZURE Oracle, AZURE MariaDB.

Developed Terraform scripts to create AWS RDS Oracle or AWS MariaDB instance with customized DB server configuration. Application DB is installed by helm chart on Kubernetes or on VM by Linux shell scripts.

Improved JMS notification channel on performance by tuning on data format. Home Device Manager sends asynchronous messages to the JMS server when certain events occur. Notification client listens to the configured JMS queues and topics. For topics, the client needs to subscribe itself as a listener, because multiple subscribers can listen on a topic. For queues, only one receiver can be registered.

JMS notification retry delay and retry count are configured from WebLogic Admin Console.

Developed Kafka notification producer service. Messages are in binary format of Apache Avro.

Each type of message goes onto a dedicated topic for efficiency. Failed notifications which can't be delivered after the retry, stored in a rotational database for future retrieve.

Enhanced DB scripts which contains about 200 tables, views, stored procedures, functions, DB scheduled jobs, index, sequence etc. Developed new scheduled DB jobs such as ETL and clean-up, add logging to help debug DB issues.

Designed and developed DB utility tool to be deployed on Kubernetes which contains SQL plus to access Oracle and mysql client to access MariaDB.

Performed Object Relational data mapping and ensured database persistence by utilizing Hibernate. Developed data migration processes for DB upgrading, leveraging the flexibility of JPA's schema generation and migration capabilities.

Containerized the original monolithic application into cloud native using Kubernetes. Configurable Helm chart is used to deploy application on Kubernetes. Using kubectl to admin Kubernetes cluster resources, e.g. nodes, pods, deployments, service, ingress, configMap, PersistentVolumeClaim, PersistentVolume etc.

Configured AWS network to support application ingress and egress traffic with Route53, AWS Application Load Balancer, NGINX on EKS, NAT gateway, routing table.

Setup AWS ECR as Podman/Docker image repository and security for pulling and pushing Podman/Docker images.

Designed and developed dockerfile for each application module to create container image, e.g. Linux as base Podman/Docker image, add Java, Oracle or MariaDB client etc.

Deployed the application on AWS EKS with EFS and EBS storage

Deployed the application on AWS EC2. To provision VMs in a cloud environment, used Terraform script to create EC2 with configurable parameters defined invariables.tf, such as VPC, region, subnet, route_table, ssh key, security group, Amazon Machine Image (AMI) and instance_type.

Designed and developed Terraform scripts to automatically provision AWS infrastructure to create all supporting resources for application deployment, such as RDS MariaDB, RDS Oracle, DB server customized Parameter Group, EFS, EBS, IAM roles and policies, EKS, service account, security group etc.

Developed AWS S3 client to get access to S3 buckets.

Deployed AWS lambda functions to AWS cloud.

Designed and developed AWS EKS backup and restore via velero.

Deployed the application on kubernetes cluster in RedHat OpenShift cloud, MetalLB as Load Balancer, NFS server as RWX Storage

Enhanced Multi-Threads program logic to make sure code is thread-safe, use thread-safe data structures and thread pools, use synchronization when necessary. Avoid using busy wait loops.

Improved traffic throttling for the load from devices towards Home Device manager. Utilized load balancer as first level to limit the number of concurrent sessions. When high sessions are attempted, HTTP 503 is returned. Apache HTTPD server is used as second level based on message priority.

Designed and developed reporting module upon Jasper Studio. Reports can retrieve data from Oracle or MariaDB database, running on JasperServer.

Developed JUnit test code for API test, browser tests, security tests and functional test to ensure that individual units or components of the code are working correctly and as intended. Integrated Automated unit testing into the build process, to run unit tests automatically, with every code change. This ensures that new code doesn’t break existing functionality.

Fluent on web application testing using Browser DevTools, POSTMAN, SOAPUI and curl

Utilized Eclipse IDE in Java coding, troubleshooting, unit testing, integration testing, code reviewing, and submitting code to repositories.

Fluent on DevOps practices. Utilized SonarQube, Git, Maven, Ansible, Jenkins pipeline in Continuous Integration and Continuous Delivery (CI/CD). Developed Jenkins pipeline job using Groovy script for Compilation and Analysis, Checkstyle, Running Unit tests, Running Integration tests, Publish build

Performed gathering and analyzing business requirements, researching system solutions, assessing options for feasibility and cost, and translating the approved requirements to Agile JIRA user stories

Participated in Agile Scrum meetings such as Sprint planning, Daily Scrum, Sprint review, Sprint retrospective

Technical Environment:

Java, Angular, Spring Framework, Spring boot, Restful web service, JPA, Hibernate, Weblogic, Tomcat, Jetty, AWS, OpenShift,Linux, Git, Maven, Jenkins, Eclipse IDE, JIRA, CI/CD, Apache Httpd, JMS, Kafka, IGINX, Swagger, Helm, Docker, Podman

Project 2

Government of Saskatchewan (Regina, SK, Canada)

Senior Java Developer

Oct 2017 – May 2020 (32 months)

Project Description:

Providing common services and integration services for the provincial government which to be shared by multiple systems or to interface with external services. Services are based upon Spring Framework v4 in Java and microservices architecture, SQL server database.

Tasks Performed:

Performed gathering and analyzing business requirements, translating to Agile JIRA user stories.

Produced Design Statement with use cases, data models, working flows, state machines, orchestration, and network resource models.

Designed and developed Enterprise Payment Gateway service in Java for making secure payments from Government's various websites. The service adhere REST architectural standards and are defined with Standard HTTP methods e.g. GET, POST, DELETE, and PUT, Base API endpoints, Request Payload in JSON format. Database is on SQL server, contains merchant information, API key, 3rd party broker information etc.

Developed Single Sign-on Integration service that enables the delivery of programs to connected government services to a citizen through a multi-tiered architecture. It leverages a robust identity and access management engine that provides citizens the ability to control their profile and access connected Government's public digital services from internet.

User authentication is through IdP via SAML2 to provide a strong means of verifying that the security assertions from the IdP are genuine.

Designed and developed Governmental Virtual Exchange service to provide secured exchange of data/files between Government and external parties.

Message Consumer Service is the major component which listens on RabbitMQ, read messages, redirect message payload to a relevant processor based on message type. The processor transforms the message payload into desired format and saved on file system. Another File Pickup Service which is a Java SpringBatch job running at configurable frequency defined by Quartz job scheduler. The pickup service import files from various locations and dump to a working folder, then invoke processing.

Designed and developed Admin Dashboard service to provide a web UI to admin registered services. It is based on Spring Framework v4. Frontend is Angular and html, backend on java and database on SQL server. It provides services running details such as health, memory, JVM, diskspace, garbage Collection, servlet container, logs, metric, JMX, threads, heapdump etc.

Developed JUnit test code to ensure the code are working correctly and as intended and not breaking existing functionality. Automated unit testing is integrated into the build process to run unit tests automatically with every code change.

Utilized Git as repository, Maven as build tool

Utilized Eclipse IDE in Java coding, troubleshooting, unit testing, integration testing, code reviewing, and submitting code to repositories.

Performed gathering and analyzing business requirements, researching system solutions, assessing options for feasibility and cost, and translating the approved requirements to Agile JIRA user stories

Participated in Agile Scrum meetings such as Sprint planning, Daily Scrum, Sprint review, Sprint retrospective

Technical Environment:

Java, Angular, Spring Framework, Restful web service, JPA, Tomcat, Jetty, Linux, Maven, Eclipse IDE, JIRA, Apache Httpd, RabbitMQ, IGINX, UML, SQL Server, Swagger

Project 3

DXC Technology Inc (Winnipeg, MB, Canada)

Senior Java Developer

Jan 2017 – Sept 2017 (9 months)

Project Description:

Bank of Canada’s Modernization of Bond Administration System – to rewrite the legacy Bond Admin system on Mainframe/DB2/CICS/COBOL/JCL into Windows/SQL server/Java.

Tasks Performed:

Developed web application frontend in JSP and html, backend used Java, Spring Framework V4, Model-View-Controller (MVC) design pattern, SQL server database.

Developed java classes to access SQL server data using Hibernate

Converted DB2 sql scripts into SQL server db scripts, about 80 tables and views.

Developed user interface uses Angular on the client side and Restful web services (Jersey implementation of JAX-RS) on the server side, accomplished dependency injection by using JBoss Weld implementation of Contexts and Dependency Injection (CDI ) and Google Guice

Utilized Eclipse IDE in Java coding, troubleshooting, unit testing, integration testing

Technical Environment:

Java, Groovy, JSP, SQL server, Junit, Jmeter, Hibernate, Spring MVC, Maven

Project 4

Sun Life (Waterloo, ON, Canada)

Application Designer

Dec 2015 – Dec 2016 (13 months)

Project Description:

Tax Exempt Test as add-on feature to existing Life Insurance Policy Admin system. It is Java web application with Oracle database and running on Tomcat application server

Tasks Performed:

Performed gathering and analyzing business requirements, translating into Design statement with use cases, data models, working flows, state machines, orchestration, and network resource models.

Developed Tax Exempt Test web pages using JSP, HTML

Developed Tax Exempt Test web service which used WSDL + SOAP. Used SOAP UI as test tool

Used JPA based configuration and hibernate to perform CRUD operation on Oracle Database. Auto-configure Data source, create repository to access DB, define domain model.

Utilized Eclipse IDE in Java coding, troubleshooting, unit testing, integration testing

Documented Design Statement, Technical Specification, Test Plan, Test Cases, Release Plan, Production.

Technical Environment:

Java, JSP, HTML, XML,Unix Shell Script, Oracle, Linux, Tomcat,JMS, JUnit, JMeter

Project 5

Canada Life (Regina, SK, Canada)

Senior Software Developer

Jan 2010 – Nov 2015 (71 months)

Project Description:

Modernization of legacy systems. Microservices architecture was adopted and the solution was based on Java and Spring framework, SOAP web services running on Websphere application server. For each legacy system, existing functions are wrapped and exposed as microservices such as Policy Details, underwriting histories, claim histories, policy tax exempt status etc.

The architecture is multi-tier with browser-based presentation layer, application logic layer and data layer. The presentation layer running on Websphere, to communicate with the Mainframe application logic layer via WebSphere MQ calls. XML messages as the data transport mechanism for the source or the result of a Business Function request. The application logic on mainframe written in COBOL, is to execute Business Functions, and return response to the presentation layer. Databases are Oracle and DB2.

Tasks Performed:

Performed gathering and analyzing business requirements, translating into Design statement with use cases, data models, working flows, state machines, orchestration, and network resource models.

Designed and Developed web application incorporated with underwriting rule engine to replace the mainframe CICS New Business online. It is written in JAVA. Frontend is in JSP and html, backend in JAVA and SOAP web service. Oracle Database. JPA was utilized for Object/Relational Mapping and database persistence. Used SOAP UI as test tool.

Utilized Java Transaction API (JTA) to enable Java applications and application servers to perform distributed transactions across XA resources which leveraging two-phase commit on multiple databases.

Designed and developed Product service which contains web tier in JSP and html, business logic layer and data access layer using hibernate to interact with Data Tier on DB2 database.

Designed and developed batch jobs using Spring Batch in Java.

Designed and developed printing function using Apache PDFBox

Utilized Eclipse IDE in Java coding, troubleshooting, unit testing, integration testing

Technical Environment:

Java, COBOL, JSP, Linux, Oracle, Mainframe, DB2, WebSphere, MQ Series, CICS, LDAP, WSDL, SOAP, UML

Project 6

HP Canada (Toronto, ON, Canada)

Consultant – INGENIUM

Jul 2003 – Sept 2009 (75 months)

Technical Environment:

Java, COBOL, JSP, Linux, Oracle, Mainframe, DB2, WebSphere, MQ Series, CICS, LDAP, WSDL, SOAP, UML

Project 7

Necho Systems Corp (Mississauga, ON, Canada)

Java Developer

Jun 2000 – Dec 2002

Technical Environment:

Java, Windows, Linux, Oracle, WebSphere

EDUCATION

BSc. – Computer Science, North-Western Polytechnic University

CERTIFICATE

Sun Certified Enterprise Architect (SCEA) (2004)

Sun Certified Web Component Developer for J2EE[TM] (SCWCD)(2003)

Sun Certified Programmer for the Java 2 Platform (SCJP) (2003)

SKILLS AND ATTRIBUTES

Design Tools and Applications:

Linux, Windows, Mainframe, Eclipse IDE, UML, ANT, Maven, Docker, Docker Compose, Kubernetes, Helm, GIT, Jeckins, Junit Test, Postman, Subversion (SVN), Oracle VM VirtualBox, YAML, XML, JSON, Agile/Scrum methodology, Jenkins,JIRA, UML, Swagger

Test Engineering Tools and Expertise:

JUnit Test, Mockito, Postman, SOAP UI, JMeter

Software Applications Knowledge:

Java, JSP, COBOL, JCL,Angular, TypeScript, Node.js, Spring framework, SpringBoot, AWS, OpenShift, Event-Driven architecture, microservice architecture, Design patterns, J2EE/J2SE, OpenJDK, Python, JavaScript, JAVA Swing, JMS, EJB, JSON, XML, HTML,CSS, XSLT, lambda expressions, SQL server, Oracle, MariaDB, DB2, client-server, distributed servers, clustering, high-availability, scalability, geographical redundancy, quality assurance, multi-threading, concurrency, CI/CD, WebLogic server, Tomcat, Jetty, Apache Httpd, Kafka, JMS, RabbitMQ, HAProxy, load balancing, metrics, telemetry, logging, debug, Keycloak, ElasticSearch, Prometheus, Grafana



Contact this candidate