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
- Operating systems:
- Linux (Debian family, RedHat family, NixOS, Arch, Gentoo)
- macOS
- Programming languages:
- Good at: Python, Unix shell
- Hobbyist level: Rust, Clojure
- Used to be okay at: HTML/CSS, JavaScript, Ruby
- Exposure to: Java, Golang
- Tools:
- Cloud platforms: AWS, GCP
- Configuration management: Fabric, Chef, SaltStack, Nix
- Data stores: (Postgre|My)SQL, Redis, MongoDB
- Virtualization & containers: Docker/Podman, Xen, VMware
- CI/CD: Jenkins, Circle-CI, GitHub Actions, Concourse
- 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
- Joined a relatively small early-stage startup to assist with both infrastructure/devops/CI type improvements, and as a resource for Python feature development.
- 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