I am a Full Stack Engineer and Technical Lead focusing on DevOps with 5+ year of leadership experience, and 15+ year of technical experience. I have worked on everything from embedded systems to SASS. From service companies to product companies. I lead by example: coaching, mentoring, applying agile principles to ensure team is successful. I am known for pragmetic creative problem solving.

  • More than 15+ years of professional software engineering experience
  • More than 5 years of leadership experience
  • Self-motivated, quick study, and not afraid to ask the stupid questions
  • Engineer with DevOps focus
  • Strong beleiver in over-communicating and IaC


Languages GoLang, Python, Ruby, Bash, CoffeeScript, Javascript, C/C++, Perl, Scala
Orchestration Kubernetes, Ansible, Capistrano, Puppet, Chef
Monitoring Prometheus, CloudWatch, Senus
Continuous Integration Bitbucket Pipelines, Travis CI, Jenkins, Concourse
Authorization Protocols OpenID Connect (JWT), SAML (IdP, SP), OAuth, OpenID
Databases PostgreSQL, SQLite, MySQL, ElasticSearch, Redis
OS Mac OS X, Linux (Alpine, RHEL, CentOS, Ubuntu)
Version Control Git, SVN, CVS, VSS, RCS
Services / APIs Github, HipChat, AWS, Campfire, Facebook, Twitter, IRC
Life Cycle Scrum, BDD/TDD, Pair Programming
Web Frameworks Jekyll, Hugo, Ruby on Rails, Sinatra, ExtJS, jQuery
Virtualization Docker, Linux Containers, Vagrant, VirtualBox, VMware (EAX, Desktop), AWS EC2

Open Source Contributions

  • Simian Army - A bash based implementation of Netflix's Simian Army
  • Crawler - A GoLang web-crawler example
    • A clojure version is here.
  • Dijkstra - A ruby implementation of the Dijkstra Algorithm.
  • SAML IdP - SAML IdP Gem to convert a Rails app into a SAML IdP.
    • An app including the gem is here.
    • A SAML client reference app here.
  • Rubot - A chat bot to do simple things.
  • Simple AREL - Extends Rails / ActiveModel to include "not", "or", and comparisons like ">", "<".
  • statsd - Network daemon to aggregate statistics.
  • Parallel - Run things in parallel in ruby.
  • Carrierwave Direct - Allow direct file uploads to Amazon S3.
  • Bunco - A simple score card for the Bunco dice game.
  • Resume - My resume is also open source!

Work Experience

FourV Systems

Position Head of DevOps / Principal Engineer
Dates Feburary 2016 - Current
Address 8 Market Place
Suite 400
Baltimore, MD 21202

Designed a multi-tenant archetecture for FourV's Greyspark product; saving the company $196K / month over the original single-tenant archetecture. First layer of tenancy is a share-nothing layer similar to single-tenacy; allowing stricter guarantees at greater cost. Second layer is a share-resources layer similar to traditional multi-tenancy. Alowed us to cost target customers based on their expected needs.

Designed and helped migrate the existing FourV Greyspark product from custom built AMIs to docker containers running on Kubernetes. Designed and implmented Kubernetes deployers for AWS, and VMWware vSphere. Used IaC priniples so both the patform and product drive deployment state from YAML configuration files checked into Git.

Developed self-monitoring ElasticSearch cluster to support Greypsark's event exploration feature. ES is fully multi-tenant using OpenID Connect JWT tokens to provide data isolation. Uses best practices to ensure it can dynamically expand to pedibytes of storage. ES nodes have custom developed watch-dogs which looks for known instabilities and performs corrective actions automatically.

FourV Systems, continued

Designed and built Kubernetes monitoring solution based on Prometheus and Grafana, which monitors all next-gen products and Cloud infrastructure in actionable Dashboards and Alerts. Implementation based on Google's SRE monitoring philosophy of customer important actionable alerts.

Designed and implemented SSO solution unifing all product logins using OpenID Connect. Designed permission model over JWT that supports the multi-deployment multi-tenant requirements of Greyspark while allowing for MFA and AD passthrough for our enterprise customers.

Productized log aggrigation solutions based on Syslog-ng capible of handling 50K messages per second ingesting into FourV's Greyspark product. Designed and implmeneted retry-backoff method which guarantees no messages can be lost in-product. Product is released as AMIs, or minified OVAs. All deployments auto-update each night to lastest stable release.

