Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

Kirby Zhang

Sr. Java developer

138-34 Elder Ave Flushing NY 11355

Contact No: 929-306-9665

zhangkirby@hotmail.com

SUMMARY

 Over 19 years of professional object oriented & functional programming, App developer

 Over 13 years of Java programming experience with design patterns in Core Java, includes 7 years
of hands-on Java program.

 Over 8 years experienced in designing and developing experience in multi-tier JEE modules, multi-
threading and concurrent access handlers, integration of legacy applications via messaging
systems.

 More than 6 years experience in the analysis, design and architecture of Enterprise applications on
middle-tiers, as Agile Scrum.

 Over 18 years of HTML5/CSS, JavaScript including ES7, ES8 as well as various .Js libraries, and
relative techniques experience.

 Extensive practical hands-on experience in developing, maintaining, re-factoring, testing and


formatting of applications and integrating disparate component.

 Strong knowledge in Object-Oriented programming, large-scale Enterprise Application (Full-stack


programming) and Network programming.

 Well versed with entire development life cycle and facilitating Agile practices.

 5 years experienced in micro-service architecture API and SOA architectures

 Strong analysis and problem-solving skills. Enjoys teamwork.

 With over 18 years of Software Engineering experience, almost exclusively in Java, I bring a depth
of knowledge and technique. I have years of experience in the design and coding of enterprise
grade software and web applications as well as familiarity with patterns and full life cycle
development practices. My greatest strength however, is my fast learning new knowledge and
update it.

 Coder and architect with solid track record

TECHNICAL Skills

Java Frameworks: J2SE/11, Apache Commons API


Open Sources: Spring/5.0, Hibernate/4.0 with JPA 2, MQ, Web service (Apache CXF), Golang, Apache
Kafka/2.3, Spark Streaming/2.3 API, and Hadoop.

Development Environments: AWS cloud, OAuth2, Databases (ORACLE, NoSQL, DB2, MySQL), OS
(Windows, UNIX, Linux), Application Servers (Tomcat, JBoss, WebSphere,
WebLogic), Jenkins and Maven.

Scripts Languages: Bash, Perl, and Python/3.8.

Front-end: HTML5, CSS, JavaScript including ES7, ES8 as well as various .Js libraries, jQuery, Angular,
Node.js.

EXPERIENCE

U.S. Patent and Trademark Office (USPTO) Alexandria VA 06/20 - 12/20

Role: Sr. Software Engineer and Java development director

The job requires to create a new messaging system under the Patents End to End (PE2E) application. It
integratedmultiple systems with various producing and consuming services for its respective function. It
developed based on Micro-service architecture.

 As a Tech leader, working with designing team, using microservice 12-factor app principles on
analyzing, designing and documenting new modules in the architecture of current application,
redactor some modules logic to improve performance.

 As a Sr. developer, responsible for hands-on code quality and maintainability including handle
multi-threading in current accessing, paralleled streaming processing, developed microservice APIs.

 Defined and developed various module APIs and services logic with messaging system which
controlling transaction of big data in paralleled streaming processing and Caching. Used Kafka
connecting API and Connect API so can connect Kafka broker with other systems, like Hadoop, and
do stream processing .

 Worked on AWS environment. Developedmessaging processing services in AWS environment by


using EC2, DynamoDB,RDS, Elastic Beanstalk, Lambda (use Java, Python, Spark), IAM, ECS, EMR,
EKS, API Gateway,CloudWatch services etc. Deployed services in public cloud (by using AWS) and
private cloud (by using Kubernetes and Docker). Also developed the handling transaction big data
in paralleled streaming processing.

 Developed new system configuring with various resource for running applications

 Built and configured new modules in systems.

 Tech used: Java 11, Spring boot,Spring 5 (include MVC, Batch, Data, Security), Hibernate with JPA,
MQ, REST service, OAuth2, Batch and streaming API (by using Spring batch, Apache Kafka (includes
Stream and Connect) and Spark), Angular and Node.Js, Scripting (Bash).

 Used tools: IBM WAS, Docker, Kubernetes, Rally, Splunk, SonarQube, Jenkins (included making
Pipeline), SoapUI, Postman, Maven, GitHub, MongoDB, MySql.

 Used Junit, Mockito, SpringMock on unit and integration test.


Capital One Bank Chicago IL 10/19 - 04/20

Role: Technique Java leader and Sr. JavaDeveloper

Working on Data-Journey project which processing daily Credit Card purchase information processing. The
project designed based on Micro-service architecture, processing Big data exchange and transaction.

 Worked with design team, designed new modules of the project based on using microservices 12-
factor app principles. Created the new project workflow document and APIs

 Developed various classes in the project.

 Developed messaging system of processing transaction of big data in paralleled streaming by using
