CV

Nathan Ollerenshaw

I am a multidisciplinary tech with experience building large, highly scalable, highly performant systems for ISPs and other technology companies.

With over 20 years in the Internet industry, I bring a wealth of experience and understanding to the complexities of delivering large scale internet service platforms. I am looking for roles where I can both apply my practical skills as well as mentor the next generation of Engineers to be as effective and productive as possible.

Currently employed at NerdWallet as a Staff Software Engineer and am authorized to work in the US. I am a US Green Card holder.

Contact: cv@stupendous.net

Note: This CV is abbreviated in order to be concise. If you’re looking for a specific skill not listed in this CV, please ask.

Experience

Staff Software Engineer, NerdWallet (September 2018 – now)

At NerdWallet, I have been working with the teams to improve the use of the Go programming language, as well as working on several impactful projects.

  • Engineering Team Lead for the Product Platform team which maintains the product data APIs used for all user experiences at NerdWallet in both Python and Go.
  • Lead implementation and maintenance of core Go frameworks to integrate Go applications within the NerdWallet software stack, which uses AWS ECS and Kubernetes for applications.
  • Rewrote the Data Ingestion Service used by the product platform from Python to Go. The driver for this was that the Python implementation had all rules defined in code and was difficult to debug. The Go implementation uses a simple YAML configuration file along with predefined reusable “functions”.
  • Supported other teams with applications written in Go, identifying optimizations and shipping bugfixes to common Go packages.
  • Extensive experience using Oracle, MySQL, PostgreSQL, DynamoDB and Redis in multiple languages.
  • Development and support of several core Python applications, as well as support of a legacy application in C.
  • Provided leadership on how to pivot the NerdWallet technology stack to better align with the new STT model.
  • Part of a team that performed critical performance analysis to improve Core Web Vitals, shipping multiple fixes to applications.
  • Prototyped implementation that will provide a path for the team to eject from custom infrastructure deployment tooling and provides a path towards using Github Actions for CI and Infrastructure deployment with Terraform and other standard tools.
  • Involved in the Agile Guild at NW, am a passionate believer that embracing Agile principles will result in stronger organizations that prioritize impactful, working solutions to problems that have a high business value.

Senior Solutions Engineer, Cloudmark/Proofpoint (2015 – September 2018)

Hired by Cloudmark, Inc., located in California in January 2015 as a Solutions Architect. In that position, helped deploy several high profile Anti-Abuse platforms at major ISPs in Canada and the U.S, as well as provided sales support for Cloudmark’s DNS anti-abuse application. Prototyped a cloud-based email anti-abuse offering using Ansible to deploy the product to AWS infrastructure, along with building business cases and technical documentation for use during sales pitches.

SVP Enginering, BNC Holdings (2013-2014)

BNC Holdings was a startup company founded in Japan with Engineering located in Manila. Managed the Systems Engineering team, who were responsible for the design, build and ongoing management of the company IT systems and the production web services platform. The company unfortunately was not able to meet its business goals and is now defunct.

Senior Technical Specialist, Telstra BigPond (2007 – 2013)

Telstra BigPond is Australia’s largest ISP. In the ISP Platform Integration team located in Sydney, Australia, was involved in many aspects of the ISP including developing and maintaining core Authentication and Accounting systems written in a variety of languages, mostly in C and C++ with some Perl, as well as working on various custom components for the Openwave EmailMX ISP Email platform in C. Was directly responsible for the successful deployment of BigPond’s Anti-Abuse platform which used the Cloudmark Gateway SMTP product. Prototyped early implementations of OpenStack for the next generation of the BigPond email platform.

Systems Engineer, ValueCommerce

ValueCommerce was Japan’s leading affiliate marketing and banner advertising service provider and at the time I was employed with them, over 50% of the market in Japan advertised with ValueCommerce. The systems deployed were scaled to handle hundreds of millions of requests per day. I personally drove the upgrade of the network infrastructure at ValueCommerce when we started hitting limitations in the original implementation, and was involved in many other projects, including the design and deployment of the company’s Shared Hosting platform as well as many of the internal IT projects.

Systems Specialist, Lineone/Tiscali (2000-2002)

LineOne was one of the top 5 ISPs in the UK at the time of hiring, with over 600,000 customers. Was involved in all aspects of the ISP business, including keeping an ageing Sun Enterprise mail system alive via duct tape and sheer force of will due to budgetry constraints. LineOne was eventually purchased by Tiscali and I was involved in various projects managing and maintaining the highly popular LineOne news site and the migration of the email platform to another product.

Systems Administrator, Modem Media (1998-2000)

Hired by Modem Media, Poppe Tyson as a Systems Administrator, was responsible for all IT systems in the London office, as well as the design and build of the new office on Eversholt Street, including the build of the server room, structured cabling, phone systems, etc. During this time, I accelerated the learning of my core skills in Unix and other operating systems, along with other core skills such as Database Administration, HTTP Web Server Administration, SMTP Email, DNS, etc.

Technical Experience

Programming Languages:

Polyglot software engineer who is comfortable in multiple languages.

  • Go: Over 6 years of experience with Go, and developed and supported in production multiple Go microservices. Has contributed to multiple in-house projects in Go. Developed Go services that operate with PostgreSQL, Redis and OpenSearch, as well as various common AWS services for secrets management etc.
  • C: A skilled C programmer, has written large projects in C that interface with databases, or provide API services with SOAP and REST. Comfortable with sockets programming, threading, etc. Somewhat comfortable with C++. Tend to avoid it in favor of Go these days. Rust also seems interesting but not had a need yet.
  • Python: Written copious amounts of functional Python over the years, mostly utility/glue. Some web services etc.
  • Basic knowledge of x86 assembly and SQL. Can write complex SQL queries if enough alcohol in system.
  • Comfortable with Java, C++, Javascript, Typescript - but will generally prefer to not work in these languages unless there’s a real need.

Other Skills:

  • Experience with Docker, ECS, and core AWS technologies, as well as using github actions to deploy to an AWS environment via Github Actions CI. (For example, my Blog)
  • Some basic Kubernetes experience. NerdWallet has started to roll support out for deploying applications to EKS, and I’ve been an early adopter of that platform.
  • Anything unix based, Solaris, Linux, FreeBSD, etc. Up-to-date experience with Ubuntu and CentOS/RHEL.
  • Email platforms built using any of the commonly sourced software, Open Source and otherwise
  • Build/Deploy systems such as Puppet, Ansible. MaaS, etc.
  • Designing and deploying high volume web services with NGINX, Apache, HAProxy, Apache Tomcat, Glassfish, Squid, etc.
  • Experience with HA Clustering such as Veritas Cluster, Corosync/Pacemaker, etc.
  • Expert level of understanding of the DNS.
  • Experience with deploying IPv6 compliant services.
  • Database clustering, management and optimization with Oracle, MySQL and PostgreSQL.
  • RabbitMQ, OpenMQ and developing applications with ZeroMQ.NetApp deployments. Have done several training courses and have built from scratch several filer deployments.
  • EMC storage hardware experience.
  • Experience with network routing and switching, Cisco load balancing, etc.
  • Experience with Compliance audits for PCI-DSS 3.0.

Nathan's blog

A blog about programming, motorcycles, dungeons and dragons, amigas, and other things.


By matjam, 2023-09-19