I seek an engineering leadership position that involves developing reliable, sustainable processes, mentoring junior engineers, fostering collaboration between team members, and building a close relationship with designers and with users.
Prospective companies must be remote-first or interesting in learning distributed working skills, be dedicated to building and maintaining a highly diverse team, willing to invest in the development of all their employees, and practices compassion for users.
An ideal position is a leadership role with a team that uses Rust, Haskell, Typescript, Elm, or Purescript in applications that target existential problems such as climate change, social justice, public health, and user privacy.
- Application architecture
- Native graphical applications
- Emseries – an embedded time series database for small applications
- Orizentic – a library for managing JWT-based authentication tokens, available in Haskell, Go, and Rust
- Palimpsest – a suite of tools to bridge the gaps between standard devops suites
- Nix Home Environment
- Test-driven Development, Object-oriented design, requirements gathering and project management, Agile methodologies.
- Programming Languages
- Rust: 2 years, web services and native GTK development on NixOS
- Haskell: 12 years, including Servant, Scotty, Yesod, Happstack, Heist, Persistent, Esqueleto, and GTK.
- Standard C: 20 years of experience.
- Project management familiar with 1 and 2 week sprint cycles, iteration planning meetings, daily standups, and retrospectives.
- Databases: MySQL, PostgreSQL, SQLite, Lightcloud with Tokyo Tyrant
- Devops: Docker, AWS, Terraform, Ansible, Packer, Nix
- Lecturer in Haskell programming topics
1Password: June 2020 - current, Technical Lead
Cloud City Development: August 2017 - June 2020, 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.