Kafka (includes Stream and Connect), Spark, MongoDB, Hapdoopand Sprint ETL.

 Using Spring Data, Hibernate with JPA process data transaction

 Developed modules of data transaction processing by using Java 11, Golang, Spring 5, Hibernate
with JPA, Spring boot and OAuth2.

 Using AWS services like EC2, DynamoDB,RDS, Elastic Beanstalk, Lambda (use Java, Python, Spark),
IAM, ECS, EMR, EKS, API Gateway,CloudWatch etc. developed the project

 Deployed services in public cloud (by using AWS) and private cloud (by using Kubernetes and
Docker)

 Using PGP for cryptograph, and Golang for tokenizing

 Using Apache AirFlow as monitor in AWS

 Used Nebular to manager cloud data storage.

 Used Docker, Kubernetes, Jira, Splunk, Jenkins (included making Pipeline), Oracle, GitHub and
Maven.

 Used Junit, Mockito, SpringMock on unit and integration test.

PNC Bank Pitts. PA 03/19 - 09/19

Role: Tech Java Leader, Sr. Full-stack Java (focus on back-end) developer

Upgraded PNC Bank Credit Cards online web-based services by creating the new manager system (Angular,
Restful) and integrating with the legacy system (Servlet, SOAP,). The new projects developedby using
Spring boot service in microservice architecture.

 As a Tech leader of project, managed onshore and offshore teams Tech concerns, responsible for
designing, documenting new modules business logic, and hosting daily code review.

 As a Sr. developer, responsible for hands-on code quality and maintainability including design
microservice APIs, refactor APIs of modules and developed various modules of maintaining various
credit-card on-line.

 Integrated legacy service (SOAP) and microservice (REST) applications, and utilized the complex
service in middleware

 Developed messaging system for exchanging data by using Spring boot, Kafka API(includes Stream
API and Connect API), Spark and MongoDB.

 Used open source: Java 8, MQ, Spring 5, Spring MVC, Spring Data, Hibernate with JPA, Spring boot,
Spring Security library with OAuth2, JAXB, XSD, Groovy, Angular, Node.Js, TDD, Junit, Mockito,
SpringMock, Swagger UI and SoapUI.

 Used WebSphere as server. Maintained data in MongoDB and Oracle with PL/SQL.

 Worked as Agile scrum developer.

 Used GIT and Jenkins (included making pipeline) for version controlling in GitHub Used Docker and
Kubernetes. Used Jira tool on managing projects processing. Used Scripting file (Perl, Bash) on
server environment.

Bank of America Newark DE 07/18 - 01/19

My role: Sr. Full-stack (focus on back-end) Java developer

Worked on upgrading the excising online banking service application with new service features. All projects
built on Spring boot service in microservice architecture.

 Worked with design team, analyzed UX and API components in architecture, to assure high quality,
timely delivery and implementation of the projects, assure the overall success of the project. Worked
as Scrum developer to define efficient logic.

 As a Sr. developer, responsible for hands-on code quality and maintainability including design API in
proper pattern, unit testing and following standards on these main logic of new back-end services and
built them in the existing applications.

 Developed various services of maintaining Cash-flow by using Java 8, Golang, Spring 5.

 Developed messaging system for exchanging data by using Spring boot, Kafka(includes Stream and
Connect), Spark, Hadoopand MongoDB.

 Refactoring and modified the projects for enhancing performance.

 Developed UI by using Angular 6, JavaScript libraries.

 Performed daily application supporting, troubleshooting various application defects occurred while
running.

 Used open source: Java 8, Groovy, MQ, Spring Core, Spring MVC, Spring boot, Spring Security library
with OAuth2, Spring Data, Hibernate with JPA, Golang, JAXB, XSD, Angular, Node.Js, Junit, Mockito,
SpringMock, Swagger UI and SoapUI.

 Used WebSphere as server. Maintained data in DB2, Oracle with PL/SQL, and MongoDB

 Tools used: GIT and Jenkins for version controlling in cloud Bitbucket. Used Splunk for tracing and
collecting information. Used Docker, Kubernetes for running and testing modules. Used Rally as Jira
tool on managing projects processing. uBuild and uDeploy, Used Scripting file Bash) on Server
environment.

United Airlines Chicago IL 06/2017 - 06/2018

My role: Sr. Full-stack Java developer on microservice

This is a brand-new web application which a part of Enterprise application of United Airlines, It was
developed based on microservices architecture and AWS service.

 As Sr. developer I participated in the designing team, defined and described the business logic in
microservices API of new modules by using SDLC/agile methodology, TDD.

 Deployed microservices by using Spring boot, Rest API and Spring Security API.

 Developed AWS Lambda(Java, Python), S3, EC2, ECS, API Gateway, IAM, RDS, DynamoDB,
Elasticssearch, etc.

 Configured Kafka connecting Kafka broker with datasets. Developed the modules on messaging
system for real-time high volume data exchange by using Kafka, Spark Streaming framework, JMS,
Hadoop and MongoDB.

 Developed the module that parsing and formatting data by using XML Schema, JAXB, Jackson API,
XSD and XPATH

 Developed the services of real-time automatic pushing data by using Java Event listener API.

 Using Hibernate with JPA and EhCache processing transactions.

 Using Spring Security framework with Single-Sign-On on Web application.

 Hand-on coding in multi-threading environment and current accessing.

 Used Scripting file (Perl, Bash) on Server environment.

 Used Junit, Mockito, SpringMock API for server side unit testing

 Work environment: Java 8, IBM WAS 9, Oracle DB/12g and PL/SQL, AWS, Maven, Git, Jenkins
(included making Pipeline), Docker, Agile with Jira.

Verizon Spring Valley NY 07/2016 - 0 6/2017

My role: Application Supporter and Sr. Java developer

The Hyperion application is responsible for managing and monitoring all projects running in Verizon
servers. The application designed basic on micro-service architecture

 As an Application Analyst and Supporter, cooperated with Business Analyst and QA. Analyzed
multiple relative Verizon projects running daily reports, designing and describing new modules of
application for making optimized applications and improving performance in these system
environments. Created xml files and scripting files (bash and Perl) for configuring components in
servers, process various text files, documentation files and setting communication between various
applications. Created scripting files for various regress testing and do regress simulation testing.
 As a Sr. Java developer, focus on back-end of application. Integrated and managed various
components under multiple servers. Created new modules with proper patterns, defined Java API.
Updated projects by using newer technical API version like Java/8, Spring/4 framework, Spring
Boot, Spring Batch, and Hibernate 4/JPA 2.

 defined business logics in middle-tier to optimize data structure. Improved performance of data
structure, by calculating algorithms on them, Made better controller to multi-threading and
concurrency to access to local storage (Cache). Created module to performed high-volume data
transaction. Built messaging modules to transfer data effectively between server.

 The technical skills used: Core Java 8, JEE/6, Spring/4 framework, Spring Boot, Spring Data, Spring
Batch, Hibernate/4 with JPA 2, MQ, Pentaho ETL, Maven, Shell Scripting language (Perl, Bash) and
Apache commons API.

 Used Junit and Mockito doing unit test, TDD doing automated acceptance tests.

 The projects version are managed by Apache SVN , Git and CI(Jenkins).

 The application is developed and managed under Eclipse, JBOSS AS, Oracle/12g, PL/SQL, Jira, UNIX
system.

 Software Tool used: SSRS ( SQL Server Reporting Services), TOAD, Putty.

US Department of Labor Washington DC 11/2015 – 05/2016

My role: Agile/Scrum developer and Sr. Java developer (back-end)

The brand-new enterprise application is built to a new application (OSHA system) based on micro-service
architecture with Apache Camel as EIP, which replacing the two legacy systems. it communicate with
distribute systems in all State of USA for transferring and sharing data. Projects created in Spring boot.

 As a scrum developer, analyzed and defined the applications in microservice, created the high-level
virtual business logic modules of documents, based on micro-service architecture, that describing
new applications and defined service APIs, functions required, Design patterns, data types and TDD
test by using SDLC/Agile methodology and BPMN.

 Developed various service by using Spring boot, Spring Security and export services on cloud by
using Spring Cloud API.

 Developed various service by using Spring boot, Spring Cloud and Netflix OSS server (Eureka).

 Developed services for on-line payment process (to Bank of America)

 Developed UI components based on MVC pattern by using JavaScript, Ajax, Angular.

 Developed Spring Security with Single-Sign On (SAML) for Web service.

 Developed services of messaging processing on distribute systems communication. It uses Spring


integration with MQ, Web service (Apache CXF), includes SOAP and RESTful.

 Developed services in middle-tier to optimize data structure and multi-threading access local
storage (Cache) and high-volume data transaction.
 Using Spring Batch process big data.

 Developed various PL/SQL for manipulating data.

 Used open source: Java 8, JEE/7, Spring core/4, Spring Boot, Spring Data, Spring batch, Spring ETL,
Hibernate/4 with JPA, Struts2, EHCache, Java Shell Scripting language (Groovy, Bash) and Apache
commons API.

 Used Junit, Mockito, SpringMock API for unit testing

 Track records in DB by using COBOL report and Oracle report.

 The application is developed by using Eclipse, JBoss server, UNIX/Linux system and WebLogic/12c,
Maven, Toad for Oracle, GIT, CI(Jenkins), Jira, Docker and so on.

Goldman Sachs Jersey City NJ 10/2014 – 09/2015

My role: Sr. developer and Project Supporter

