Summary
Overview
Work History
Education
Skills
Timeline
BusinessAnalyst
Zhaonan Zhang

Zhaonan Zhang

MTS 1, Software Engineer
Phoenix,AZ

Summary

An accomplished Software Development Engineer with thorough hands-on experience in all levels and stages of Application Development, which includes analysis, design, prototyping, implementation, testing and maintenance of projects in the areas of Java/J2EE client and server side Enterprise Applications.

Excellent communicator with exceptional team-building skills, dedicated, self-motivated achiever and ability to work independently in a timely manner and perform well within cross-functional team.

Overview

7
7
years of professional experience
2
2
years of post-secondary education

Work History

MTS 1, Software Engineer

PayPal Inc.
Scottsdale, AZ
10.2018 - Current
  • Work under Agile methodology to design and develop modules and functionalities for multiple applications to perform administrative operations around Load Balancer, DNS, Certificate and Bare Metal Provisioning.
  • Implement REST Web Services for managing F5/AVI Load Balancer related entities like Server, Service, Pool, VIP, Profile, Policy, Monitors, etc on CRUD operations with Spring framework.
  • Refactored logic around synchronizing data from Maria DB cluster to CMS(Content Management System) to improve stability and performance for new metric requirements.
  • Implemented Keystone client library which is used by multiple applications to perform Keystone authentication.
  • Implemented Authentication Filter library which is used by multiple applications to perform authentication using either LDAP or Keystone or No-Auth, and integrated with Spring Security to do role validation based on scope of Web Services endpoints.
  • Initialized and implemented IRE application to gather and present consolidated reports regarding of multiple types of metric data generated by our applications using AngualrJS and NodeJS.
  • Led the team in removing distributed lock from Skynet(Load Balancer as as service) and replace with generic optimistic lock detection and retry mechanism integrated with JPA to improve performance, reliability to get application ready for higher volume of traffic using by other teams.
  • Designed and developed functionalities and DB schema for fetching real-time statistics including status and connection total from Load Balancer for entities like VIP, Server, Pool, and Service.
  • Designed and implemented Certificate Management suites (Compass, Certificate Management Portal and Hub and Meridian, Certificate as a service) which is the one-stop shop for TLS/SSL certificates life-cycle management and deployment. Customers could utilize the suites to rotate certificates on VIPs in few clicks with fully automated processes, and customers are provided with granular controls over the events including immediate rollback ability. The application is now widely used and contributes significantly in completing the ecosystem built around our applications in PayPal and GoPay, China.
  • Enhanced Vault Client for Secret Server and integrated it with our application. Designed and initialized the first implementation of Vault Client for Hashicorp Vault.
  • Independently implemented Single-Transaction module in Skynet to boost performance in large amount of concurrent service addition/deletion calls (up to 500 concurrent hosts sending multiple requests concurrently to shared pools on a single load balancer) to accommodate with requirements got from upstream customers under the circumstances that load balancer itself becomes the performance bottleneck, which is critical in integrating Skynet into service flex-up automation process.
  • Designed and implemented Bare Metal Daemon(BAMD) application for agnostic bare metal provisioning/de-provisioning service for multiple vendors(Supermicro, Dell, HP and Lenovo) and SKUs which servers for 55K+ assets in PROD to enable automation in setting up new asset or repurposing any existing asset to ready-to-use state.
  • Mainly responsible for managing DHCP services in PROD for ILO subnets in high availability mode to enable BAMD for bare metal provisioning/de-provisioning.
  • Collaborated with OSCAR team to get the automated OS image publishing process in-place to reduce the overhead and make the new images available immediately for bare metal provisioning.
  • Collaborated with the ecosystem and drove the solution of designing and implementing DNS notify message based automated CMS ILOM update workflow in UnifiedDNS to cover the ILO NULL ownership gap, which frees the onboarding team from manually performing certification and validation for SecOps team. CMS ILOM entities are now dynamically updated whenever the IP of it changes in near real time.
  • Contributed to build all base(DB, Tomcat, Redis) and application(Skynet, UnifiedDNS, Compass, Meridian and Hawkeye) docker images for the team and complete deployment processes with native docker and docker-compose. Solely responsible for implementing StatefulSet for BAMD/DHCP deployment process to PROD Kubernetes clusters.
  • Collaborated with GoPay SAEO team to design and implement the Hashicorp Vault based Certificate Inventory as the replacement of Meridian in GoPay, Chine due to ecosystem differences and challenges.
  • Engaged and contributed to GoPay environment setup including repository mirroring, application deployment and troubleshooting, knowledge transfer and support for counter party, process was delivered prior to deadline with all applications working as expected.
  • Helped with patching docker images for vulnerabilities based on scanned report generated by TwistLock in time manner.
  • Contributed to all phases of development cycle including planning, design discussion, implementation, testing, deployment and monitoring.
  • Stayed on 24/7 on-call rotation for application support during normal days and holiday-readiness seasons.
  • Wrote functional test cases using JMeter and Apache Groovy which is executed in high frequency in UAT environment 24/7 to make sure applications are running properly and efficiently. Introduced live functional tests in PROD for all our applications and made them available through Jenkins instances as part of the weekly deployment process.
  • Perform trouble shooting directly for teams that use our applications. Diagnose and fix defect in timely manner.
  • Collaborate with cross-functioning teams to maintain Infrastructure operations are executed successfully.

