Vice President Resume
5.00/5 (Submit Your Rating)
SUMMARY
- Core Java Developer with more than 20 years of experiences in the analysis, design, implementation of commercial enterprise/distributed/cloud software across the development lifecycle using Java and Java EE technologies.
- Front end UI development with Javascript and React, node, webpack, html, css, Typescript etc.
- Skills and hands - on experiences in the development of mission-critical, high-availability, high-scalability, microservices enterprise Java system (failover or clustering).
- Excellent knowledge of core Java (language, multithreading/synchronization, generics, functional interface and lambda, stream APIs, Java collections etc).
- Hands-on development experiences in Spring/Springboot/Monetaboot Frameworks (Dependency Injection, Annotation, Spring Web MVC, String Transaction etc.), Spring Data, Spring JMS, Spring Cloud (Config Management, Circuit Breaker, Smart routing, cluster state).
- Knowledge and hands-on experiences in NoSQL databases: Apache Cassandra and Netflix/ Astyanax/DataStax, Spring Data and Spring Cassandra, ElasticSearch.
- Strong knowledge of and hands-on experiences in Elasticsearch and ELK stack. Product development experiences of using Elasticsearch as both a backend data store and a search/index engine, Elasticsearch cluster installation and setup, configuration, performance tuning. Expert knowledge on Elasticsearch query DSL, Elasticsearch security, and integration with open source security product: SearchGuard.
- Excellent knowledge and hands-on experiences in Java ORM, JPA and Hibernate v3 to v5. Product development experiences in all aspects of Hibernate: data mapping, data modeling, configuration, caching, transaction management, HQL performance tuning, Hibernate Core, Annotations, Hibernate tools etc.
- Knowledge and hands experiences on unit and integration test frameworks: Junit, Mockito, Spring MVC test etc.
- Knowledge and hands-on experiences in Java security and web security: data encryption/decryption, SSL & TLS, SSO, and OWASP vulnerabilities (Open Web Application Security Project) such as CSS (Cross Site Scripting), SQL Injection, CSRF (Cross Site Request Forgery) etc. Extensive experiences in running web security scanners like Burp, OWASP ZAP, Veracode etc., identifying and fixing security vulnerabilities.
- Backend Ajax integration and debug experiences with various JS UI frameworks: React, GWT (Google Web Toolkit), Sencha GXT, ExtJS.
- Extensive experiences with SQL, database, and JDBC technology, especially MySQL and Oracle, including database install, configuration, and query performance tuning etc.
- Skills and hands-on experiences in connection pooling, transaction management, distributed transaction (XA), including standalone XA tool: Atomikos.
- Skills and hands-on experiences in data caching: Hibernate Level 1 & 2 caches, Hibernate query cache, JBoss cache (distributed, transactional cache), Ehcache, standalone as well as cluster caching etc.
- Knowledge and hands-on experiences in messaging systems: JMS and AMQP, and products such as ActiveMQ, SwiftMQ, SonicMQ, Rabbit MQ, UM (Ubiquitous Messaging/IBM WebSphere MQ) etc.
- Knowledge of JAX-WS, JAX-RS, and hands-on experiences in RESTful web service, REST APIs, Spring Rest Controller/Rest API, Swagger 2, SOAP web services, and products such as Apache Axis, Apache CFX.
- Hands-on experience with distributed data collection and product: Hazelcast
- Skills and hands-on experiences in Java build tools: Ant, Maven, source version control tools: Git, Bitbucket, Subversion, and Java editor/debug/ profiling tools: IntelliJ, JSCode, Eclipse, JProfiler, XEmacs.
- Daily hands-on experiences in Agile/Scrum methodology and practices of iterative/incremental development.
- Solid skills of OO (Object Oriented) software design and implementation, and experiences in modeling languages and tools (UML & Rational Rose).
- Proficient in C++ & C, XML. Hands-on experiences in Python/Panda, JavaScript, React, Groovy, JSP, HTML etc.
- Hands-on experiences in service and network management software, e.g. IBM Tivoli Netcool suite (Omnibus/Impact/Webtop).
- Experiences in parser construction and runtime interpreter technology. Familiar with JavaCC and GNU Bison.
- Hands-on experiences in Remedy Java API and Remedy AR server and clients.
- Experiences in system integration via web service, XML, and JMS interfaces, e.g. IBM Tivoli Netcool/Omnibus/Impact, BMC Remedy, HP Peregrine, IBM Websphere, Weblogic (Oracle UIM), Sonic MQ, IBM MQ Series etc.
- Familiar with COM/ATL/DCOM, CORBA (OpenORB, Orbix, Visibroker).
PROFESSIONAL EXPERIENCE:
Confidential
Vice President
Responsibilities:
- Spring Integration batch engine and AutoSys jobs to integrate data from daily bench mark, market index, risk factor with internal data sources
- Scalable microservices running portfolio optimization, tracking error calculation, order generation, compliance check and validation
- Full stack web service (React UI and Springboot) for risk factor and market exposure calculation
- Develop and maintain16+ Java Gaia pool services used and shared by Spectrum UI container and apps running inside:
- Java services use Spring Data/Cassandra to manage three Cassandra clusters in three regions (NA/EMEA/ASIA), which are used as global data storage.
- Different services communicate by both REST APIs and event messaging.
- Most services have REST API interface & Swagger UI on top of Spring MVC. They also have MQ/JMS event listeners to respond and send to internal events. Messaging is built on top Spring JMS to access UM/MQ (Ubiquitous Message) event queues and topics.
- All services are Java Moneta boot and Spring cloud services. They are protected by Spring security and oauth with IDAnywhere/ADFS/Janus.
- Use spring cloud configuration server to provide externalized configuration for Java services.
- API gateway service routes REST requests to correct services protected by Spring circuit breakers/Hystrix.
- Elastcisearch/Kibana clusters provide scalable search and indexing on data
- Develop and maintain Spectrum front end web UI components, mostly html5, node, modern JavaScript, typescript, React, Redux and other popular React libraries.
- General knowledge on ML and AI. Completed AWM training on ML(Machine Learning), Deep learning, and AI courses, and the training hackathon project. Familiar with Python, Pandas, and ML toolkits such as ski-learn, matplotlib, seaborn, Jupyter-Notebook etc.
- Architected and developed three new Gaia Spectrum UI services: Spectrum Teams, Spectrum Elastic Updater, Spectrum User Satisfaction. Two are running in production, one is going to production so on. ‘
- Designed and implemented new event messaging components for Spectrum services with Spring JMS and UM (Ubiquitous Message/IBM WebSphere MQ) to facilitate even-driven microservice architecture.
- Introduced ElasticSearch into Spectrum as the main search engine. Built powerful and flexible search and query functionality with Elastic Java High Level Rest Client. Onboarded and provisioned AWM/GTI ElasticSearch clusters in all regions globally.
- Integrated corporate employee data system WIS (Worker Information System) with Spectrum UI to gain full access to employee information on job, location, cooperate hierarchy, management hierarchy, cost center etc. All WIS data are fully indexed by Elasticsearch, which supports extremely fast, scalable and sophisticated search and query on data.
- Develop and maintain Spectrum Metrics Service, which used to track how Spectrum users use different apps and services: track user interactions, collect usage metrics on active users, user login and authentication, and time spent on each functions and features etc. Elasticsearch/Kibana have been used for metrics data collection, storage, search and also for dashboard analysis and report (about 300GB of index data in each Primary/DR cluster). Kafaka has been the message but for data transfer among components.
- Develop and maintain a Python/Panda application to further process Spectrum metric data stored in Elasticsearch, which conduct comprehensive data analyzing, categorization, reporting on user usage metrics. It can also generate excel report, include graphs and chart on different metrics.
- Developed a new cloud service to manage fine-grained entitlement for all Spectrum users. It’s a Spring/Moneta 2 Java application which uses Gaia Cassandra and Spring Data for storage. Spring Restful client and Spring Circuit Breaker (Hystrix) are used to access WEAVE services.
- Developed a Python application, which is deployed and scheduled by AIM (Application Infrastructure Model) Mastero/Composer, will run a daily scheduled service to automatically update Spectrum production user groups, based on the latest WEAVE (AWM Entitlement and Visibility Engine) entitlement results. It automates Spectrum production user’s install/uninstall process based on AWM’s strategic entitlement toolchain.
- Integrated Spectrum with AWM JIRA Service Desk system, which has automated Spectrum support ticket generation, categorization, display and resolution.
- Built a Spring Cloud Config service to externalize configuration of Spectrum services.
- Built an API-Gateway service with Springboot and Zuul for internal load balancing and authentication management.
- Extensive work experiences with Gaia (OOS/PCF) console and CLI, AIM GFS/Composer/Maestro, Bitbucket, Global load balancer, Jules CI/CD pipeline/pattern build/deploy, Blackduck, Ravens, Dynatrace, Splunk, AVX, Mycompute etc.
- Extensive work and development experiences Spring security, authentication/SSO with Janus, IDAnywhere, OAuth, ADFS etc.
- Extensive work and development experiences with latest Moneta boot/Spring boot, REST APIs, Spring security, Spring cloud, Spring data, Hibernate, Spring JMS/Messaging, Spring MVC
Confidential
Senior Developer
Responsibilities:
- Introduced Elasticsearch as the indexing and search engine to replace Apache Lucene by using Elasticsearch Java APIs.
- Integrated with SearchGuard to secure Elasticsearch data and node communication.
- Developed a standalone archive component to improve the scalability of data archiving.
- Retired Apache Cassandra and replaced with ElasticSearch as the primary runtime data store.
- Updated product to Microservices architecture
- Upgraded product to Java 8
- Build new archive/import/export services with Spring Boot
- Run performance tests and profiling to improve product throughput by 10 times.
- Improved UI performance by 80 times by profiling and optimizing backend Ajax calls.
- Removed Neo4j graph database and Apache Zookeeper.
- Upgraded Elasticsearch from 1.7 to 5.4.
- Upgraded Hibernate from 3.2 to 5.0, and switch to JPA APIs.
- Fixed numerous security vulnerabilities in the product, mostly identified by industry security scanners, e.g. Burp, Veracode, and ZAP.
- Added new features to support security incident response and automation.
- Added role-based access control.
- Added RESTful web service APIs
- Help upgraded Resolve UI from ExtJS to React.
Confidential
Senior Developer
Responsibilities:
- Introduced Hibernate into Resolve to build persistence layer service. Introduced Atomikos for XA transaction and connection pooling. Introduced JBoss Cache3 as a distributed cache for Hibernate data in Resolve cluster.
- Helped build Resolve UI web client with GWT, Sencha GXT, and ExtJS. Built Ajax call backend with Spring MVC, running in Tomcat.
- Developed new gateways: web service gateway, database gateway, Remedy gateway.
- Developed a flow control mechanism to handle event storm. Designed a new custom event queue to manage load balance among components.
- Added SOAP web service APIs.
- Added XWiki, Velocity, Groovy scripting.
- Added NoSQL database Cassandra and Netflix/ Astyanax to improve data layer scalability and throughput.
- Added custom table/custom forms with Hibernate dynamic mapping feature.
- Added Resolve data archive (worksheet, task results, process requests).
- Optimized automation engine to significantly improve the availability, scalability, and throughput in the cluster environment. Updated Resolve to support high-availability (HA) settings in components (RSRemote, RSControl).
- Removed Hazelcast for performance reason and replaced with our customized SQL based distributed collections.
- Removed JBoss cache and updated Hibernate cache concurrency strategy from TRANSACTIONAL to READ WRITE. Built a custom distributed cache for Hibernate entities and other Resolve data in the cluster.
Confidential
Advisory Software Engineer
Responsibilities:
- Migrated Impact 4 from standalone Java application to standard J2EE application running inside Apache Geronimo 1.0.1 application server.
- Updated Impact GUI with Spring MVC architecture. Replaced Impact’s old I18n implementation with Spring’s I18n MessageSource in its Inversion of Control (IoC) container.
- Updated Impact data layer with Hibernate to persist Impact objects to the database.
- Updated Impact JMS DSA to support JMS integration with Websphere MQ, MQ Series, Weblogic, Sonic MQ, Open JMS etc.
- Created a new JMS message listener for Impact to receive incoming JMS messages.
- Developed a new Impact JavaDSA to support calling any Java methods, accessing any java object field from Impact policy (Impact policy is a customer defined program which will be triggered to run when Impact receives an event, a JMS message, an incoming web service call etc.).
- Developed a new web service wizard to help customers build Impact policy for making web service calls.
- Developed a new XmlDSA wizard to help customers build Impact policy for retrieving data from XML documents.
- Created UML diagrams to describe system architectures of Impact 4.0, with an emphasis on new features introduced in 4.0 releases.
- Updated Impact GUI with AJAX to improve responsiveness.
- Added new support of web service message-level security, so Impact can send and receive secured web service messages with user token authentication, encrypted or signed message body or elements.
- Updated Impact web service engine from Sun’s JAX-RPC to Apache Axis2.
- Added new Impact policy functions to support Axis2 features such as doc/literal style web service calls.
- Added a new doc/literal web service listener.
- Added new global variable and server variable in IPL (Impact Programming language).
- Updated Impact server and client to run as a standard J2EE application in IBM Websphere. EJB session beans, message-driven beans were introduced to leverage Websphere’s J2EE features.
- Added local and global transaction support in Impact to enable customers to build more reliable applications with data consistency guarantee. Transaction support was implemented with Spring Framework.
- Defined SOA interfaces for Netcool/Impact, which has become part of IBM/Tivoli SOA offering. I designed and generated all WSDL files required for defining Impact’s SOA services.
Confidential
Developer
Responsibilities:
- Updated Impact client from Swing GUI to web GUI. Since then, this web GUI has become main GUI of Impact 3.x, 4.x, and 5.1 releases. Impact 2.x was a Swing based standalone application. Impact 3.x was updated with web GUI built with JSP, Javascript, DHTML, Servlet and Tomcat server etc.
- To support the above Impact GUI change, I also designed a new set of web service APIs to implement SOAP communication between Impact client and server. This new SOAP API has replaced Impact’s old RMI based APIs.
- Created a new web service DSA (Data Source Adapter) for Impact, which was the most popular feature introduced in Impact 3.1 release. Web Services DSA allows Impact to integrate with other systems or products via web services interfaces.
- Major overhaul to Impact’s JDBC connection pooling, JDBC connection failover, Object-Relational Mapping, JDBC data caching etc., which resulted in significant performance gains in Impact’s data access layer.
- Improved Impact data sources to better support Oracle, Sybase, SQL Server, and MySQL databases.
- Added server clustering capability to Impact, so multiple Impact servers can run in one cluster to improve Impact’s scalability and robustness.
- Updated Impact Policy Language (IPL) with new syntax definitions and parser functions for Impact 3.0 release. Added new policy functions and language structures (e.g. “if else”, “while”, “for”) required by the new policy engine, policy editor and web services DSA of Impact 3.1.
- Precision 2.0 & 2.1 releases.
- Created a new network topology visualization tool for Netcool Precision. A graphical network layout browser was developed with Tom Sawyer toolkit. Network data discovered by Precision could be appropriately laid out and displayed based on user’s choice on layout styles. This browser also supports other graphical features such as pan, zoom, edit, print, copy, paste, search and select etc.
- Designed and implemented Knoa script compiler and a runtime interpreter. It supported both offline and online script compiling and interchangeable runtime behaviors according to different configurations. It was implemented in C++ and COM/STL/ATL. By reusing the previous compiler, I also developed a new compiler for processing MDS (Media Description Script) language. MDS compiler is used for developing media files (video, audio, and text) required by Knoa solutions.
- Extended Knoa’s unique tracking and sensing technology to IE, Netscape and Mozilla browsers (DOM events). Developed new spy modules which can automatically hook up to browsers to track user’s interaction with browsers.