|
|
|
@ -9,9 +9,9 @@ roles: |
|
|
|
|
# started getting to work on reviewing configurability |
|
|
|
|
# changes and getting up to speed on this team |
|
|
|
|
endDate: 2019-10-04 # dead on, this was my last day at Google |
|
|
|
|
shortDescription: | |
|
|
|
|
shortDescription: > |
|
|
|
|
Optimizations and flexibility for multiplatform builds for Bazel projects. |
|
|
|
|
description: | |
|
|
|
|
description: > |
|
|
|
|
Primary expert and contact point for _configuration trimming_, a major |
|
|
|
|
overhaul of the internals of Bazel's multiplatform support which saves |
|
|
|
|
build time, build artifact disk space and build graph memory by collapsing |
|
|
|
@ -19,65 +19,65 @@ roles: |
|
|
|
|
differ by the Python version they're built for). |
|
|
|
|
achievements: |
|
|
|
|
- id: feature-flags |
|
|
|
|
description: | |
|
|
|
|
description: > |
|
|
|
|
Designed and built a feature flag system for Bazel which allows |
|
|
|
|
Android developers to toggle build dependencies without needing to |
|
|
|
|
create parallel trees. Used by ~50 Android teams within Google, with |
|
|
|
|
more asking to have the feature enabled weekly. |
|
|
|
|
- id: whitelisting |
|
|
|
|
description: | |
|
|
|
|
description: > |
|
|
|
|
Designed and built a mechanism for controlling rollouts of Bazel |
|
|
|
|
features based on build package for use with feature flags, which |
|
|
|
|
was quickly adopted by other subteams within Bazel. |
|
|
|
|
- id: attribute-refactor |
|
|
|
|
description: | |
|
|
|
|
description: > |
|
|
|
|
Refactored Bazel's attribute support, prompting a code owner to |
|
|
|
|
describe the result as "so much better it hurts." |
|
|
|
|
- id: test-trimming |
|
|
|
|
description: | |
|
|
|
|
description: > |
|
|
|
|
Sped up developer build/test switching, saving 2min+ reanalysis on |
|
|
|
|
each switch, adding up to an hour or more of wait time saved per |
|
|
|
|
engineer over a day's builds. |
|
|
|
|
- id: tagged-trimming |
|
|
|
|
description: | |
|
|
|
|
description: > |
|
|
|
|
Implemented, built a fully automated migration tool for and consulted |
|
|
|
|
with users to roll out manual trimming to get Android developers |
|
|
|
|
reduced memory use immediately, saving multiple gigabytes of memory |
|
|
|
|
per build and preventing OOM conditions for larger builds. |
|
|
|
|
- id: auto-trimming |
|
|
|
|
description: | |
|
|
|
|
description: > |
|
|
|
|
Researched options for automatic trimming, wrote over 60 pages of |
|
|
|
|
design documents proving the viability of trimming and the tradeoffs |
|
|
|
|
of different options, built a TypeScript/Angular2-based prototype |
|
|
|
|
to gather data on builds and eventually integrated a prototype into |
|
|
|
|
Bazel. |
|
|
|
|
- id: bazel-u |
|
|
|
|
description: | |
|
|
|
|
description: > |
|
|
|
|
Ran multiple talks for the Bazel team about trimming and feature |
|
|
|
|
flags, consulted across Bazel and with other teams on the viability of |
|
|
|
|
trimming techniques for different use cases, and received a peer bonus |
|
|
|
|
for my expertise. |
|
|
|
|
- id: trimming-metaphors |
|
|
|
|
description: | |
|
|
|
|
description: > |
|
|
|
|
Wrote a document explaining the complex concepts, techniques, and |
|
|
|
|
history of trimming in an easy-to-read manner and received a peer |
|
|
|
|
bonus describing it as "one of the best docs I've read at Google." |
|
|
|
|
- id: bazelcon |
|
|
|
|
description: | |
|
|
|
|
description: > |
|
|
|
|
Solicited experts for office hours for BazelCon 2018 and managed rooms |
|
|
|
|
and experts day-of, allowing the show to go on despite last-minute |
|
|
|
|
loss of our planned venue and receiving a peer bonus from the head |
|
|
|
|
organizer. |
|
|
|
|
- id: personal-postmortem |
|
|
|
|
description: | |
|
|
|
|
description: > |
|
|
|
|
Wrote, gave a talk on, and received a peer bonus for a document |
|
|
|
|
speaking frankly about emotional safety on the team. |
|
|
|
|
- id: team-culture |
|
|
|
|
description: | |
|
|
|
|
description: > |
|
|
|
|
Proposed improvements to team culture, ran meetings on the subject, |
|
|
|
|
consulted with management and gathered feedback fro team members. |
|
|
|
|
- id: kotlin |
|
|
|
|
description: | |
|
|
|
|
description: > |
|
|
|
|
Consulted with Kotlin team at Google about the possibility of using |
|
|
|
|
Kotlin within Bazel. |
|
|
|
|
|
|
|
|
@ -95,10 +95,10 @@ roles: |
|
|
|
|
shortDescription: "The short version is, a lot." |
|
|
|
|
achievements: |
|
|
|
|
- id: mentor |
|
|
|
|
description: | |
|
|
|
|
description: > |
|
|
|
|
I taught Florian the secrets of releases. |
|
|
|
|
- id: teach |
|
|
|
|
description: | |
|
|
|
|
description: > |
|
|
|
|
I taught everyone else how to be sheriff. |
|
|
|
|
# * Bazel release process fixing and documentation |
|
|
|
|
# * Bazel release process overhaul design |
|
|
|
|