Andrew Davidson

Backend Software Engineer

Seattle, Washington, United States

About

I am a Backend Software Engineer with eight years of industry experience. I am currently living in Seattle. I am currently seeking job opportunities! If you have any questions, please feel free to ask! I would love to get in touch! Skills: ❖ Go, Python, Java, Bash, SQL, JavaScript, C++ ❖ Cloud Platforms : AWS, GCP ❖ Infrastructure / DevOps : Nginx, Kubernetes, Gitlab, Docker, Linux, Terraform, Jenkins ❖ Frontend Web Development : React, Bootstrap, Angular, JQuery, HTML, CSS ❖ NoSQL : Redis, FireBase, Datastore ❖ Microservices, API Development, Distributed Systems, Web Security

Experience

  • F5 (Seattle)
    • Software Engineer III
      Sep 2021 - Nov 2024 · 3 yrs 3 mos

      Volterra Distributed Cloud, Nginx API config Manager, Nginx Controller, and Project Blue have all been initiatives of F5 to modernize networking solutions from physical on-premise products to Cloud-based infrastructure (split across multiple providers) managed by a controller with a containerized microservice architecture. API Config Manager was a bit more specialized and was essentially a REST API wrapper/facade that used JSON to more easily understand and manage the state of nginx config files for a fleet of nginx+ instances. Volterra Distributed Cloud (April 2023 - November 2024) --------------------------------------------------------------------------- Technologies : Go, gRPC ❖ Collaborated with UX designers and frontend developers to design and implement a complex backend API for a metrics dashboard for load balancers. ❖ Found and fixed bugs in server framework libraries using a debugger. ❖ Analyzed performance metrics on backend code using golang profiler in order to find and eliminate bottlenecks and optimize inefficient code. Nginx API Config Manager (April 2020 - April 2023) --------------------------------------------------------------------------- Technologies : Go, OpenAPI, PostgreSQL ❖ Designed and implemented an adapter which automatically generates njs (javascript) and acts as a soap-to-rest proxy on nginx servers. ❖ Added support for health check nginx directives through a JSON API. ❖ Converted legacy backend services from python into golang, including integration tests and database handler code with ORMs. ❖ Advocated for secure-by-default design in new features.

    • Software Engineer II
      May 2018 - Sep 2021 · 3 yrs 5 mos

      Nginx Controller (June 2019 - April 2020) --------------------------------------------------------------------------- Technologies : Go, Kubernetes, OpenAPI, PostgreSQL ❖ Investigated and experimented with several postgres-compatible ORMs in Golang, analyzed and compared results, and presented findings. ❖ Designed APIs and implemented services for managing configurations across cloud providers. ❖ Introduced a common server framework for validating requests and building responses, wrote tutorials with examples, and personally coached other developers with implementation. Project Blue (May 2018 - June 2019) --------------------------------------------------------------------------- Technologies : Go, Kubernetes, AWS, Gitlab, Bash, Python, gRPC, Terraform ❖ Implemented a microservice from scratch as an infrastructure-as-code facade for other services. ❖ Fixed race conditions in a microservice framework in Golang by adding locks. ❖ Refactored a containerized API binding generation command-line tool written in Bash to operate 80X faster and integrate into CI pipelines. ❖ Pioneered conversion of integration tests from Bash to a containerized infrastructure with common libraries in Python using pytest. ❖ Researched solutions to microservice dependency issues and presented the findings to the team, impacting the direction of the project. ❖ Prototyped infrastructure for backward-compatibility contract testing for Protocol Buffers. ❖ Found, debugged, and fixed Terraform issues with an infrastructure scaling controller.

  • Software Engineering Resident at Google
    Sep 2016 - Sep 2017 · 1 yr 1 mo

    Software Engineering Residency is a full-time, year-long program broken up into two six-month rotations where recent graduates are placed on teams in two different products or domains. Google Cloud Platform - Deployment Manager Service -------------------------------------------------- Technologies : Google Cloud Platform, Python, Java, Protocol Buffers, Mockito Deployment Manager is GCP's Infrastructure-As-Code service (like CloudFormation for AWS). Users can deploy a complex infrastructure of GCP resources from configuration files instead of creating each manually. I worked on both the command-line interface (Python) and the backend (Java). ❖ Reworked a cloud service’s data model and transaction pipeline to store auto-generated deployment outputs, then coordinated a phased rollout with frontend engineers and tech writers. ❖ Modified GCP’s gcloud command-line tool to let users deploy remote config files more easily. ❖ Configured a Jenkins server to continuously run a testing suite of live PaaS deployments in order to check for breaking changes in Deployment Manager and API changes in underlying services. ❖ Found and fixed an error causing the CLI to return successful error codes for failed commands. ❖ Found over a dozen errors in public documentation and code samples, and coordinated fixes both as an author and reviewer. Chrome - Site Isolation -------------------------------------------------- Technologies : C++, JavaScript The Site Isolation team makes Chrome more secure by moving a website’s data into a separate process from its nested IFrames (a webpage within a webpage). ❖ Increased security by moving Iframes within devtools extensions outside of the devtools process. ❖ Fixed broken external protocol links (like 'mailto:') in out-of-process Iframes. ❖ Refactored Chrome to prevent infinite loops in pages that nest each other within Iframes. ❖ Discovered and fixed an error that granted all Chrome extensions restricted devtools permissions.

  • DevOps Intern at Interactive Intelligence
    Jun 2016 - Sep 2016 · 4 mos

    ❖ Configured an AMI using Packer and Ansible to run a code analysis tool with Jenkins that pulls the company-wide BitBucket Git repository and offers readability suggestions. ❖ Reworked a cloud monitoring Python app using Flask and PostgreSQL through SQLAlchemy to offer additional metrics on builds in different environments.

  • Software Engineering Intern at FitzMark, Inc.
    Jun 2015 - Aug 2015 · 3 mos

    Technologies : SQLServer DB, Google Maps JS API, Twilio API Fitzmark is a third-party logistics company. I worked on an internal product / application that helps the sales team match up trucks with goods to be shipped, then helps them manage the transactions. ❖ Integrated an application with the Twilio API to make automated phone calls. ❖ Embedded a map-rendering feature in an application using the Google Maps JS API. ❖ Added functionality for importing data from Excel files into a SQLServer DB. ❖ Wrote programs to aggregate data and then generate reports and invoices.