Lead Software Developer
2017 - 2020Cyber Defence Corporation- Developed a Windows-based log monitoring agent in C#, with Azure integration. Included creating features for network connection resiliency, flexible log selection, and ease of installation.
- Built serverless functions in Node.js for processing streamed data, storing it in various databases and providing HTTP APIs to access it.
- Automated the deployment of lab environments using Vagrant and Ansible for the purposes of simulating malicious activity on Windows workstations.
- Helped research, implement, and test machine learning methods for identifying malicious and non-malicious computer security events.
- Managed software testing and packaging processes to facilitate continuous integration and deployment.
Technologies: Terraform, Kibana, Git, NumPy, Pandas, Sklearn, PostgreSQL, Elasticsearch, JavaScript, Azure DevOps, Docker, Ansible, Vagrant, Azure, Node.js, C#Software Developer
2018 - 2018Avostart (via Toptal)- Completed an application migration from Django 1.6 to 2, including updating templates from a system that is no longer supported.
- Created ETL processes for migrating the application database from Elasticsearch to PostgreSQL.
- Developed an automated email notification system using Sendgrid APIs to allow users to subscribe to legal topics.
- Integrated Stripe to allow users to pay for legal consultations.
- Implemented continuous integration and delivery pipelines from GitLab to Heroku with automated asset updating in AWS.
Technologies: Git, Amazon Web Services (AWS), JavaScript, PostgreSQL, Elasticsearch, AWS, Stripe, SendGrid, Heroku, Django, AngularDeveloper and Operations Manager
2015 - 2018Simple Networks- Created a rotating web proxy system using HAProxy to allow dynamic changing of IP addresses for web browsing.
- Used Docker and Ansible to facilitate service deployment across a variety of cloud providers including Amazon Web Services, DigitalOcean, and Linode.
- Developed REST APIs allowing clients to create static routes for specific web resources, and to select endpoints based on geographic preferences.
- Created a software agent that could be issued commands remotely and transfer data entirely over DNS. Included development of a Django-based REST API and web user interface for managing multiple deployed software agents.
- Deployed and managed VPN infrastructure for clients, including OpenVPN and SoftEther.
Technologies: Git, AWS, Go, Django, Ansible, Docker, Amazon Web Services (AWS)Software Developer
2016 - 2017University of Colorado Boulder (via Toptal)- Created ETL processes for integrating various structured and unstructured data sources into MongoDB.
- Developed REST APIs using Node.js and Scala for use by front-end reporting applications to interact with MongoDB.
- Helped deploy and optimize machine learning pipelines.
- Made extensive use of software packaging and testing to allow for continuous integration.
Technologies: Git, Jenkins, Apache Kafka, MongoDB, Node.js, Scala, PythonCyber Analyst and Developer
2011 - 2015The SecDev Group: SecDev Cyber- Developed tools to help analyze DNS network traffic in order to identify potential compromises.
- Helped create methods to enhance DNS data with geographical, temporal, and BGP information.
- Used Lua in conjunction with PowerDNS and Redis to create DNS sinkholes.
- Extensively used Elasticsearch for data storage and Kibana for creating analysis dashboards.
- Developed software to test internet resource accessibility and report data back to a central location for analysis. At its peak, it was deployed in over sixty countries, gathering 30,000 test results daily in a range of network conditions.
Technologies: Supervisor, Git, AWS, NumPy, Android, MySQL, Pandas, Sklearn, MongoDB, Amazon Web Services (AWS), PowerDNS, Kibana, Redis, Elasticsearch, PostgreSQL, Java, PHP, Python