Designed and implmeneted a company-wide monitoring solution using Sensu. Montiors all production deployments, as well as critical internal and external infrastructure.

Designed and implmeneted Continuous Integration pipelines for all repos and products; including dev release to QA and QA's final release to customers. Integrated code coverage into a Pull Request review process to ensure code quality.

Designed release versioning and branching solution that works across all 20+ FourV repos. Version based on symantic versioning with optional hotpatch indicator and release cadidate indicator. The branching soltuion similar to GitFlow; takes into account versioning across multiple respitories even when used across multiple products.

Lookingglass Cyber Solutions, Inc.

Position Head of Release Engineering
Dates April 2014 - Feburary 2016
Address 1001 S. Kenwood Ave.
Baltimore, MD 21224

Designed and patented (pending) a mechanism for self forming clusters running arbitrary code.

Designed and oversaw the transition from ArchLinux to RHEL.

Designed and implemented a release pipeline using Jenkins and dockers containers that builds the full product, installs it, tests it, makes it available in <2 hours.

Designed and implemented a full automated system test suite to test our next gen analytical platform using Selenium and custom Clojure. Provisions a cluster (erases data, install test OS) loads test data, and runs behavioral and back-end tests.

Designed and implemented all QA processes including a 3 Tier technical support process taking the average time to resolution from weeks to less then a day.

Taught basic and advanced Git and Github usage, basic BDD/TDD behaviors and advanced testing techniques, GoLang primer, and Ansible primer.

Designed and implemented an automated system test suite to test previous gen product using ruby, selenium, and highly modified RSpec. Suite would check the software basic behaviors, data is within tolerance, and email nightly report to dev.

Implemented a reporting back-end which took network telemetry data and compared it against global threat intel data. Through custom SQL and Postgres tricks brought a 10+ minute queries down to <30s without any loss in fidelity.

Created a GoLang CLI command suite to translate Nfcapd files into bidirectional network telemetry format that could be ingested and compared against global threat intel data. Worked around a flaw in GoLang 1.2 x-compile behavior by spinning up vagrant VMs for the target OS, performing a native compile, and bundling the compiled executable together.

Waterfall Software, Inc.

Position Head of Engineering
Dates October 2011 - April 2014
Address 6404 Ivy Lane
Greenbelt, MD 20770

Architected and implemented high availability SaaS platform for Multi-unit organizations using Amazon EC2/S3 and Heroku services. Originally a single Rails app individually deployed and configured per customer. Now a set of separate multitenant applications interconnected with SAML.

Instituted a deployment process to ensure < 1 min downtime.

Instituted a code style process to ensure style opinions are collectively decided without delaying development or deployment.

Implemented a full CMS for managing websites at the corporate as well as location level.

Implemented E-Commerce engine for the CMS. Including an admin interface to managing products, categories, related products, sales / promotions.

Implemented an internal training module to facilitate corporate compliance. Includes ability to create classrooms containing related content, documents, and videos, and an assessment builder to create / grade performance of individuals. Logs performance of individuals for later auditing.

Implemented a forum to facilitate open communication within multi-unit organizations, including the ability to flag inappropriate posts.

Set up and maintained a Continuous Integration server for all software. Originally CIJoe on a spare machine, then Hudson on Amazon EC2 instance, currently using Tddium.

Provided tech support to all clients.


Position Senior Software Engineer / Technical Lead
Dates February 2011 - October 2011
Address 2553 Housely Rd
Annapolis, MD 21401-6768
Employed By Edge professional Services

Designed and built a dashboard to manage a data-gathering product for the intelligence community. The product uses Rails to provide a web interface to system services Riak and Apache, and configuration of the data-gathering software.

Instituted Agile TDD/BDD development methodology. Reduced sprints from four to two weeks, enabling more focused execution and planning. Ensured completion of all committed-to work. Led the customer demos after each Sprint.

Set up and maintained a Continuous Integration server to ensure a stable production branch. Created an IRC channel for the team and configured Github and the CI server to announce changes to the channel. Added Rspec for unit testing, Cucumber for integration testing, and Capybara/Selenium for in-browser javascript testing.

