This is my standard resumé. For additional details on what I seek in a role and/or an employer, please see my hiring page.

Highlights

  • Remote-based, residing in New Jersey, USA (which has an income tax agreement with New York).
  • Python engineer since 2004.
  • Unix/Linux sysadmin since 2005.
  • Author and maintainer of multiple popular Python libraries (collectively accounting for millions of daily PyPI downloads), including but not limited to:
    • Fabric (fabfile.org), a task runner & SSH scripting library.
    • Fabric’s primary dependency, the SSH protocol implementation Paramiko (paramiko.org).
    • A modern successor to Fabric’s task management & subprocess feature set, Invoke (pyinvoke.org),
    • Alabaster (GitHub here), the default theme for the widely-used Sphinx documentation generator.
  • Contributor to a handful of other open source projects, notably Django and Graphite.
  • Member of the Python Software Foundation and the Open Source Initiative.
  • Co-author of the 376-page Python Web Development With Django (withdjango.com), 2008, Addison-Wesley. It was in the top ten best-selling Python books on Amazon and other retailers for about a year post-publication, and is still sold today.

Skills

  • Linux distributions: Debian/Ubuntu, RedHat/CentOS, Arch, Gentoo, NixOS
  • Programming languages:
    • Good at: Python, shell scripting
    • Hobbyist level: Rust, Clojure, Golang
    • Used to be okay at: HTML/CSS, JavaScript, Ruby
  • Tools:
    • Cloud platforms: AWS, GCP
    • Configuration management: Fabric, Chef, SaltStack, Nix, Pulumi
    • Data stores: PostgreSQL/MySQL, Redis, MongoDB
    • Virtualization & containers: Docker/Podman, Kubernetes, VMware, Xen
    • CI/CD: CircleCI, GitHub Actions, Concourse, Jenkins
    • Secrets management: HashiCorp Vault, 1Password
    • HTTP: NginX, Apache
    • Monitoring & metrics: InfluxDB/Grafana, Graphite, Nagios, Collectd
    • Logging/events/indexing: ElasticSearch, Splunk, Rsyslog, Logstash

Employment

Please note: all positions 2007 onwards involved production oncall duties.

  • 2024 — current: Senior Software Engineer at Reach Security, Remote
    • Evaluated options for beginning IaC usage at the company, and settled on Pulumi’s Python SDK (vs Terraform, OpenTofu, AWS CDK). Implemented splitting out a staging database from production with that tooling.
    • Centralized dev workflows (local dev env spinup, test harnesses, code coverage, data wrangling, etc) via command-line toolkit using Invoke.
    • Implemented features for analyzing customers’ deployed identity/endpoint/etc security product configurations (eg: MS Conditional Access, Palo Alto Cortex XDR) & comparing to Reach’s recommendations.
  • 2019 — 2023: Production Engineer at Jump Trading, LLC, New York, NY
    • GitHub Enterprise Server feeding & care.
    • Packaging build system upgrades, migrations, added storage replication.
    • Firmwide alerting system (Django-based) debugging/support/feature work.
    • Improved physical server build system functionality.
    • Prototyped a compute grid autoscaler framework.
    • Supported widespread internal use of my OSS libraries and tools.
  • 2016 — 2019: Senior Software Engineer at mLab, San Francisco, CA
    • Overhauled/expanded Fabric-based deployment/orchestration system (which managed a fleet of 10K+ cloud instances, nearly 1MM database instances).
    • Created per-developer environments based on existing prod stack, with secrets management, VPN tunnels & Concourse-CI CI/CD stack.
    • Built automated cloud system image creation and management system to replace an ad-hoc workflow.
    • Assisted in production, IT, and office premises security operations.
  • 2012 — 2016: (Lead) Operations Engineer at Urban Airship, San Francisco, CA
    • Overhauled and augmented orchestration tooling (Fabric), config management (Chef), truth database (Clusto), OS packages (Gear/Mock/RPM), build/CI server (Jenkins).
    • Implemented Graphite metrics stack (2.6MM metrics/min), with focus on clustering, reliable transport and dashboards.
    • Built IRC chatbot providing access to production tools (config management, build system, deploy queue, orchestration, oncall escalation/ paging, etc).
    • Promoted an engineering-oriented documentation culture.
  • 2011 — 2012: Operations Engineer at Whiskey Media, San Francisco, CA
    • PostgreSQL streaming replication & local/offsite backups.
    • Ran metrics/monitoring/alerting system (Collectd, Graphite, Nagios) and wrote a custom dashboard application.
    • Centralized the logging/event system (Logstash, ElasticSearch).
    • Supported in-house deployment and configuration management systems.
  • 2007 — 2011: Systems Administrator/Developer at Digital Pulp, New York, NY
    • Dual web-developer (Django, Rails, PHP) and sole office sysadmin/IT role.
    • Ran physical rack of Dell servers, developer support services & tooling, client website hosting, observability, backups, virtualization; the whole shebang.
  • 2005 — 2007: Python Developer at Stroz Friedberg, New York, NY
    • Learned Django while writing an intranet & evidence tracking system.
  • 2004 — 2005: Interface Engineer at IconNicholson, New York, NY
    • Wrote XHTML/CSS/JS webpages for clients from designer mockups.

Education

  • 2004: B.S. in Computer Science at the University of Massachusetts, Amherst, MA