Anthony J. Foiani

As of July 2024, I am primarily seeking either a hybrid role in the San Francisco Bay Area or a fully remote position.

A printable, one-page summary of this resumé is available in A4 or US Letter format.


Introduction

To any role, I bring an unusual combination of experience and knowledge:

In all my roles, I strive to improve understanding: presenting options to leadership, learning from colleagues, mentoring new teammates, educating users, providing refined compliance evidence, and clarifying/codifying processes. This is the best investment we can make for the future, and it always pays off.


Contact

Email: anthony@foiani.com
Physical: 1543 Rainier Ave / Napa, California, USA / 94558
Phone: +1 650 296 9563
Virtual: Most common platforms (Zoom, Teams, Meet, Facetime, Chime, etc)

Philosophy

“... the most important function that software builders do for their clients is the iterative extraction and refinement of the product requirements. ... in planning any software activity, it is necessary to allow for an extensive iteration between the client and the designer as part of the system definition.”
— Fred Brooks, The Mythical Man-Month

Communication is a critical component of any successful system; we must understand the problem we're solving before we can build a solution.

I've been privileged to work for companies of many sizes, on projects ranging from single-person to teams of hundreds. In every case, communication was vital: requirements, constraints, stakeholders, plans, prototypes, reviews, implementation, maintenance, and evolution.

In many of these cases, my ability to understand technical systems together with the human and organizational side has allowed me to translate across multiple groups and dramatically reduce misunderstanding.

Between users and implementors: Does this do what needs to be done? Is the usage clear? What are the corner cases? Where do you think this might go in the future?

Between different teams of implementors: What are the interfaces? What really needs to be exposed? What technologies are we assuming / preferring / avoiding? What platforms will be used?

Within a single team: How can we structure this for simplicity? Can we generalize it? Can we re-use existing tools? How do we document this, especially for maintenance?

Between individuals, there's mentoring and education. I've discovered that I'm good at this, and I was surprised by how fulfilling I found this aspect of my roles.


Skills

Instruction and Consulting

I have a knack for extracting requirements from users and managers; an ability to help different parties gain a shared understanding; the technical background to understand systems deeply; and a passion for encouraging the best solution for each situation while minimizing overall complexity.

  • Mentoring:
    • New employees
    • Internal transfers
  • Training:
    • Research & Development
    • Composition & Presentation
    • Training-the-Trainer
  • Facilitating Communication:
    • Understanding multiple parties
    • Translating between them
  • Promoting Best Solution:
    • Identify strengths and weaknesses of systems
    • Evaluate groups’ needs against those systems
    • Optimize and compromise to minimize complexity
  • Extracting Requirements: user studies, similar systems, design patterns

Computer Languages

Expert: Skilled: Some Experience:
  • Python
  • Terraform
  • Regular Expressions
  • Shell Scripting (+ awk, sed, etc)
  • C++ (+ Boost)
  • C
  • Makefiles
  • Perl
  • Javascript / Typescript
  • Emacs-Lisp
  • Go ("golang")
  • Helm
  • Java
  • Ruby
  • SQL (+ Optimization)
  • Visual Basic for Applications (VBA)

Operating Systems and Platforms

Expert: Skilled:
  • Kubernetes ("k8s")
  • Amazon Web Services (depth)
  • Linux (1995+): userspace, kernel, and embedded
  • Monitoring: DataDog, Grafana, proprietary
  • Amazon Web Services (breadth)
  • Containers / Virtual Machines
  • U-Boot firmware loader

Amazon Web Services

Skilled: Some Experience:
  • Compute: EKS, ECR, EC2, Lambda
  • Networking: VPC, Security Groups, Subnets, Gateways, Load Balancers
  • Data Stores: S3, RDS (Aurora, Multi-AZ, MySQL, PostgreSQL), Redis, OpenSearch
  • Monitoring: CloudWatch, CloudTrail
  • Web Serving: CloudFront, ACM
  • Identity: AWS Identity Center (a.k.a. Single Sign-On)
  • ECS / Fargate
  • CloudFormation
  • Elastic Beanstalk
  • Multi-Region Deployment
  • ElastiCache (Redis)
  • CodeBuild

Data Representation and Interchange

Expert: Skilled:
  • JSON
  • YAML
  • Email (SMTP, DKIM, SPF)
  • Unicode (e.g., UTF-8)
  • XML, HTML
  • CSV, other ETL
  • Compression Algorithms and Archive Formats
  • Protocol Buffers
  • Graphics: PNG, GIF, PBM, JPEG, SVG, PDF, PostScript
  • Text Processing: LaTeX, nroff, RTF
  • ASN.1

Digital Security

Skilled:  
  • Threat Modeling
  • Identity Providers (SSO, SAML)
  • PKI (Certificates, CA, X509)
  • Hardware Tokens / U2F
  • Secure Shell (SSH)
  • OpenSSL (command-line and API)
  • CMS
  • ASN.1
 

Compliance

Skilled:  
  • Technical Controls
  • Creating and improving processes
  • Maintaining Certification (SOC 2, ISO 27001)
  • Generating evidence for audits
 

Embedded Development

Expert: Skilled:
  • Linux Kernel customization
  • Toolchains Creation and Use
  • I2C Bus
  • Flash Memory (NOR vs NAND, MTD / UBI etc)
  • Realtime Constraints
  • Hardware Interfaces
  • Boot Loader
  • Device Tree
  • Serial Ports (RS-232, RS-485, etc)
  • Oscilloscopes / Logic Analyzers

Programming Techniques

