- 02.09.2015 - Today
Software Engineer, Hulu LLC, 1424 4th Ave #615, Seattle, WA 98101
I currently work in Content Metadata Service team. I mainly work on an orchestration web service written in Nodejs to serve Hulu apps metadata of the shows and videos.
- I helped our team to understand the performance characteristics of the system better and identified several bottlenecks in the system to decrease our 99th percentile latency by 20%.
- I implemented a distributed broadcast system to broadcast system configuration changes without the need to restart services which enables the team to do more flexible dynamic controlling on the system such as rolling out new features on demond.
- I introduced several new concepts of new javascript techniques such as Promise to the team to improve the code quality and make code easier to test.
- I also designed a system to enable immediate video availablity which manages several cache layer's behavior to enable our content team to do immediate content update without impacting the system's performance.
- 04.14.2014 - 10.03.2014
CTO & Dev Manager, miHoYo, Co. Ltd., 1388 Yishan Rd, Minrun Mansion Building, Xuhui, Shanghai, China, 201103
miHoYo is a mobile game company established in 2012. I joined the team to help the team to grow and make development process more reliable. We created one of the most popular 2.5D shooting games in China called “Guns Girl”, which was the 1st Top Paid game and 9th Top Grossing game in AppStore China.
As Dev Manager, I set up release schedule, drive SCRUM meetings, make project plans and communicate with external partners. As CTO I optimized the development process by introducing Git to replace the old version control system, building up an automated testing framework for backend service, setting up continuous integration to produce official releases, optimizing system architecture to improve performance.
I was also a developer and wrote code to implement game features, such as in-game chatting and a lot of global market integration requirements.
- 01.27.2014 - 04.14.2014
Senior Software Engineer, eBay Inc., 88 Keyuan Rd, Pudong, Shanghai, China, 201203
I joined PaymentApps team in Managed Marketplace. PaymentApps team owns a part of the whole checkout process and some payment related integration services.
I contributed to the design and implementation of risk challenge system in the “progressive checkout” project. I designed the API interface and sequence diagram based on the architecture document and communicated with checkout team to integrate the service into checkout flow. I introduced AJAX + RESTful API style implementation to the team to replace the original POST back style experience. I also introduced responsive web UI implementation to the team. I was also the code review master in the team to drive code review to achieve better code quality.
- 05.23.2012 - 01.27.2014
Software Developer III, Electronic Arts, 1158 Jiangning Rd, Putuo, Shanghai, China, 200060
I joined Commerce and Identity team in EA Digital Platform division, which owns the service for billing, entitlement and authentication of EA games.
I was one of the main contributors of the horizontal scaling project. We designed a new data access layer and migrated all data from Oracle 11g to MySQL 5.5 with no downtime. The most important works I did were:
- MySQL sharding framework design and implementation. I implemented several key features in the sharing framework including dynamic sharding configuration, global id generator, sharding annotation, best effort transaction management, etc.
- MySQL clusters deployment and administration. I was responsible for the MySQL HA architecture, performance tuning, deployment automation and database administration.
- Zero Downtime Oracle to MySQL data migration. I wrote the migration tool and designed the process to make it zero data loss and zero downtime for TB scale data.
- Billing data encryption/decryption service design and implementation. I designed and implemented the crypto service and the process of data migration.
I was awarded the FY13 technical rock star because of the success of the migration project.
- 03.28.2011 - 05.23.2012
SDE, Microsoft, 999 Zixing Rd, Minhang, Shanghai, China, 200240
I joined Microsoft Commerce Platform after graduation. The projects I worked on:
- Catalog management tool. I was the owner of the whole catalog management tool which was a traditional windows form application which talks to a database to manage all products and offerings sold on Microsoft Commerce Platform.
- Windows Azure billing account migration. We migrated Azure billing accounts from an external vendor provided billing service to our own platform. I was one of the main contributors in the migration project. The migration is extremely challenging due to two systems' radical differences on fundamental concepts such as offering model, billing and subscription cycle and bad legacy data. I helped the catalog team to understand the catalog and subscription model discrepancies and implemented the subscription related data migration code.
- Batch job framework. We designed a batch framework to consolidate varies of batch executing jobs. I designed and implemented the job configuration and execution flow and several core facilities in the framework.
- Scale-Out-Unit project. I contributed to Account Migration Service, which was used to move one entire account data from one database partition to another. The account migration service is the key to the horizontal scalability.
I was one of the top performers in the team and get promoted in the first year.