I'm a software engineer with 10 years experience. My atypical background and work history has given me a unique perspective that makes me a skilled full-stack developer. I've developed all kinds of software including embedded systems, back-end servers, microservices, single page webapps, and more. I like to build systems that are type-safe, distributed, and fault-tolerant, but not over-engineered. I have natural leadership skills, and I enjoy collaborating with other engineers and across functional teams. At my previous role, I was been doing mostly of frontend development in TypeScript and React, and I would like to do more.
- Added user authentication and account management via Auth0
- Added product search via Algolia
- Added end-to-end type-safety, from UI to database, using graphql-code-generator
- Automated AWS infrastructure using AWS CDK
- Introduced database-level testing in SQL
- Wrote a Chrome/Puppeteer based crawler for testing
- Scala development in the Play Web Framework.
- Built a continuous delivery system with AWS CodePipeline and AWS Elastic Container Service (ECS) with isolated AWS accounts. All changes merged to master are automatically deployed without user interaction in under 30 minutes.
- Replaced the NixOS-based developer environment with Docker.
- Primary software developer for the infrastructure team.
- Developed a configuration management library in Haskell, named Craft, as a more versatile and type-safe alternative to Puppet and Ansible.
- Built, with Haskell/Craft, a large scale automated test suite to deploy and test Elasticsearch in 100 to 1000 node cluster configurations on AWS and Google Cloud.
- Developed, using Haskell/Craft and oauth2_proxy, a highly available proxy service to allow employees to give secure Google SSO access to their internal Elasticsearch clusters without installing anything, having any special access, knowing any secrets, or asking the infrastructure team for help. It has a management portal and would automatically create user specified domain names and TLS certificates.
- Deployed the Vault secrets management service in a highly available configuration.
- Wrote a custom wildcard DNS service (ip.es.io) in Haskell as a highly available alternative to xip.io or nip.io. The existing solutions were not reliable enough.
- Built AWS Lambda functions to monitor the company's internal AWS usage and billable activity.
- Various other development in Python, Bash, Clojure, and Go.
- Developed an asynchronous JSON-RPC client in C to be embedded in the synchronous SIP server Kamailio using libevent, Unix Domain Sockets, shared-memory, multiprocessing, and DNS SRV.
- Developed microservices using Twisted Python.
- Wrote automated unit tests for the SIP routing infrastructure.
- Designed and implemented a distributed, high-throughput, reliable call detail record (CDR) database system using NSQ, Couchbase, Riak, and Twisted Python. It allows for idempotent, real-time account balance tracking. Also implemented an integration test suite for this system.
- Implemented the SMPP binary protocol (SMS) in Python.
- Django development for the website.
- Successfully advocated development best practices to the team, such as linting and code review.
- Built from scratch a prototype for a new SIP server in Haskell.
- Managed ~80 physical servers and ~10 AWS instances.
- Introduced Puppet for all new and existing infrastructure.
- Helped transition everything from SVN to Git.
- Implemented an automated release process using Git.
- Managed the Jenkins CI infrastructure.
- Managed the F5 BIG-IP load balancer array.
- Improved site response time for the slow Ruby on Rails CMS backend using Varnish and cache warming.
- Centralized all server logging using syslog-ng.
- PostgreSQL configuration optimizations.
- Automated backup and replication for MySQL and PostgreSQL.
- Frontend web development for main site. (HTML/ERB, CSS, JS/jQuery)
- Designed and built a high-performance and distributed web analytics prototype using Couchbase and modified Nginx.
- Deployed and managed ~150 physical servers running FreeBSD.
- Introduced Puppet configuration management.
- Replaced CVS with Git for some projects.
- Built tools for automated deployments and management in Bash and Python.
- Wrote a custom Splunk plugin to pull data from MS SQL Server.
- Managed Nagios, BIND DNS, Apache, MySQL, WikiMedia, Wordpress, and Splunk.
Embedded Computing Systems