Skip to main content Link Search Menu Expand Document (external link)

Experiences


Software Engineer at Bytedance

Apr 2023 - Present, Software Engineer, San Jose, CA

  • Promote and ship monorepo solutions to tiktok & devinfra developers
    • Repo migrations, CI/CD pipeline conversions
    • Educations
  • Shepherd monorepo practices for migrated teams
    • Trunk health enforcement and management
    • Improve CI architecture and performance
  • Infra and tooling for monorepo solutions
    • Packaged bazelisk / bazel / configs to adapt to internal environments
    • Metrics for progress tracking / prioritizaion
    • Remote cache / remote exec
    • Integration for bazel intefacing multiple external systems

Build Engineer at Twitter

Aug 2015 - Nov 2022 · 7 yr 4 mo

Staff Software Engineer

San Francisco, CA

Main Responsibilities

2020 - 2022

  • [Infra] Develop and maintain build infrastructure including
    • build stats collection service for real time and offline analysis
    • build cache service scalable to handle tens of thousand build workers
    • Mac build farm that supports mac builds from developer machines
  • [Bazel Migration] Socialize, plan, design, and implement build tool migration from Pants to Bazel, interfacing customer teams and tooling teams to better support the migration.
    • Collaborate with Managed CI team (Twitter’s custom code submission system which consists of tens of thousands of workers) to find and test code built by both build tools incrementally and safely.
      • Establish and maintain performance and reliability baseline and monitoring
    • Collaborate with VM team to develop and execute the plan for company wide migration from JDK 8 to JDK 11 with minimal friction with Bazel migration.
    • Mentor and work with junior engineers to maximize team throughput and resiliency
    • BazelCon 2021 Talk - Migrating Twitter’s Monorepo from Pants to Bazel - 2021 - [Slides]

2019 and Prior

Software Engineer at Cisco

Feb 2014 - Aug 2015 · 1 yr 7 mos

San Jose, CA

Main Responsibilities

  • Infrastructure setup and configuration
  • Cloud management and automation
  • Full stack web devops
  • Mobile gateway solution testing

Software Engineer Intern at Ingersoll Machine Tools

May 2013 - Dec 2013 · 8 mos

Rockford, Illinois

Main Responsibilities

  • Solve kinematics mathematically on different types of fiber placement machines.
  • Implement robotic kinematics algorithms with C++ to improve the speed.
  • Apply software engineering patterns and heuristics measures to maximize the performance and ease of code management.

Education


University of Illinois Urbana-Champaign

Master, Computer Science, 2012 - 2013

University of Illinois Urbana-Champaign

B.S, Computer Engineering, 2008 - 2012

Stacks

Data Query Engines and Viz

  • BigQuery
  • Jupyter Notebooks
  • Tableau
  • Zepplin
  • Presto

Build tools

  • Bazel
  • Pants
  • Gradle (JVM and Android)
  • Maven
  • Sbt
  • virtualenv / pip

Continuous Integration Systems

  • Jenkins
  • TravisCI
  • Github Actions

Languages

  • Python
  • Java
  • Scala