Senior Software Engineer I
CurrentWorking on Blizzard Entertainment's Battle.net platform.- Implemented max rate metrics for telemetry with dropwizard/micrometer, which allows enigneer to see what was the maxium peak call volume in second per last N seconds. (2021)- Introduced git-crypt based secret management and removed all types of plain/unencrypted credentials/certs in the department Git repo with automated encryption/decryption with git operation. (2021)- Evaulated and suggested HashiCorp Vault replace with AWS/GCP Secret Manager solution and MVP implementation. (2020~2021)- Migrated legacy in-house rpc error response message builder to use new rpc-error-builder (2020)- Implemented alerts for multiple metrics on in-house ELK solutions. (2019) - Implemented oauth2 use case to support the oauth2 Spring security context population in an async job, thread pool, and async caching load in Google Guava (2019)- Upgraded internal payment systems that talk with 3rd party to use TLS secure endpoint and all the follow-up. (2018)- Added a layer in existing systems to solve the oauth2 scope issue between inter-service calls. (2018)- Replacing the old authentication system to OAuth2 in Battle.net ( Aug 2017 ~ present ), including all the coordination between teams and update all the relative libraries. - Dockerized Battle.net's backend middleware. ( May 2017 ~ Nov 2017 )- Supporting other teams by adding Java backend side OAuth2 support for API Gateway request, including custom proto-maven-plugin to generate Java source from Google Protobuf definition, Spring Security filter to handle authentication, and propagating the authentication instance for the remote RPC call, etc.- Removed heavy cross-region JDBC call between regions and instead introduced a lightweight WebSocket based call between the app based on the shard id, and updated all existing APIs to use this new feature without any service downtime or interruption. ( 2016 )- In-game purchase feature for game teams ( 2014 ~ 2015 )