Provided team training on various development topics including proper TDD, refactoring, standard Git usage, and advanced techniques including the Git-SVN bridge, basic and advanced Javascript techniques, and how Coffeescript eliminates common beginner mistakes in Javascript.

Instituted a peer code-review process supported by Github. This improved code readability, and quality. It became a means of non-intrusive knowledge sharing. Personally paired with each team member to fill knowledge gaps and increase coding confidence.

Infoblox Inc. (previously Netcordia Inc.)

Position Senior Software Engineer
Dates December 2007 - February 2011
Address 2431 Solomon’s Island Rd, Suite 201
Annapolis, MD 21401-3730

Converted obsolete Java web interface into a Rich Internet Application using ExtJS and Ruby on Rails.

Created a Live Interface Viewer that showed a real-time line chart of a single interface selected by the user.

Converted many common UI elements into defined Ext components: Wizard panel showing any number of forms (one at a time) with Next and Previous buttons, a Cron scheduling panel with a look similar to that of MS Outlook Event adder, a ComboTree that is like a ComboBox but the drop-down list is a floating tree instead of a mere menu of options.

Added Rspec to allow for Test Driven Design by enabling Quality Assurance and Product Management to define requirements that are directly tested to. Set up a CruiseControl.rb server to allow the automatic integration testing of the RIA.

Re-factored the data-consolidation engine to enable true-to-life scalability testing and to enable consolidating multiple NetMRIs into a single topology model, allowing a single NetMRI to manage as many as 50 subordinate NetMRIs.

Designed and implemented business intelligence reports (BIRT plug-in for Eclipse) for ISO 27002 and PCI compliance.

Integrated Riverbed device support into the product. Required finding Riverbed MIB and decoding them into NetMRI-usable information including: system, interface, and environmental data. Required logging in via SSH or telnet and mapping running and startup config via Expect; then post process configs to remove control characters and paging artifacts.

Patton Electronics Co.

Position Senior Software Engineer/Project Lead/Build Manager
Dates 2001-2007
Address 7622 Rickenbacker Dr.
Gaithersburg, MD 20879-4773

Project Lead/Senior Software Engineer, 2005-2007
Productized two IP DSLAM devices with Product Line Management. Defined and reviewed the feature-set requirements of embedded Linux OS for devices. Defined product software testing requirements before the Alpha release of the OS, including internal verification and external validation. Validated technical advice to ensure timely product release. Defined manufacturing test procedures and guided the product prototype. Wrote technical, but jargon free, user manual input. Provided support for all stages of the product live cycle.

Designed and co-implemented the management plane for Linux using CORBA (originally written after-hours as an open-source project). Designed a web-based UI in Python using CGI/FCGI, HMTL templates, CSS for layout and formatting, and degradable Javascript. Trained engineering staff in Python/CORBA (omniORB). Designed embedded regression testing framework in Python.

Software Engineer, 2001-2005
Developed web-based UI on a VxWorks-based VOIP product line using the company's proprietary scripting language. Developed an external Regression Testing framework for data communication products. Developed a 100% pure Java single-user NMS capable of simultaneously managing more than 200 network nodes. This SQL database back-end NMS acquired status and configured devices via SNMP, FTP, and TFTP. Developed the TFTP server for the pSOS kernel (System V variant). Developed stateful NAPT for the pSOS kernel as Posix MUX.

Open Source Contributions

  • Simian Army - A bash based implementation of Netflix's Simian Army
  • Crawler - A GoLang web-crawler example
    • A clojure version is here.
  • Dijkstra - A ruby implementation of the Dijkstra Algorithm.
  • SAML IdP - SAML IdP Gem to convert a Rails app into a SAML IdP.
    • An app including the gem is here.
    • A SAML client reference app here.
  • Rubot - A chat bot to do simple things.
  • Simple AREL - Extends Rails / ActiveModel to include "not", "or", and comparisons like ">", "<".
  • statsd - Network daemon to aggregate statistics.
  • Parallel - Run things in parallel in ruby.
  • Carrierwave Direct - Allow direct file uploads to Amazon S3.
  • Bunco - A simple score card for the Bunco dice game.
  • Resume - My resume is also open source!


  • Certified Ethical Hacker, 2007, EC Council
  • B.S. Software Engineer, 2003, Capitol College, Magna Cum Laude
  • B.S. Computer Engineer, 2003, Capitol College, Cum Laude