WeChat Image_20170718170420.jpg

Chen LIU

Software Engineer at Microsoft 


[email protected]

(+86) 15002933895 

(+86) 59165119 

Beijing, China

Skills


C/C++

Cosmos/C#/CX/Powershell/SQL

Algorithem/Data Structure/Design Pattern

Creative problem solving

Communication and Collaboration Skills

Education

Xidian University  (2011 - 2014)

Master's Degree - Computer Software and Theory


Northwest University  (2007 - 2011)

Bachelor's Degree - Computer Science and Technology

Experience

CHS Auto Correction on Mobile Device - Apr. 2014 - Jul. 2014

  • A model could "guess" what key user may want to input on mobile device. 
  • The SIP(software input panel) on mobile is very small and user easily to mistype the key. Auto-Correction model is designed to address this problem. 
  • To achieve this goal, I set up this model based on some statistics result: the model was built based on TTR statistical data which record the position information of every user's input. Given a target key (a-z) on the SIP, I calculate the probabilities of every surrounding keys. I also give this model some capability of self-adaption to serve people who have different typing behaviour. 
  • This feature is default on in every windows mobile devices since Windows 10. Our telemetry data shows that this model improves the user's editing behaviour: higher selection rate and input speed, fewer deleting action.

CHS Shape Writing on Mobile Device - Aug. 2014 - Dec. 2014

  • Code name "Blue Bird", provide a new input experience. User could swipe the input keys on the SIP to finish the input. It is different with hand writing, shape writing need to swipe all the keys on the Qwerty SIP. A group of people prefer to input via shape writing and they feel input this way could largely improve their typing speed. 
  • Chinese shape writing is different with Latin shape writing and it's more complex that Latin one. Chinese shape writing could input a word, a phrase and a sentence with only one gesture. 
  • This is the first version of CHS shape writing, I have no data to support such model. Thus, I build a rule-based model as our V1.0 Shape writing. The model use Fréchet Distance to calculate the position similarity between user's gesture and standard one. Using cosine-based vector to calculate the shape similarity. Gain the probabilities of each calculated words path, put penalty to each syllable and do some pruning, finally get the ranked best path and phrases as the output to users.

Windows 10 upgrade in China - Dec. 2014 - Oct. 2015

  • This is the top priority project in WDGC(Windows Device Group China) at that time. We called up as a virtual team to work together. The goal of this project is: the more devices upgrade to Windows 10 in China, the more we achieved. 
  • We cooperated with some local influential companies, like Tencent, Qihu360 and Baidu to help to promote the Windows 10. Basically, we provide the core solution and APIs to our partners, and they provide the user experience. 
  • Besides, we also need the manner to control the whole upgrade process, like enable/disable one partner, allot upgrade quota and online key distribution. To achieve this, I set up a azure cloud service to control the whole upgrade to make it safer and easily control. At last, I need to build a telemetry system in this whole procedure, not only collecting the numbers/categories, but also the dump/log files which could help us analyze the failure. 
  • This was a challenging project and very different with other projects we experienced. We all learn a lot from it.

Taihang Project - Oct. 2014 - Nov. 2015

  • Code name "Taihang" is an updated version of "Kunlun". This is the core component of an IME, data source(DS). The DS is in charge of the conversion from Pinyin letters to Chinese characters. 
  • Before this project, we have two version of the main DS, one is in mobile and another is in desktop. This increase the maintaining and development cost. "Taihang" project is target to converge the DS from different planform and apply to all SKUs. 
  • The challenge here is: 1) apply one DS to different input stacks; 2) performance tuning; 3) feature parallel.

TSF2.0 IME stabilization - Dec. 2015 - Apr. 2016

  • In this period, I mainly focused on the toughest issues in our products, most of them are performance or compatibility issues. This kind of bugs don't have solid reproduce steps or dump file to help analysis, basically, these came from user's feedback. 
  • To address them, need to add data points to collect more information, flight the build contained these data point and analysis the collected data to approach the root cause. 
  • Most of the issues were hidden in the system layer and finally, we addressed the pain points for users.

Live Sticker - Apr. 2016 - Oct. 2016

  • Live sticker is a brand new concept to our IME which including the rich content and online service. 
  • Live Sticker provide to user the ability to input images(GIF, PNG, etc.) based on the context. IME retrieve the context from the edit control and query the online service to get the most popular images associate with the query string, display the result to user and insert into the edit control by clicking the picture. 
  • Additionally, to minimize the risk of this new thing, I add the cloud control to give us the capability to enable/disable this feature on specific applications.

TSF3.0 IME - Oct. 2016 - Nov. 2017

  • TSF(Text Service Frame) is the layer between application, system and IME. Currently, Microsoft Chinese IME are built based on TSF2.0 on desktop and based on TSF2.9 on Mobile (close to TSF3.0, but not exact same). TSF3.0 is the next version of input stack and we are moving to this new framework. Our team is the pioneer on this because of some historical reasons and I was the driver on this project. 
  • A lot of communication across teams to discuss the design of the API, framework and dependencies, like what's the API surface looks like, how components communicate to each other, what's is the best sequences for each API call, etc. I need to build prototypes and verify different design to identify the potential risk earlier. Design and implement the API, host the IME, deploy it to different SKUs and make it self-hostable. We are currently at this stage.

Bing Advertisement Delivery Engine - Nov. 2017 - Present

  • Delivery Engine (DE) is a large scale system including thousands of machines with different roles. It is the core component in the Bing Ads system. It's responsible for select the best ads which fits the user's queries. 
  • Building the distribution system which have the capability to handle the large amount of queries within quite low latency and stable performance. 
  • Design and implement advertiser and algorithm feature with high quality.
  • Profiling and optimizing the system performance, including the memory, latency and capacity.
  • Design and implement the machine function to calculate the relevance between query and keyword as a platform to improve the latency and accuracy.
  • Re-architect the "dynamic ads" workflow which doubles the system capacity and reduce the latency.
  • Design and implement the "Vertical ads" workflow to provide brand new user experience on Bing ads for Event, Tours and activities scenarios.

Self-Evaluation

  • Enjoy learning new things and taking challenge
  • Have passion on technology and learn quickly
  • Happy to sharing and help others