You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
149 lines
6.8 KiB
149 lines
6.8 KiB
---
|
|
roles:
|
|
- id: bazel-configurability
|
|
image: jobs/google/bazel.png
|
|
name: Software Engineer # III
|
|
team: Bazel Configurability
|
|
company: Google
|
|
startDate: 2016-07-15 # vague guess - this was around when I would have
|
|
# 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: |
|
|
Optimizations and flexibility for multiplatform builds for Bazel projects.
|
|
description: |
|
|
Let's see here.
|
|
What did I do on Configurability?
|
|
Besides _endless_ amounts of **trimming**?
|
|
achievements:
|
|
# * PB: Personal postmortem for burnout
|
|
# * Organizer for BazelCon 2018
|
|
# * PB: Really easy to understand configuration trimming document ("one of the best docs I've read at Google")
|
|
# * PB: BazelCon 2018 office hours, copy editing, logistics
|
|
# * Worked to improve configurability team culture
|
|
# * Helped teach other Bazel developers about Bazel configurability - multiple Bazel U sessions
|
|
# * Bazel Android support: feature flags
|
|
# * "This is so much better it hurts." - from attribute code refactoring as part of this
|
|
# * Whitelisting mechanism as part of this, used by another developer for another feature
|
|
# * Bazel configurability: manual trimming design + rollout
|
|
# * Test trimming (saved 5min+ recompile on every test flag change)
|
|
# * Tagged trimming (design + migration tool + rollout - for example, a project with 5GB memory use that had ballooned to 10+ GB and OOM-ing could drop down to a very buildable 8GB)
|
|
# * Bazel configurability: automatic trimming research
|
|
# * 2 years, ~60 pages of design documents, 2 different prototypes
|
|
# * PB: Helped others understand Bazel feature flags
|
|
- id: trimming
|
|
description: |
|
|
I did _endless_ amounts of **trimming**.
|
|
- id: other
|
|
description: |
|
|
I did other stuff, **too**.
|
|
- id: bazel-release
|
|
image: jobs/google/bazel-old.png
|
|
name: Software Engineer in Test # II
|
|
team: Bazel Release Process
|
|
company: Google
|
|
startDate: 2013-09-15 # rough guess, since I was still working on Wallet in
|
|
# Q3 2013, but had fully transitioned to Bazel by
|
|
# Q3 2014 - but it hadn't gotten cold yet
|
|
endDate: 2017-06-15 # did I truly ever stop working on the release process?
|
|
# however, this is around when it stopped being my job
|
|
description: "The long version is, I did so much freaking junk on this thing."
|
|
shortDescription: "The short version is, a lot."
|
|
achievements:
|
|
- id: mentor
|
|
description: |
|
|
I taught Florian the secrets of releases.
|
|
- id: teach
|
|
description: |
|
|
I taught everyone else how to be sheriff.
|
|
# * Bazel release process fixing and documentation
|
|
# * Bazel release process overhaul design
|
|
# * PB: Sheriffing (x3)
|
|
# * PB: Diagnosed & wrote tool to fix bug in test, reenabling releases
|
|
# * Perf: Engineering conscientiousness (doing the right thing)
|
|
# * Perf: Energetic and invested
|
|
- id: bazel-android
|
|
image: jobs/google/bazel-old.png
|
|
name: Software Engineer # II
|
|
team: Bazel Android Support
|
|
company: Google
|
|
startDate: 2013-09-15 # same as Bazel Release Process
|
|
endDate: 2016-11-15 # vague guess - this is around when my focus shifted to
|
|
# configurability full-time, since before that I was
|
|
# doing configurability as a side job and Android as a
|
|
# primary job
|
|
description: null
|
|
# * Bazel Android support: native code, Jack, resource-split APKs, aidl tooling fixes
|
|
# * dynamic configs on aspects as part of Jack
|
|
# * PB: Big release process documentation
|
|
# * PB: Release process migration design help
|
|
# * PB: Python and release process teaching
|
|
# * PB: release process tools moved into binfs and hashbang
|
|
# * PB: --legacy_android_support no-oping
|
|
# * Spot: Consulted with Snapchat
|
|
- id: google-tooling
|
|
image: jobs/google/google.png
|
|
name: Software Engineer in Test # II
|
|
team: Internal Tooling
|
|
company: Google
|
|
startDate: 2013-02-15 # rough guess, since Jon mentioned my work on the tool
|
|
# in Q3 2013
|
|
# which was after I started the UI work in Summer
|
|
# which was after I'd been invited to start working on
|
|
# the project around midway through Q1
|
|
endDate: 2017-12-18 # dead on, this is the day I got a peer bonus for
|
|
# helping with turning this down
|
|
description: null
|
|
# * account making service
|
|
# * PB: account creation tool (x3) + shutdown
|
|
# * Spot: Gaiamaker
|
|
- id: wallet-testing
|
|
image: jobs/google/wallet.png
|
|
name: Software Engineer in Test # II
|
|
team: Wallet Web Frontend
|
|
company: Google
|
|
startDate: 2011-07-18 # dead on, this was my start date
|
|
endDate: 2013-09-15 # same as with the Bazel Release Process start date,
|
|
# since they're the same day
|
|
description: null
|
|
# * Web wallet testing
|
|
# * Helped organize team fun events on Whisky
|
|
# * PB: Guice wiring and integration testing support
|
|
- id: agora-games
|
|
image: jobs/agora.gif
|
|
name: Software Intern
|
|
company: Agora Games
|
|
startDate: 2010-11-04 # or thereabouts, this is when I was interviewing
|
|
endDate: 2010-12-04 # as recorded in a livejournal comment...
|
|
# Agora Games: Ruby web testing
|
|
- id: star-analytics
|
|
image: jobs/staranalytics.png
|
|
name: Software Intern
|
|
team: Star Task Builder
|
|
company: Star Analytics
|
|
startDate: 2010-04-15 # very approximate, got my IP phone/laptop around then
|
|
endDate: 2011-05-15 # ish, I stopped this around when I left school
|
|
# Star Analytics C# frontend
|
|
- id: misc
|
|
image: jobs/blocks.svg
|
|
name: Hobbyist
|
|
team: Other (personal, school, side jobs etc.) Projects
|
|
startDate: null
|
|
endDate: null
|
|
# ## Personal projects
|
|
# * Personal blog website using Eleventy + Netlify
|
|
# * Anki plugins for Japanese study
|
|
# * Personal Docker server for mail and nextcloud
|
|
# * Discord bots
|
|
# * Assortment of handmade Minecraft plugins, self-run server
|
|
# * PDF page-identification and splitting C# utility for helping at the church
|
|
# * Python/GTK+ based rental property payment tracking
|
|
# * Javascript based dice roller for MSN+
|
|
# ## RPI projects
|
|
# * Python OpenGL-based game
|
|
# * Rails based task management project: https://github.com/thoughtbeam/flagship_tasks
|
|
# ## Regis projects
|
|
# * C SDL-based game
|
|
# * Python/GTK+ based assignment tracker
|
|
# * Python based encrypted chat program
|
|
# * Java based student chat program
|
|
|