Expert: Skilled:
  • Test-Driven Development
  • Refactoring
  • POSIX Threads
  • C++ RAII
  • Profiling / Optimization (both low- and high-level)
  • Design Patterns
  • Pair Programming
  • Input Fuzzing
  • Packaging
  • Disassembly / Reverse Engineering
  • Google RPC

Source Code / Configuration Management

Expert: Skilled: Some Experience:
  • git (especially GitHub)
  • SVN
  • CVS
  • Mercurial (hg)
  • Perforce (g4)

Networking Protocols

Expert: Skilled:  
  • IP (TCP, UDP)
  • BSD Sockets API
  • HTTP
  • Telnet
  • FTP
  • FTP
  • NTP
  • SMTP
  • SNMP
  • SSH
  • SSL/TLS
  • TFTP

Google Internal Tools

Probably somewhat dated, as of 2024

Expert: Skilled:
  • Production Deployments: GCL/BCL, Borg (especially Dedicated Machines and SSD), GSLB, cluster migration, capacity planning
  • Monitoring: GMon, Monarch, Mash, Viceroy, BorgMon, Nebgua
  • Data Storage: Colossus, Effingo, Placer, BigTable, Piper
  • Data Analysis: GoogleSQL (Dremel, F1), gqui
  • Search Technology: SuperRoot, Laelaps, Muppet, Raffia, Union, ST-BTI, FBM
  • KeyStore
  • Piccolo
  • Spanner (especially Spanner Queues / Manifold)

Specialties

Skilled: Some Experience:
  • Nuclear Safeguards Instrumentation (Neutron Counting hardware and software)
  • Open Source licensing
  • Journeyman-level Electronics
  • Computer Graphics
  • Basic competency in German

Ancient Skills

Many older skills have been moved to another document.


Experience

Zapier

Remote; January 2024 — July 2024 (6 months)

Developer Enablement

Responsible for all Observability, Incident Management, Service Catalog, and SLOs.

SRE North

Interim assignment, comprised various ex-embedded SREs and some new hires.

Firstup

San Francisco, California, USA; August 2022 — October 2023 (1 year, 2 months)

Cloud Operations

Responsible for all infrastructure, including multiple production AWS accounts / EKS clusters, as well as staging clusters. Reverse-engineered a complicated setup that had evolved over time, with most of the original authors departed, with an eye to updating to modern practices.

Education

Helped teammates across the organization understand the benefits and limitations of our platform. Collaborated to obtain solutions that were secure, compliant, effective, and efficient.

Compliance

Enabled our compliance team to achieve and maintain SOC 2 and ISO 27001 certifications. We also maintained a clean separation for data which fell under the GDPR.

Production Access: AWS SSO

Most of the effort involved in the AWS SSO Migration was ensuring that any new solution satisfied existing access requirements. Given that the environment setup was legacy and under-documented, this was a substantial challenge.

Airtable

Mountain View, California, USA; November 2020 — June 2022 (1 year, 7 months)

Production Engineering

At the time of my departure, Production Engineering was still the only 24×7 rotation within the company; while daytime alerts were directed at more specific teams, we were the only ones available outside business hours.

Compliance

Airtable maintained SOC 2 and ISO 27001 certifications. Keeping these certifications required regular work; some scheduled (e.g., review who has access to which systems every quarter), and some on demand (evidence gathering, security patching).

Production Access Onboarding / Mentoring

Airtable restricted access to sensitive environments to a small number of engineers. This access required a separate laptop and specific Security Team approval; coordinating that process for dozens of users required documenting, revising, and finally optimizing the steps required. (This was especially true as the duties that used to be on a single team were spread out to almost a dozen.)

Google Inc

Mountain View, California, USA; October 2013 — July 2020 (6 years, 9 months)

YouTube Trust & Safety SRE

Original Tech Lead for the Site Reliability Engineer (SRE) team formed to support and productionize the YouTube Trust & Safety tools (for managing abuse, fraud, child safety, etc).

YouTube Search & Discovery SRE

First member of the SRE team dedicated to managing YouTube's “content discovery” systems: Search, Personalization, Watch Next, Recommendations, etc.

Internal Consulting, Educating, Mentoring, and Interviewing

This wasn't a distinct role; instead, it calls out the areas where I specialized and providing extra value to my teams.

Foiani LLC

Albuquerque, New Mexico; July 2009 — October 2013 (4 years, 3 months)

Universal Non-Destructive Assay Platform: Software Architect / Implementor

Yahoo! Inc.

San Diego, California; October 2004 — July 2009 (4 years, 7 months)

Worldwide Data Distribution System: Architect / Implementor

Mobile Entertainment Provisioning: Architect / Implementor

Backoffice Data Reorganization: Manager / Architect / Implementor

Miscellaneous Knowledge Sharing

MusicMatch.com

San Diego, California; November 2001 — acquired by Yahoo! in October 2004 (2 years, 11 months)

Digital Audio Processing Engineer

Inherited and extended a distributed audio processing system:

Database Application Programmer

Streaming Digital Audio Engineer

Miscellaneous Knowledge Sharing

Previous Jobs

Older entries have been moved to the historical file.


Publications

The Perl Journal


Education

Bachelor of Science

Bachelor of Science in Computer Science and Math, with a minor in German.
New Mexico State University
Las Cruces, New Mexico
Date of graduation: May 1995
GPA: 3.00 out of 4.00


Activities

Community Contributions

Groups

I follow and contribute answers to many lists, including:

Projects

I contribute answers and a few patches to many lists, including:


References

References are available upon request.