
Donovan Allen
Verified Expert in Engineering
Full-stack Developer
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
Experience
Availability
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
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+.
Engineering Developer
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.
Developer
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%.
Intern Developer
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.
Intern Developer
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.
Experience
PyAnvilEditor
https://github.com/DonoA/PyAnvilEditorI built this interface to allow easier manipulation of blocks and structures without fully loading and simulating the world.
Skiffc
https://github.com/DonoA/SkiffSkiff 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/9315074We 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-auctionI designed this application to run behind Nginx with Redis for session tracking and MySQL for state management.
Dallen.js
https://dallen.io/Skills
Languages
Java, JavaScript, Python, Python 3, C, SQL, TypeScript, HTML, TypeScript 3, HTML5, Bash, C++, Perl, C#, CSS, GraphQL, XML
Other
Back-end, AWS Cloud Development, Data Structures, Programming Languages, Compilers, Async/Await, Async.js, Multithreading, TCP/IP, Pipelines, CI/CD Pipelines, PostgreSQL 9, Ubuntu 16.04, Ubuntu Server, IP Networks, AWS DevOps, Amazon Kinesis, RPC, Cloudflare, SSL, SSL Certificates, Transport Layer Security (TLS), Apache Cassandra
Frameworks
Spring 5, Express.js, Spring, Spring Boot, Redux, JUnit, .NET, PixiJS, MUI (Material UI), Ruby on Rails 5, Hibernate, Next.js
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
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, Windows Server, Kubernetes, Buildkite, Google Cloud SDK
Storage
Amazon S3 (AWS S3), MySQL, Redis, PostgreSQL, PostgreSQL 10, MongoDB, Amazon DynamoDB, XML-RPC, Cassandra, Aerospike, Google Cloud, Google Cloud Storage
Education
Bachelor's Degree in Computer Engineering
Santa Clara Univeristy - Santa Clara, CA, USA