Software Development Engineer II

Kaseya
Las Vegas, NV
12.2016 - 09.2018
  • Working under Agile Scrum by attending daily Scrum meeting for process tracking and reporting, and Sprint planning for requirement gathering and planning.
  • Mainly in charge of implementation of back-end SOAP and REST web services for new Polymer Views to replace old Struts action classes and JSP pages which includes modules like Bulk Admin, Department, User, Discovery, Reports, User Preference and Global Config.
  • Redesigned Discovery model to fix multiple critical bugs and multi-threading problems and optimized actual discovery process to make engine recoverable from failures and errors could be properly handled and returned to users. Migrated discovery related data from file system to MySQL database, which includes analyzed, designed and implemented new database schema all by myself.
  • Converted services used by Flash related components such as Panorama and Flow Data Analysis to REST web services in order to be used by new Polymer Views.
  • Integrated VSA with Traverse by fetching corresponding Assets info based on Devices we have in Traverse from VSA to implement Service Desk and Live Connect that authenticated through OAuth.
  • Fully responsible and independently implemented Automation Profile module which is for test provisioning automation purpose based on Automation Rules and Actions.
  • Acting as “Fire Fighting” role of team to handle P0 bugs to perform QFE in order to deliver patch in really short notice and small time frame (2-3 days).
  • Designed and implemented Graph Traverse algorithms (DFS based) to rebuild topology map from discovered devices and perform automatic topology connection updating in one pass including building indirectly topology connections in time complexity O(|V| + |E|).
  • Led Traverse team on one of MVPs to integrate Kaseya Traverse with Kaseya VSA which has highest priority in company including analyzing and breaking down stories, assigning tasks to team members, managing and monitoring development progress, coordinate between two teams, designing database schema, DAO layer, REST endpoints, core synchronization tasks and giving demo to higher managers weekly.
  • Unified Unit Testing libraries used within Team to get rid of JMock and Mockito and provided detailed documentation of regarding of how to use JMockit to write unit testing that targeting 100% code coverage. Also introduced code coverage checking as one of standard of code review process.
  • Led Traverse team to perform thorough dev-side smoke testing and integration testing before handing release to QA/SDET team.
  • Responsible to write Ant script to add build and installation process of Polymer Components into Automatic Build Process.
  • Built and standardized coding standard and agreement for Traverse Team.
  • Developed Traverse Helper which is currently official repository of Traverse to help engineering speed up in daily build and GIT operations.

Programmer Analyst

Marlabs, Inc.
Piscataway, NJ
01.2016 - 12.2016
  • Accepted training of Java/J2EE back-end oriented development and outsourced as contractor to clients.
  • Solid experience and understanding on SDLC models such as Agile Scrum Methodologies and Waterfall.
  • Designed and developed back-end modules with several design patterns such as DAO, Singleton, MVC and Factory patterns.
  • Used Spring framework as business logic tier to perform IOC, AOP and integration with Spring MVC.
  • Used Struts to implement MVC by implement corresponding action classes and JSP pages.
  • Performed ORM with Hibernate to design and create mapping classes, sessions, transactions, HQL and Criteria to fetch data from relational database such as MySQL and Oracle.
  • Analyzed, designed and implemented SOAP and REST web services including DAO, DAOimpl to perform CRUD operations interactive with persistent databases.
  • Responsible for analyzing, designing and creating database schema for new features or models that includes writing tables creation and conversion scripts and stored procedures in SQL.
  • Used ActiveMQ to implement JMS to make modules in different contexts to communicate with each other.
  • Involved in client-side web development and bug fixing using HTML, CSS, JavaScript, JQuery, AJAX, JSON and XML.
  • Extensive experience in writing Unit Testing with JUnit, JMock, Mockito and JMockit.
  • Experienced in utilizing Git and Stash for version control and Jira for bug/issue tracking.

Intern Software Developer

Ames IT And Numeric Solutions, LLC
Ames, IA
08.2015 - 12.2015
  • Defined project objectives by analyzing user requirements; envisioning system features and functionality.
  • Designed and developed user interfaces to internet/intranet applications by setting expectations and features priorities throughout development life cycle; determining design methodologies and tool sets; completing programming using languages and software products; designing and conducting tests.

Education

Master of Science - Computer Science

New York University
New York, NY
09.2013 - 05.2015

Skills

Programming Languages: Java, JavaScript, Python, HTML5, CSS3, C/C, PHP, Swift, UML, XML

undefined

Timeline

MTS 1, Software Engineer

PayPal Inc.
10.2018 - Current

Software Development Engineer II

Kaseya
12.2016 - 09.2018

Programmer Analyst

Marlabs, Inc.
01.2016 - 12.2016

Intern Software Developer

Ames IT And Numeric Solutions, LLC
08.2015 - 12.2015

Master of Science - Computer Science

New York University
09.2013 - 05.2015
Zhaonan ZhangMTS 1, Software Engineer