Resume
Andrew Gillis (gammazero)
Senior Software, AI, Distributed Systems Engineer and Architect
📱(805) 551-4340 @ ajg@gammazero.net 🔗 github.com/gammazero 📍Kauai, Hawaii
Software Engineer, Architect, and Project Lead with over 20 years experience in software engineering, as a senior engineer and project lead. Work includes enterprise architecture, communication protocol design, network and computer security, networking, concurrent software, distributed systems, real-time communications, kernel driver implementation, and highly scalable systems. Projects served the U.S. government, banking and finance, network and computer security, Internet commerce, Web3, telecommunications, test and measurement, and open-source communities.
My roles have included responsibility for all phases of the software life-cycle including system/subsystem requirements definition, software design, algorithm development, coding, and software test and verification, and post-deployment maintenance.
I am an active open-source maintainer and contributor, and maintain a number of software packages that are used by many parties in various software products and systems. I am a long-time contributor to the WAMP protocol and am the creator and primary maintainer of the Go WAMP implementation, nexus.
— Link to heading
Link to heading
Skills Overview Link to heading
Programming Languages: Link to heading
Go, python, c/c++, rust, bash, ruby, perl
Favorite dev environment: go + emacs + git/github + claude
Expertice: Link to heading
Distributed Systems, Network/Web Services, Cryptography, Security, Protocol design, concurrent software design, gossip-pubsub, RDBMS, System admin (Linux, BSD), AI coding and review.
Stacks, Frameworks, Platforms, Services: Link to heading
Linux, BSD Unix, Docker, Kubernetes, AWS, PostgreSQL, WAMP, IPFS, IPNI, libp2p, Django, SQLAlchemy, nginx, HAProxy, Apache, Caddy
Database, relational and NoSQL: Link to heading
PostgreSQL. Postgres HA with streaming and logical replication, Pebble, FoundationDB, levelDB, MongoDB, DynamoDB, Mysql, Redis, InfluxDB, Memcached
Security and Cryptography: Link to heading
OAuth2, Implemented IPSEC stack with VPN and firewall software, Public key infrastructure (PKI), TLS, Network penetration testing
Virtuality Reality and Machine Vision: Link to heading
3D graphics and sound processing (wave-tracing) for VR/AR support, image processing for enhancement and edge/shape detection, object recognition, dynamic geometry DB
Professional Experience Link to heading
Shipyard (Senior Software Engineer)
IPFS Protocol and Software | Remote | June 2024 - Present
Shipyard is an open-source software development company maintaining IPFS.
- Designed and Developed next generation planetary-scale CRDT-based content routing system with sharded backend, cross-shard sync, and token-metered accounting. Created bridge to migrate from current to new content routing system.
- Made significant improvements to data retrieval through peer-to-peer network.
- Revised queuing and concurrency in IPFS stack for significant performance gains.
- Implemented key features of the unix file system over IPFS blocks.
- Improved code quality, performance, and reduced technical-debt across the Go stack (kubo, boxo, rainbow, datastores, utilities, etc.)
Protocol Labs (Senior Software Engineer)
IPFS, libp2p, Filecoin Protocols and Software | Remote | September 2020 - June 2024
Protocol Labs is an open-source software research and development company. It is best known for creating the InterPlanetary File System (IPFS), a peer-to-peer decentralized web protocol, and Filecoin, a decentralized file storage network.
- Architected and built a planetary-scale content routing system end-to-end (InterPlanetary Network Indexer), including a sharded backend, cryptographic chained data ingestion protocol, clusterable servers with replication and failover to handle petabyte-scale data, shared backup mirror.
- Developed provider-side reference implementations for content routing system.
- Authored protocol specifications, built various services, created tools and applications to use content routing system, maintained and administered infrastructure.
- Designed, implemented, and improved components throughout Go stack (kubo, boxo, datastores, gossip pubsub, data migration).
- Implemented IPFS and Filecoin data storage and retrieval applications and services.
Wheels (Senior Software Engineer)
Micro-mobility start-up | Los Angeles, California | October 2019 - September 2020
Wheels is a micro-mobility solution provider, operating e-Bikes in cities around the world. My role was to design and implement services for the micro-mobility platform, running on our AWS infrastructure. These include Kubernetes deployments, Kinesis streams, Lambda functions, RDS, Dynamo, and Red Shift data services, S3, EC2 and more. Services were written in Go and Python.
- Developed services to maintain communication with tens of thousands of connected devices all giving GPS and status updates.
- Developed payment processing system to handle international payments.
- Designed and implemented services for debt collection, regional configuration lookup and bike control settings, telemetry data handling, 3rd-party business integration, and token authentication.
- Minimized GPS jitter using kalman filter, snap-to-map, and probabilistic filtering to correct and stabilize position data.
Spirent Communications (Senior Staff Engineer)
Network testing and Applications | Calabasas, California | July 2011 - October 2019
Spirent Communications provides network test equipment and applications. My role was to design and develop new services and service components for new products. I worked primarily on deployment and management of distributed services and applications, microservice infrastructure, virtualized (virtual machine and container) infrastructure, and network communications, security, and cloud computing and testing.
- Designed software deployment platform using VM and HW appliances both in cloud and on-premises. Provides clustering capability, high-availability, horizontal scalability, and managed application deployment. Technologies: Go, Postgres, Docker, NSQ, WAMP-proto, Gossip protocol, PKI, Cloud-Init, nginx, HA proxy, ip tables, packer, AWS, OAuth2, QEMU-KVM, VMWare, Jenkins
- Developed new cloud-based distributed services, web applications and application frameworks. Relevant technologies: Go, Postgres, nginx, HA proxy, NSQ, Kafka, Websockets + WAMP-protocol, AWS, Openstack
- Developed container-based build/test/deployment infrastructure using Docker and Docker registry, Kubernetes, Jenkins.
- Developed complete internal product to manage on-demand deployment of VM instances for operating VM-based test equipment. Used at all company sites.
- Developed new services architecture, implemented service components for cloud testing and deployment.
- Designed public-facing REST API for flagship test application, extending test automation functionality to HTTP clients. Developed Open-source client library to aid in ReST adoption by customers.
- Enhanced and maintained TestCenter product (C++ multi-platform executable, C# GUI, Java results viewing and reporting solution).
Gale Technologies (Principal Architect and Software Engineer)
Telecommunications and testing | Newbury Park, California | November 2005 - July 2011
Gale Technologies provides software to create and automate test network configuration by creating graphic specification of the network topology, using web GUI. Automated, dynamic resource allocation and scheduling, activation, and reporting automate the network test lifecycle. I was lead developer for company’s main product.
- Primary architect for Lab Manager software, and dev team lead engineer.
- Worked directly with customers and business team and to define product requirements and turn customer feature requests into design specifications.
- Designed deterministic reservation/scheduling system, including specialized algorithms for scheduling, resource allocation, network route creation, and analysis.
- Defined product data model and representation in RDBMS.
- Developed dynamic programming and heuristic algorithms to optimize resource allocation and scheduling.
- Lead development of Java-based version of product utilizing Java, Hibernate, Eclipse, Spring, Spring Security, JBoss.
- Authored of the TesLA TBML (Test Bed Markup Language) specifications.
- Trained developers, established development methodologies, and lead team to develop successful product used by many corporations (Adtran, Alcatel Lucent, Amazon, AT&T, Cisco Systems, Comcast, Ericsson, F1 Interop, Fujitsu, Hewlett-Packard, Hitachi, Juniper Networks, Nortel, QLogic, Spirent, Sprint, Verizon).
Symantec (Senior Software Engineer)
Computer and network security | Santa Monica, California | April 2004 - November 2005
- Researched, designed and developed components of enterprise security solutions for security policy compliance management and enforcement.
- Developed endpoint compliance solutions to reduce risk of exposure to external threats and insider attacks, increase control and manageability of endpoints, reduce potential for unmanaged machines gaining access to protected networks, and to ensure network endpoints have met security requirements.
- Developed significant components of Linux anti-virus product, including high-speed asynchronous interprocess communication, multi-threading, interaction with kernel modules. Ported and adapted software from other platforms to Linux for use in anti-virus products.
- Researched and developed protocols for establishing trusted overlay networks. Automated generation of policy for privacy and integrity compliance.
- Worked on Symantec AntiVirus Corporate Edition (SAVCE) and SAVCE for Linux throughout the commercial product life-cycle.
Dynamic Sciences International Inc. (Contractor) EMI, TEMPEST, Surveillance:
Updated and enhanced DSP applications for EMI and TEMPEST receivers. Established company-wide software development practices and procedures.
JetQue (Contractor) Wireless communications and voice mail:
Developed network software for high-volume message processing system (XML and voice data), system management applications, build corporate IT (firewalls, VPN, DNS, mail services, developement net, corporate net, QA net, bug tracking, revision control, intranet, web services).
TechnoCom Wireless (Contractor) Telecommunications: Lead designer of real-time communications system, for wireless (cell) location and telecommunications emergency services.
Welkyn (Contractor) Security services: Developed high volume web content processing system and single sign-on services for Array Networks. Security and network consulting for vulnerability assessment, VPN and firewall deployment, and network infrastructure design.
NameSafe (Principal Engineer)
Network security and privacy | Los Angeles, California | June 2000 - February 2002
- Designed and implemented high performance algorithms and software for parsing and rewriting JavaScript, HTML, and Flash streaming media. Implemented and administered core services and infrastructure.
- Designed and developed core software to drive automated network vulnerability monitoring and reporting service.
- Designed Apache/mod_perl proxy server to rewrite web content for thousands of concurrent users.
- Built corporate network infrastructures employing IPFilter firewall, LDAP, IMAP, DNS, SMTP postfix server, SSH, Apache HTTP/HTTPS, IKE/IPSEC VPN.
- Managed team of developers and mentored developers on software design and development principles.
Stamps.com (Senior Software Engineer)
Data security | Santa Monica, California | November 1999 - June 2000
- Designed and developed network communication software utilizing ISAPI, COM+.
- Developed software to facilitate secure transactions with MS SQL Server.
- Implemented fault-tolerant socket proxy with policy-based access control.
- Developed automated data archival and transfer software.
Internet Dynamics (Senior Software Engineer)
Network security | Westlake Village, California | September 1997 - November 1999
- Designed and implemented IPSEC stack as driver for Windows NT. Included cryptographic processing of packets and management of negotiated security parameters.
- Implemented IKE key management protocol for negotiation of security associations between VPN gateways. Included development of public key infrastructure software for use and management of X509 digital certificates.
- Integrated IPSEC with stateful packet filter and security policy management system.
- Designed and implemented scalable utility libraries for multithreading, inter-process and network communication, and application management used as a foundation for all software products.
- Developed SSL, HTTP, FTP, H.323 network proxy, ASN.1 decoder/compiler..
- Developed specifications for handling flow of security policy data and secure information through the components of firewall/VPN product and other gateway and client software.
Digital Insight (Senior Software Engineer)
Banking and finance | Calabasas, California | November 1995 - August 1997
- Designed and developed network service to interface with financial institutions for real-time transaction processing.
- Developed web framework for Internet home banking customer interface.
- Designed interface specification and mark-up language, used by all home banking products, to normalize communication with all financial institutions. Created high-speed mark-up language parser and generator.
- Designed and implemented a fault-tolerant, cryptographically protected, transaction log maintenance and analysis package for sensitive banking data.
- Managed interface development team for the development of communication interfaces to various financial institutions and data processing vendors.
- Developed general data encryption software for protecting sensitive corporate data.
Rockwell International (Software/Systems Engineer)
Defense and aerospace | Thousand Oaks, California | October 1994 - October 1995
- Developed discrete event simulation software for use in Virtual Reality applications.
- Designed and implemented TCP/IP client/server software for Sun, Intel, and SGI computer systems to facilitate 3-D VR audio systems, voice command and response system, and body-mounted position sensor systems.
- Developed parallel processing applications on SGI computer, for coupling of multiple position-sensing/tracking devices with virtual environment.
- Developed data conversion software, using grammar-based parsers, to convert data from various CAD/CAM packages into VR compatible data.
- Developed interrupt-driver serial communication package for PC, and 3-D graphics package for PC to display real-time 3-D images from body-mounted sensors.
- Developed image processing applications for use in optical object recognition.