Overview
Work History
Education
Skills
Languages
Timeline
Generic

Weihao Yuan

Shenzhen,Guangdong

Overview

10
10
years of professional experience

Work History

Techical Lead

Snap Inc
10.2017 - 02.2024

Team Management:

  • The primary responsibility of the team is to optimize camera creation delay, video smoothness, quality and reliability.
  • Chairing team meetings, tracking project progress, discussing technical designs and details, and overseeing code reviews within the team.
  • Responsible for external communication on behalf of the team.
  • Conducting interviews at the Shenzhen office and providing mentorship to newly hired employees.

Camera Creation Delay Optimization:

  • MediaCodec management: Lease-based MediaCodec resource management; optimization of MediaCodec's thread model; preloading Recorder and Player; unified management of MediaCodec's lifecycle and resource reuse for the creation flow.
  • Capture Intent Model: Analyzing user's data, building a predictive model for user's capture intention, predicting user's behavior for each capture session, and adjusting the video capture delay accordingly.
  • Composite Capture Flow: Rewriting the entire creation flow of the application to support both finger up and finger down capture simultaneously.
  • SurfaceView Management: Unified management of the SurfaceView lifecycle of the creation flow, and implementing resource reuse.

Video Smoothness Optimization:

  • Double Camera Stream: Utilizing dual-stream technology for camera, separating video recording and video preview streams, transforming from serial to parallel rendering.
  • Buffer Video Recording: Using techniques like FBO and ImageReader to implement video frame buffering between the camera data source and ViewFinder/Recorder, ensuring smoother camera preview and recording.
  • Recorder Pre-encode: Pre-encoding the encoder of the recorder to reduce the stickiness in the initial frames of the video.
  • Capture Animation Optimization: Optimizing the capture animation based on device performance and battery life, using OpenGL for rendering of the capture animation directly.

Video Quality Optimization:

  • HEVC: Collaborated with the server team to drive the implementation of HEVC recording and HEVC transcoding.
  • Video Quality Test Framework: Participating in the construction of the video quality testing framework.
  • Adaptive Transcoding: Calculating video complexity and employing different bit rates for adaptive transcoding based on the complexity of the video.

Video Reliability Optimization:

  • ExoExtractor: Integrating ExoExtractor into our video playback and transcoding process to address the Android 9 issues and improve overall performance and reliability of the streaming process.
  • Recording Retry Strategy: Implementing a more flexible failure retry mechanism at the Media Level in the video recording and transcoding process.
  • AV Sync: Identifying the cause of audio-video synchronization issues in video shooting and implementing PCM buffer solutions.

Capture Relative Functionalities:

  • Mushroom: Participating in the rewrite of the Snapchat Android client, introducing technologies such as Dagger, Kotlin, and RxJava.
  • Catalina: Implemented Snapchat's guest mode and collaborated with Google to enable a feature where double-tapping the back of a Pixel 7 series phone in the locked screen state would launch Snapchat in guest mode, allowing users to capture content in this mode.
  • Hermosa: Participating in the development of Snapchat smart glasses, mainly responsible for implementing the capture module.
  • Recovery: Restoring the capture content from the previous session if the user accidentally exits the application during the creation flow when reopening the application.

Android Technical Lead

Shenzhen Qianhai Yunhan Financial Technology Co.
09.2015 - 09.2017

Micro Options (Startup Project):

  • An app that provides over-the-counter derivative pricing, order placement, and news.
  • Responsible for requirement gathering, technical design, development, and maintenance of the Android client for Micro Options for institutions such as Huatai, Xinhua, and Nanhua.
  • Responsible for project scheduling and progress tracking for the mobile side (iOS and Android).
  • Utilized technologies such as Retrofit, RxJava, JNI (for market data push), EventBus, and ButterKnife.

Software Engineer

Tencent Technology
07.2014 - 08.2015

Mobile QQ:

  • Analyzed user behavior data and optimized the strategy for pre-downloading images.
  • Maintained and optimized basic components such as image preview, album, and image editing for Android QQ.
  • Maintained the GIF shared object library (.so library) and participated in performance improvements.
  • Developed with accessibility in mind to ensure the inclusive user experience.
  • Participated in the development of short video features for Android QQ.

Education

Master of Science - Information Technology

Hong Kong University of Science And Technology
Hong Kong
07.2014

Bachelor of Science - Software Engineering

Sun Yat-sen University
Guangzhou
07.2013

Skills

  • Project Leadership
  • Agile Methodology
  • Performance Optimization
  • Mentorship and coaching
  • API Design and Development
  • Android development
  • Java programming

Languages

English
Professional Working
Cantoonese
Native or Bilingual
Mandarin
Native or Bilingual

Timeline

Techical Lead

Snap Inc
10.2017 - 02.2024

Android Technical Lead

Shenzhen Qianhai Yunhan Financial Technology Co.
09.2015 - 09.2017

Software Engineer

Tencent Technology
07.2014 - 08.2015

Master of Science - Information Technology

Hong Kong University of Science And Technology

Bachelor of Science - Software Engineering

Sun Yat-sen University
Weihao Yuan