Experience
2025 — Now
2025 — Now
Santa Clara, California, United States
2022 — 2023
* Wrote Terraform and Ansible to automate deployment of NATS messaging service. Deployed 8 NATS nodes in High Availability configuration across 2 AWS Regions, and 4 Oracle Cloud regions to increase robustness of QuickNode blockchain nodes
* Wrote Golang code to implement JWT authentication to improve security of QuickNode Blockchain service
* Wrote Golang code to implement 20+ REST API endpoints for a microservice accessing Postgres, with swagger docs auto-generated with go-swagger
* Wrote Terraform to automate deployment of Elasticsearch ECK operator in 20 node Oracle Cloud Kubernetes cluster. Replaced deployment of Elasticsearch in VM's to save ~ $15K/mo in cloud costs
2020 — 2021
2020 — 2021
San Bruno, California, United States
• Wrote Golang to integrate Walmart Torbit DNS load-balancer with Walmart's enterprise Active Directory cluster, allowing resources to be controlled via 1000+ Active Directory groups and 7000+ users.
• Implemented Docker container to run 100+ Golang tests against Torbit, in a Jenkins workflow.
2016 — 2021
2016 — 2021
Twisted is a Python library which provides asynchronous I/O, and implementations of multiple network protocols such as DNS, SMTP, HTTP. This library is used in many Python projects and in multiple companies.
I worked on a voluntary basis to port this library to Python 3. I contributed over 800 patches to Twisted to port to Python 3. Due to the volume of my contributions, ( https://github.com/twisted/twisted/graphs/contributors ), I was granted commit access to the Twisted code repository on GitHub.
My contributions included (but are not limited to):
● fixing the use of Unicode versus byte strings in hundreds of places
● eliminating use of functions and language constructs which were valid in Python 2, but invalid in
Python 3
● updated many unit tests
● on Windows, ported the IOCP reactor to work on Python 3. This required updating
C code which accessed the Win32 API, and interfaced with Python code via Cython.
I also worked on improving some of the Continuous Integration (CI) testing of Twisted by:
● updating the Travis configuration, so that commits to the Twisted repository on GitHub would trigger tests running on Linux
● updated the Appveyor configuration, so that commits to the Twisted repository on GitHub would trigger tests running on Windows
2018 — 2020
2018 — 2020
Los Altos, California
Kubernetes Administration
===================
• Set up a 6-node Kubernetes cluster running in VMWare ESXi with the following services used by the Portworx development team: Jenkins, Traefik, Minio, Sonatype Nexus, AnchorE. Used Traefik with HTTPS certificates from Let’s Encrypt to secure these services. All containers stored data on Portworx Persistent Volume Claim (PVC) storage.
Jenkins automation
==================
• Deployed Kubernetes Statefulset running Jenkins, which was used by a team of 20 developers with over 200 Jenkins jobs to test Portworx software.
• Integrated Slack notifications, and JIRA bug creation with Jenkins jobs. Root-caused and fixed Jenkins JIRA plugin (written in Java) (https://github.com/jenkinsci/jira-plugin/pull/213/files ) needed due to changes in Atlassian's API.
• Wrote Jenkins Pipeline in Groovy to: (1) check out Portworx code from Git, (2) build a Docker container with Portworx software, (3) Deploy Docker Portworx container,
(4) run automated tests against Portworx container. Used by developers to self-serve test their branches before merging code.
Automation
==========
• Wrote automation in shell script to install Portworx in the following environments: Pivotal PKS, Amazon EKS, Red Hat Openshift 3/4
• Migrated over 100 Jenkins jobs to use the gotestsum utility to integrate "go test" results in JUnit XML test reports parsed by Jenkins.
• Wrote automation code in golang to SSH into a cluster of over 70 VMware ESXi servers, and invoke the VMware CLI to to spin up VM's for automation testing.
• Root-caused Openshift 4 storage problem with Portworx on Azure and Google Cloud ( https://bugzilla.redhat.com/show_bug.cgi?id=1747575 ), due to missing udev rules for storage device creation. Worked with RedHat to fix the problem.
• Developed golang script to SSH into test system, parse C++ core file, and use gdb to print out stacktraces. Reduced time to root-cause bugs in Portworx C++ code by 30 %.
Education
Harvard University
Masters
University of Toronto