Kesheng Yang 2022
Kesheng Yang 2022
[email protected]
612-369-9940
DBPROFESSIONAL SUMMARY
Almost 9 years of experience as a full stack Java developer in the development of web distributed
Enterprise applications for banking, financial, government, and Telecom organizations by using Java
J2EE technologies.
Experience in MVC architecture such as Spring MVC, Struts 2, and Java Server Faces.
Expertise in server-side implementation of DAO by using JDBC, MyBatis and Hibernate, and other
beans of controller and service layers.
Proficient in XML technologies like XSLT, SAX, DOM, XPath, WSDL, DTD, XSD, SOA, JAXP, JAXB,
Castor, Apache Axis.
Proficient in JSON technologies like Jackson, Gson, and so on.
Experience in client-side development with HTML, JSP, CSS, JavaScript, JQuery, AngularJS, Ext JS,
React, DOJO, and so on.
Hands-on experience in core Java with multithreading, Concurrency, Exception handling, File
handling, IO, Generics, Data structures, Collections, and Garbage Collection.
Developed Service Oriented Architecture (SOA) based on J2ee applications that conforms SOA
standards using JMS, SOAP and RESTful.
Experience with test-driven development using various testing frameworks such as Junit, Mockito,
Spock, and Spring test framework.
Hands-on experience with data modeling and data management under relation databases by
creating database objects such as tables, stored procedures, triggers, views, and so on.
Experienced in all kinds of application servers such as IBM WebSphere, Oracle WebLogic, JBoss,
Apache Tomcat, and Apache HTTP server.
Understanding and hands-on experience in security concerns involved in web application, such as
SQL injection, XSS, CSRF, encryption, etc.
NoSql data processing with scripting languages like Bash, Perl, and Python, with data indexing and
searching tool such as Solr/Lucene, and with scientific data management tool, e.g. MatLab.
Extensively used J2EE Design Patterns.
Experienced in implementing full life cycle of software development process (SDLC).
Experienced with software development in Unix/Linux and Window OS.
Knowledge of log tool such as Log4j and Self4J.
Experience working with Agile SCRUM, Waterfall and working in pair.
Using FORTRAN and C++ to simulate the random processes of high-energy collider with Monte Carlo
method.
TECHINCAL Skills
Programming Languages : Java, Groovy, C++, FORTRAN, JavaScript, Bash, Perl, Python
Web Development Skills : Servlet, JSP, JSTL, Customized tag lib, HTML, Tiles, CSS, XML,
JSON, SOAP, and Restful
Kesheng Yang
[email protected]
612-369-9940
Frameworks and Open Source Tools : Spring, Struts, SpringBoot, Log4J, JQuery, Angular, Ext JS,
JUnit, Mockito, JSoup, Spock
Data Mapper Frameworks : JDBC, Hibernate, MyBatis
Database : Oracle, MySQL, MS SQL
Programming Tools : Eclipse, My Eclipse, Net Beans, Intellij
Other Tools : Ant, Maven, Gradle, JFrog, uDeploy, SVN, RTC, ClearCase,
GitHub, GitLab, Jenkins, Selenium, Jira, HP ALM, Splunk,
Docker, Openshift, Kubernets
Application Servers : Tomcat, WebLogic, WebSphere, JBoss, apache HTTP
Operating Systems : Windows, Unix/Linux, macOS
PROFESSIONAL EXPERIENCE
Responsibility:
Analyze production issues such as Quartz job misfiring exception by writing CloudWatch query.
Write logs to enhance the ability to trace issue in different environments.
Design and implement Quartz jobs to periodically scan database, and then send notification,
welcome message and gift card to customer.
Design and implement web service for account creation, data validation, etc.
Write JSON value processors which handle the marshall/unmarshall of different date types such as
java.util.Date, java.time.ZonedDateTime, etc.
Attend Agile/Scrum meeting.
Environment:
macOS, Intellij, Java, Spring, Spring JPA, Hibernate, Maven, GitLab, Jenkins, Docker, Postman,
CloudWatch, AWS, Jackson, Quartz, BigQuery, Tomcat, MySQL, Jira, Confluence, and Agile/Scrum
United Health Group, Wells Fargo, Minneapolis, MN November 2021 to April 2022
Role: Java Developer
Description:
Maintain a distributed system in cloud environment to integrate multiple web services and messaging
applications and to provide benefit information for clients.
Responsibility:
Upgrade Log4j1 to Log4j2.17.2 for the vulnerability of Log4J.
Migrate multiple micro-services from Openshit to Kubernets.
Write spock spec with groovy for unit test aiming at 90% coverage.
Performance test and tuning by using Neoload in multi-threading environment.
Upgrade services from springboot 2. 2. 8 to 2.6.6 together with the version change of other
software, e.g., gradle, kotlin, resilence4J etc.
Kesheng Yang
[email protected]
612-369-9940
Environment:
macOS, Intellij, Java, Groovy, Spock, SpringBoot, Gradle, GitHub, Openshit, Kubernets, Splunk, Sonar,
Jenkins, Docker, Postman, Neoload, Tomcat, Jacoco, Resilience4J, Agile/Scrum
Responsibility:
Attend group meeting to discuss on project architecture, new api’s to be added, updates to existing
api’s, and the impacts of any change to existing functionalities and other teams.
Attend scrum meeting with team leader, scrum master and other developers to share the progress
of assigned tasks.
Analyze, design and develop RESTful API under spring boot to integrate dozens of external API’s
based on the JSON schema of incoming requests.
Write entity objects which maps to database tables, and DAO beans which fulfill the CRUD functions
by using Spring JPA.
Change and set the TomCat configuration files for different environments.
Write test cases for different functionalities such as Kafka producer/consumer, database connection
using in-memory H2 database, etc.
Refactor the existing code based on Fortify static code analysis.
Create and edit Wiki document for API details, application settings, project architecture.
Provide technical guidance and support to offshore developers.
Environments:
Windows, Eclipse, Java, Python, Spring boot, Quarkus, TomCat, Oracle, Kafka, Maven, Gradle, GitHub,
JFrog, Jenkins, Jira, JSON, XML, Postman, SQL developer, React JS, Log4J.
Does Job Diva harvest resumes from the job boards and also do we still have the evergreen search
Responsibility:
Add token update process to the existing SSO mechanism by implementing new beans to validate
and update token through ACSS web service under multi-threading environment.
Refactor the AJAX code to protect sensitive data from passing data in cloud environment, which
directly call web service and display the response on webpage without breaking SOP, and create
overlay to disable sensitive data copy/paste.
Take advantage of Solr/Lucene to index and search large set of Java objects of size up to 1 million.
Analyze and fix Log4J issue under multi-threading environment.
Environments:
Windows, Eclipse, Java 7, Log4J, multi-threading, Ant, Maven, Jenkins, Spring, GitLab, Jira, Tomcat,
Apache HTTP, JavaScript, JQuery, Ext JS, Ajax, Restful, XML, XSLT, JAXB, Solr/Lucene, Oracle, SQL
Developer.
Responsibility:
Lead the deployment process, which migrates from Ant to Maven integrated with Jenkins, Tortoise
SVN, JFrog Artifactory and uDeploy.
Independently upgraded Fatca webapp from Strut1 to Struts2, and so made many changes to action
classes, JSP tags, and JavaScript functions.
Upgraded existing application from Java 7 to Java 8 and included Java 8 new features such as
stream, functional interface, date, etc.
Created new activities by using Java concurrent API, which spawn multiple sub-activities running in
parallel to enhance the performance of existing activity.
Set task with Windows task scheduler, which triggers a Java program through a batch file to update
current user roles of WSS database based on the information from LDAP server. This task runs 24
hours a day.
Created database objects of Oracle PL/SQL, such as tables, stored procedures, triggers and views.
Wrote Windows batch files and Perl scripts to trigger and manage the flow of programs.
Implemented the business logic to generate financial reports of stock market transactions in CSV
format.
Designed and implemented excel controllers with VB to load data from data source and refresh
excel cells.
Maintained and enhanced the Security Center, which is an access control system implemented
under Spring security framework.
Environments:
Kesheng Yang
[email protected]
612-369-9940
Windows, Eclipse, Java 7/8, Log4J, multi-threading, Ant, Maven, Jenkins, JFrog, uDeploy, Struts2, Spring
security, WebLogic, Perl, Python, XML, Oracle PL/SQL, JDBC, Tortoise SVN, LDAP, Visual Basic
Responsibility:
Enhance the web page layout.
Involved in the Single Sign-On (SSO) implementation for Fidelity’s mobile user based on federated
identity management. Focusing on implementing the server side application to receive SAML from
client, extract the hashed ID from SAML, get US Bank account information based on the hashed ID
by calling JMS services, create ObSSOCookie by calling Federate server through HTTP protocol,
finally send ObSSOCookie to client as a HTTP header. In the near future, e.g., 90 days, if the user
wants to access his account again, his device will send a http request to US Bank server with the
ObSSOCookie in the header. Once US Bank server receives the request, the server first check the
ObSSOCookie is valid or not. If valid, then pass the required information back to client, otherwise
terminate and send error message back.
Improve the ICS enrollment system by adding a sub-process to delete WebId from ICS database if
and only if enrollment fails when adding user’s credentials to the LDAP container.
Write server side code to allow Samsung users to login his US Bank account with their irises,
focusing on the validation of certificate chain relationship and signature, and on the processing of
JMS request and response. To validate certificate chain, I need verify a series of certificates are
signed by its parent certificate, compare the root certificate with the certificate from JKS file which is
stored inside server machine, verify that the signature is signed by Samsung root certificate, and
compare the root certificate with certificate stored in LDAP container. To process JMS calls, I use
Castor generation mode to map the XML to and from Java object.
Setup WAS by configuring IIS in Windows 7, installing OAM Webgate, adding new HTTPs certificate
and new JMS queues, etc.
Experience with Waterfall methodology, and communicate with multiple teams distributed across
the nation.
Environment:
OAM Webgate, IIS, RAD, WAS 7 and 8.5, RTC, ClearCase, Java 1.7, J2EE, HTML, JSP, JavaScript, CSS, Tiles,
Struts 2, Spring MVC, Log4j, DB2, LDAP, JMS, XML, SAML, XSLT, Ant, Castor, Windows, IBM Notes.
Description:
Kesheng Yang
[email protected]
612-369-9940
This long existent project is targeted to present the information of plants across North America and
related regions to researchers, students and any other persons who are interested in botany. The
involved database includes plants’ names, symbols, distribution, ecology status, and so on. Any
interested users can find the expected data on https://plants.usda.gov/core/profile?symbol=abba.
Responsibility:
Involved in analyzing the existing System and developed spring framework web flow for different
modules.
Implemented the map application by using ArcGis JavaScript API and Esri map data integrated with
Google map web service.
Wrote the user role management system and admin tools under Spring security framework. These
tools allow users of different roles to work with plant data base.
Designed Restful API which is secured with Spring security framework.
Wrote coupled filters of user input boxes, and front end input validator.
Designed and developed UI using HTML, JSP, JavaScript and JQuery for interactive cross-browser
functionalities including slide show of plants’ images, re-sizable tables and dialog windows.
Developed JSP for the multiple views in the presentation layer under Spring MVC framework
integrated with Apache Tiles 2.0.
Used JSTL and wrote custom JSP tag libraries to implement complex HTML elements.
Designed paging mechanism to present tables with thousands of rows and about 30 columns.
CSS was used to style the HTML elements.
Designed the tree structure of geographical distribution of plants and wrote the corresponding
services used to convert SQL result sets to convenient structures.
Designed different sorting mechanisms for user friendly views in both service layer and front end.
Created CSV file generator.
Wrote MyBatis mapper xml files, MS Sql stored procedures and persistence layer Java code.
Added Maven support to existing projects.
Developed test cases by using JUnit and spring integration test framework.
Wrote test cases for automation test with Selenium, and used Selenium IDE for web testing.
Experiences with Agile/Scrum including creating tasks in Collab, track task status, communicate with
team, etc.
Environment:
Java 1.7, J2EE, HTML, JSP, JSTL, JavaScript, CSS, AJAX, JQuery, XML, JSON, Tiles, Spring Quartz, Spring 3.0,
Spring security, IOC, JUnit, Log4j, Spring test, MyBatis, Web Service(Restful), Eclipse, Tomcat, Maven,
Jenkins, Selenium, SVN, MS SQL and Windows.
EDUCATION