Donovan Allen, Developer in Redmond, WA, United States
Donovan is available for hire
Hire Donovan

Donovan Allen

Verified Expert  in Engineering

Full-stack Developer

Location
Redmond, WA, United States
Toptal Member Since
September 15, 2021

Donovan is a software development engineer fond of programming language design and distributed systems. He's the first author of an IEEE published paper on network security and has contributed to many open-source repositories like Google's Puppeteer and pytube. In his free time, he challenges himself to recreate standard tools from scratch to better understand how they work and their limitations. This has led him to create his programming language, operating system, and web proxy.

Portfolio

Leading Autonomous Vehicle Company
Buildkite, Docker, Python 3, Python, Bash, Vault, Google Cloud...
Sovrn
JavaScript, Terraform, Java, Ansible, Jenkins, Spring 5, React, Node.js...
NOAA
JavaScript, Perl, PixiJS, XML, HTML5, HTML, HTML DOM

Experience

Availability

Part-time

Preferred Environment

Ubuntu, Java, JavaScript, Amazon Web Services (AWS), Python

The most amazing...

...project I've solely authored is a mod for Mount and Blade, Bannerlord, that has over 500,000 downloads.

Work Experience

Continuous Integration Engineer

2021 - 2022
Leading Autonomous Vehicle Company
  • Built automated system, leveraging buildkite to build and executed tests on hardware-enabled systems. This decreased developer testing times from one week to one day by leveraging nightly scheduled builds.
  • Designed and implemented the system using Google Storage to automatically upload and process JUnit reports from any number of developer jobs into a summary report and final build status.
  • Refactored a major python three testing library to enable developers better maintainability and reliability.
  • Helped design system that scaled from 1 test machine to 15+.
Technologies: Buildkite, Docker, Python 3, Python, Bash, Vault, Google Cloud, Google Cloud SDK, Google Cloud Storage, Shell, JUnit

Engineering Developer

2018 - 2019
Sovrn
  • Built a global click tracking system with JavaScript, AWS, Terraform, Java, and Spring, scaling it to one million requests a week.
  • Improved production package distribution with Ansible and Jenkins, decreasing the release time by 86%.
  • Located and fixed an off-heap memory bug involving the misuse of the Java Native Interface.
  • Built a system for tracking internal tool systems in React, served by Node.js. This system allows developers to easily locate and submit links for tools they use so that other developers can find them.
  • Helped containerize a flagship application into Docker to improve scalability in an orchestration engine, Mesosphere.
  • Maintained a system that leveraged Java with Spring, Hibernate, and Dagger, backed by PostgreSQL, Cassandra, and Aerospike.
Technologies: JavaScript, Terraform, Java, Ansible, Jenkins, Spring 5, React, Node.js, Amazon Web Services (AWS), TypeScript, Back-end, Python 3, Python, Microservices, Docker, Async/Await, Async.js, Multithreading, DevOps, AWS DevOps, Continuous Integration (CI), JVM, MySQL, PostgreSQL, Amazon S3 (AWS S3), Amazon EC2, AWS SDK, AWS Lambda, AWS Step Functions, Amazon Kinesis, Kubernetes, XML, TCP/IP, Pipelines, CI/CD Pipelines, Continuous Delivery (CD), AWS Cloud Architecture, Hibernate, Cassandra, Apache Cassandra, Aerospike

Developer

2017 - 2017
NOAA
  • Designed a WebGL library to optimize rendering front-end map data, decreasing load times by 95%.
  • Engineered data formatting tools to allow faster data integration for the National Weather Service.
  • Updated an FTP fetching mechanism to reduce data ingest times by 600%.
Technologies: JavaScript, Perl, PixiJS, XML, HTML5, HTML, HTML DOM

Intern Developer

2016 - 2016
Concept3D
  • Automated the analytics tracking workflow, allowing more up-to-date business insight using Java.
  • Contributed to an online booking system for stadiums and conference halls with JavaScript.
  • Built a simple proof of concept Android app for augmented reality tours in our 3D maps in Java.
Technologies: Java, JavaScript, Ruby on Rails 5, React, MongoDB, Mongoose, Sequelize, JVM, PostgreSQL, PostgreSQL 10, XML, HTML

Intern Developer

