A senior engineering position in a role involving code review, mentoring other engineers, and working on reliable, sustainable development. I advocate for project management, documentation and tests, and believe that both are required for the health and wellbeing of projects and the developers working on them.
An ideal position for me involves applying solid software tools and disciplined engineering practices to problems of climate change, social justice, public health, or user privacy.
- Application architecture
- GUI applications
- Betrayal-driven Development, Object-oriented design, Functional programming design, requirements gathering and project management.
- Programming Languages
- Rust for web backend and native MacOS development
- Haskell, including Servant, Scotty, Yesod, Happstack, Heist, Persistent, Esqueleto, and GTK.
- Python: 15 years of experience across a variety of projects that have gone into production.
- Standard C: 20 years of experience.
- Databases: MySQL, PostgreSQL, SQLite, Lightcloud with Tokyo Tyrant
- Devops: Docker, AWS, Terraform, Ansible, Packer, Nix
- Lecturer in Haskell programming topics
Cloud City Development: August 2017 - current, Senior Developer
As a consultant here, I have a changing set of software development responsibilities that include network setup and management, developing and managing automatic upgrades for IoT hardware in the field, developing server software to receive and process data from hardware, and developing web applications.
- Created policies and automation for replaceable infrastructure using Terraform, reducing operational error and improving service reliability for our client, Truveon. This infrastructure included the tools that allow the developers to deploy recent builds to both staging and production infrastructure without intervention from operations.
- Built an automated software update system for embedded devices in the field, which maximized the safety of deploying a Python application to embedded devices on a potentially unreliable consumer-grade networks.
- Led the React and D3 integration and developed the animated display for the innovative open source project TSOMI
- Provided technical leadership and development for a Ruby on Rails project for Resolve to Save Lives. The application helps countries create a plan for improving their readiness to face public health threats, such as epidemics and radiological events.
CollegeVine: December 2016 - June 2017, Software Engineer
My responsibilities involved server and client-side development in the platform our consultants and clients used to coordinate their activities.
Curb: October 2015 - October 2016, Software Engineer
I was responsible for the entire energy monitoring platform infrastructure, including provisioning, load balancing, disaster recovery and performance.
- Created policies and automation for replaceable infrastructure using Terraform, reducing operational error and improving service reliability.
- Automated a zero-downtime software deployment using Ansible on a data ingestion cluster.
- Built ingestion services capable of handling more than 100 megabits/s of metrics in near-realtime using off-the-shelf components and purpose-specific code developed primarily in Haskell and Python.
- Build a stand-alone OAuth 2.0 server.
Powerhouse Management: June 2014 - August 2015, Software Engineer
I was the lead developer for add-on service offerings for VyprVPN. I lead the design, project management, and development of the VyprVPN for Business product, which provides a turnkey VPN solution for employees to securely connect to corporate intranets.
- Coached developers on Python programming with Flask, object oriented design, and automated testing.
- Helped lead a collaborative design process yielding the system architecture and development plan for VyprVPN for Business.
- Conducted agile project management to provide a clear view on how far the project had progressed and how much further it had to go.
EMR Technical Solutions: December 2013 - February 2014
I was the lead developer for a web-based medical billing application. I handled design, task setting, and implementation.
Giganews/Goldenfrog/Powerhouse Management: 2005 - 2013
My role shifted over the years between being the sole developer on several projects and a team contributor in others. I introduced test-driven development, began the practice of frequent code reviews, and set up the practice of morning checkin metings.
- My work formed the backbone of the entire VyprVPN product, providing nearly all aspects of authentication, connection tracking, and VPN management.
- Built the DMCA response infrastructure for VyprVPN to help the business comply with the common carrier protections provided by the DMCA.
- Debugged and maintained the Giganews NNTP news servers, written in C.
- Wrote a connection and download accounting server, which has been in continuous operation, processing thousands of commands per second, with no failures since its creation, including handling unavailability of its database servers while still responding to requests.
- Core synchronization engine for the a Dropbox-like cloud storage product.
National Instruments: 2001 - 2005
I was the individual contributor to the driver layer that connected our software to our measurement hardware through USB and IEEE1394.
- Maintenance of the legacy USB and IEEE1394 platform abstraction driver.
- Development of a new API and communication model for future USB and IEEE1394 devices.
- Primary tools involved were C++, Windows 2000 DDK
University of Oklahoma Health Sciences Center: 2000
- Sole designer and developer of a web interface for recording and tracking structured lab notes on genetic sequences
Internships: 1997 - 1998
- Hewlett-Packard — math sciences automated test engineer
- Halliburton — system administrator
- Landmark Graphics — software tester
Bachelor of Science in Computer Science with a minor in Mathematics from the University of Oklahoma. Graduated with honors in December, 2000.