Worked on Enterprise Banking and Trading system application which collecting Global data (equities and
currency data) from Capital Markets in wild world and Fixed income information, equities trading
information, processing Data sourcing. maintaining Data exchange, keeping track to data process, maintain
data in DB and generating report files or loadable files based on the processed data.

 Using proper design pattern created Spring-enable modules worked on middleware in JEE
environment, which using Core Java (J2SE/1.7), J2EE/6, JPA 2, Spring/3, Spring Data, Spring Batch,
Hibernate/4and Apache common API.

 Developed Maven modules for controlling multi-threading access the sharing data. Using Junit and
Mockito do testing.

 Developed Maven modules which do data sourcing, retrieve message from MQ protocol and FIX
protocol, parsing, processing the data and creating loadable data files and generating reportable
files.

 Defined business logic in middle-tier to optimize data structure by calculating algorithms on them.
Made better controller to multi-threading access local storage (Cache). Using Spring Batch process
high-volume data transaction.

 Created Shell Scripting files (Perl, Bash) to command and bootstrap the maintaining process doing
draw, save, retrieve, load and remove.

 Version controlling by CI(Jenkins), GIT on Bitbucket.

 The application is developed by using under IBM WAS/7.0, Oracle/11g, UNIX system.

UPS Co. Paramus NJ 08/2013 – 07/2014

My role: Sr. Full-stack Java Developer on Enterprise application

Project: Global Information Operator (GIO) offers the service that tracking, collecting and maintaining
global information for UPS shipping service.
The application is built based on SOA architecture, which using messages to carry and transport data for
exchanging. It used Apache Camel EIP and Fuse ESB for integrating and managing relative components with
various tech language to build the processing data routing, exchanges data on endpoint of messages.

 Participated in the designing new modules team. Analyzed the data flow in application, Created the
detail high-level document (using UML and MS Excel tools draw class diagrams and workflow
sequence diagrams) of new modules by using SDLC/Agile (Scrum) methodology and BPMN.TDD
test for new reusable modules based on OOD and applied proper Design Pattern.

 Designed XSD schemas for data parsing and formatting.

 Defined new Spring-enable module’s prototype API worked on mid-tier of Enterprise application in
JEE environment.

 Created message processing service in middleware by using SOAP, REST and JMS (Apache CXF,
ActiveMQ). Using Apache Camel as Enterprise Integration Patterns integrate various modules in
message routing. Using FUSE as ESB to centralize controls on messaging system. Throughput is
controlled by a throttle mechanism that limits the message per second rate. This component was
packaged as one OSGi bundles and deployed into ServiceMix on designated FUSE Linux servers.

 Created Cache (EHCache) module for maintaining daily accessing data under multi-threading
control. Merging data in Oracle DB used SQL, PL/SQL. Use Spring Batch for ETL processing large
volumes of records transaction.

 Technique used: Spring MVC framework with HTML, CSS, JSP, JavaScript, Xpass and XSLT. Apache
SVC for version controlling. Jira for monitoring job schedule. Scripting file Perl and bash in UNIX
system

 The application is developed under RAD/8 with WebSphere server/7.0, Oracle/11g.

 Unit test were done by using Junit, Mockito.

Norcapco Integrated Solution Inc East Brunswick NJ 02/2008 – 06/2013

Full-Stack Java developer with 1 years’ leadership

 Lead the team, 5 members, working on a web application. Mentored junior developers

 Design & development focus of a high visibility and mission critical projects using cutting-edge
technologies and frameworks.

 Project: various web applications, B2B commercial systems for enabling on-line access. Commercial
software, like SOAP based Web services, utility Jar files, refactor to improve various Java based
Web applications.

 Migrated some poorly performing and outdated application from J2EE 1.4 to J2EE 5 version.

 Coded the logical and physical data model for Oracle 9i database.

 Tuned SQL statements, Hibernate mapping to improve performance by 20%.


 Built and deployed Java applications based environments and produced both unit and functional
test results along with release notes.

 Took pleasure in human side of my work when interacting with the co-worker and business users.

Environment: Java/1.5, J2EE/6, Ajax4, JavaScript, jQuery, Struts, Spring, XML, XSL, XSD, Hibernate, Oracle
10g, PL/SQL, SOAP based Web service, WAS server, JMX, ANT, Maven2.

EDUCATION

 Master Degree in Mathematics from CITY UNIVERSITY OF NY, 07/2002

 Master Degree in Computer Science from CITY UNIVERSITY OF NY, 07/1999

 Bachelor Degree in Mechanical Engineering from the Xian Polytechnic University. Xi An China, 1993

Professional Affiliations

Member of at http://www.iteye.com to keep my knowledge up to date on latest developments

Member of the Computer Association of NJ (CANJ)

Maintaining a Java blog at http://ITtoolbox.com to communicate my findings and thoughts.

You might also like