2014 - 2015
Boulder Valley School District
  • Fixed an issue with images passing through the F5 bouncer in Infinite Campus using Java.
  • Designed and implemented the Infinite Campus module for tracking student progression through the English language learning track in C#.
  • Optimized SQL queries to dynamically update table column names instead of a hard-coded list with C# and MS SQL.
Technologies: C#, Java, .NET, Windows Server, SQL

PyAnvilEditor

https://github.com/DonoA/PyAnvilEditor
A Python library used for modifying Minecraft maps in the Anvil map format without simulating them.

I built this interface to allow easier manipulation of blocks and structures without fully loading and simulating the world.

Skiffc

https://github.com/DonoA/Skiff
Skiffc is a Java-based compiler for the Skiff programming language. Skiff is a reference-based Java-like programming language designed for compilation into C.

Skiff is fully garbage collected and features a native API that allows for easy interoperability with C: Skiff libraries can provide functionality to a language that generally requires direct support. The Skiff file I/O package, for example, is completely replaceable as needed.

I designed this project as an experiment into the inner workings of a programming language and compiler, hoping that it will allow complete compilation into C.

Cuckoo Prefix

https://ieeexplore.ieee.org/document/9315074
In this paper, we reported on our implementation of Cuckoo Prefix, a highly space-efficient data structure for storing and checking blocklists.

We examined the throughput of several popular IP blocklisting approaches and concluded that Cuckoo Prefix gave the best trade-off between throughput and memory. In addition, we found that most modern blocklists are approaching a state in which a bit set is an optimal implementation for IP blocking. We also discovered that EBVBL provides extremely high throughput. EBVBL delivers a much smaller but equally fast alternative to bit sets for memory-rich, time-sensitive applications.

DOI: 10.1109/ITNAC50341.2020.9315074

Silent Auction Site

https://github.com/fairviewhs/silent-auction
Silent Auction is a web app written in Node.js for the hosting of silent auctions and collecting donations. It uses MaterialUI for much of its styling and layout.

I designed this application to run behind Nginx with Redis for session tracking and MySQL for state management.

Dallen.js

https://dallen.io/
A Next.js-based application I use to run my personal website. Provided custom interface for uploading files and managing content. Used Redis for session data, PostgreSQL for the state, sequelize for data access, React for the client-side rendering, and Redux for the client-side state management. This stack runs on an EC2 instance using Ubuntu server, Nginx, and ts-node. Cloudflare is leveraged for edge caching and DDOS blocking.
2017 - 2021

Bachelor's Degree in Computer Engineering

Santa Clara Univeristy - Santa Clara, CA, USA

Libraries/APIs

React, Node.js, Ts-node

Tools

Jenkins, NGINX, AWS SDK, Shell, Terraform, Ansible, Amazon Simple Queue Service (SQS), Mongoose, Sequelize, AWS Step Functions, Vault

Frameworks

Spring 5, Express.js, Spring, Spring Boot, Redux, JUnit, .NET, PixiJS, Material UI, Ruby on Rails 5, Hibernate, Next.js

Languages

Java, JavaScript, Python, Python 3, C, SQL, TypeScript, HTML, TypeScript 3, HTML5, Bash, C++, Perl, C#, CSS, GraphQL, XML

Storage

Amazon S3 (AWS S3), MySQL, Redis, PostgreSQL, PostgreSQL 10, MongoDB, Amazon DynamoDB, XML-RPC, Cassandra, Aerospike, Google Cloud, Google Cloud Storage

Paradigms

Compiler Design, Microservices, Continuous Integration (CI), HTML DOM, Continuous Delivery (CD), DevOps

Platforms

Ubuntu, Amazon EC2, Amazon Web Services (AWS), Docker, JVM, AWS Lambda, Ubuntu 16.04, Windows Server, Kubernetes, Buildkite, Google Cloud SDK

Other

Back-end, AWS Cloud Architecture, Data Structures, Programming Languages, Compilers, Async/Await, Async.js, Multithreading, TCP/IP, Pipelines, CI/CD Pipelines, PostgreSQL 9, Ubuntu Server, IP Networks, AWS DevOps, Amazon Kinesis, RPC, Cloudflare, SSL, SSL Certificates, Transport Layer Security (TLS), Apache Cassandra

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring