Work Experience
Member of the platform team working closely with our web and mobile developers as well as our systems and network engineers. Primary responsibilities include deploying and maintaining CI/CD infrastructure, deployment and maintenance of on-prem Kubernetes clusters as well as Google Cloud Platform based GKE clusters, DevOps and SRE coaching and evangelizing for best practices and methodologies, pairing with fellow engineers on tasks, and continuous team collaborations on concepts and practices to better the organization as a whole.
-
Designed and deployed fully automated Jenkins environment utilizing Ansible and Terraform with webhooks into Enterprise GitHub to deploy into an on-prem vSphere environment with the purpose of running on-demand as well as continuous-integration, and continuous-delivery jobs as necessary.
-
Wrapped Jenkins job DSL with groovy scripts to streamline the creation of both Jenkins pipelines and standard Jenkins jobs to lower the barrier of entry and increasing adoption to write automated jobs.
-
Designed and built full automation for deploying and maintaining Informatica Enterprise Data Catalog in GCP utilizing Terraform, SaltStack, and custom BASH and Python scripts.
-
Led tech-leveling sessions with team members to train and coach around Jenkins and writing Jenkins job DSL.
-
Coached team members on writing Python and Python best practices with quick adoption.
DuPont Pioneer acquired the San Francisco based Granular and shifted all Encirca employees to Granular as the home for digital ag software development within DowDuPont (DuPont Pioneer / Corteva). Primary responsibilities carried over from position within Encirca (DuPont Pioneer). New responsibilities included working on a new initiative for a brand-new streamlined product with microservice architecture backed by Kubernetes and AWS Lambda.
-
Worked on a project to deploy a brand new environment to the AWS region in Brazil, São Paulo. This Included full deployment of our VPC infrastructure, IAM policies and roles, SaltStack infrastructure, and our Jenkins infrastructure.
-
Acted as project primary to explore alternatives to AWS API Gateway. Researched and settled on Kong as an alternative and led the POC and performed presentations to engineering directors.
-
Developed Python tooling to handle automatic provisioning, modification, and removal of Kong routes and services from a json configuration file that can be included in the repos of the microservices so development teams can be responsible for their own routing.
Working on the Pioneer Encirca project for digital-ag. Primary responsibilities included assisting in standing up CI/CD code pipelines utilizing Jenkins with a combination of Jenkins DSL in Groovy and Jenkins Pipeline for parallel builds. Also heavily involved in the build out and automation of our multiple AWS environments with the deployment of IAM policies, VPC infrastructure, EC2 instances, RDS instances, S3 buckets, Lambdas, Step Functions, and other AWS infrastructure all deployed from CloudFormation as infrastructure as code from GitLab.
-
Helped develop in-house tooling in Python for templating CloudFormation and abstracting back-end services to be utilized alongside Jenkins in automated service deployments.
-
Evangelized and led efforts to utilize SaltStack for remote execution and management of long-running services.
-
Debugged and re-factored massive in-house Python utility for bi-directional synchronization and translation (differing schemas) between a Postgres database and an MS SQL database.
Assigned to the IBM Cloud division working on the IBM Cloudmaker product team. Responsible for developing Groovy code for the integration of the various components within the Cloudmaker product including unit and integration tests that build into an automated environment. Examples of which include command processors that call asynchronous services that complete multiple aspects of the Cloudmaker deployment.
-
Developed core functionality for deploying DB2 in an automated fashion alongside the Cloudmaker application that includes full replication between master and slave per database required.
-
Developed asynchronous service for deploying IBM Cloud Orchestrator from Cloudmaker utilizing both Groovy code and SaltStack automation within the custom SaltStack library that was developed for Cloudmaker.
-
Stood up full OpenStack Kilo development environment in which our automated build service creates a full nested cloud environment within the parent OpenStack environment for each developer on the team to have their own isolated Cloud so that they can develop, test, and debug new and existing code.
Primary responsibilities included the ongoing architecture and implementation of OpenStack controlled clouds within Atlas (Appcore product), a cloud automation software solution. Regularly meeting with the product development team to discuss architecture and roadmap goals for the various components of the Atlas software. Prioritize and plan sprint cycles with the team utilizing agile methodologies. Collaboration with peers on OpenStack development within Atlas that covers items such as API usage and order of operations when performing service updates on OpenStack components
-
Collaborated to design and build an environment that enables team members to rapidly deploy self-contained virtual infrastructure for developing against and integration testing of the Atlas product.
-
Developed scripts to fully automate patching of entire XenServer compute clusters that handles VM migration and host reboots during the rolling upgrade.
-
Implemented methods within Atlas to automatically add or remove Nova Compute nodes and handle dependencies such as VM power states and potential time-out scenarios.
-
Lead Architect for the OpenStack implementation within Atlas.
Ensured performance of internal systems and infrastructure by administering regular maintenance on all critical systems including storage, compute, and switching/routing infrastructure. Responsible for new customer deployments including acting as a member of the install team that travelled to customer locations to install products, integrate with existing systems, and perform on-site customer training.
-
Designed and built a new KVM environment and migrated all legacy systems from Citrix XenServer to KVM.
-
Developed documentation for the product build process.
-
Product lead for the Apache CloudStack (open source Citrix CloudPlatform) portion of the Appcore cloud solution.
-
Led the effort to redesign storage back-end from a traditional iSCSI based SAN to a distributed file system with Gluster as the back-end.
Collaborated with peers on the design and implementation of the initial Appcore cloud product. Once the product was in place, primary responsibilities included the ongoing maintenance of the infrastructure behind the cloud, the development of training material for both internal and external facing applications, and professional services based on specific client requirements.
-
Deployed first converged infrastructure environment on Citrix XenServer with cloud.com orchestration software (later purchased by Citrix becoming CloudPlatform).
-
Developed integration tests between a third party billing system and cloud orchestration to translate usage data.
-
Designed and deployed a second region to provide geographic disparity with the Appcore cloud solution.
Education and Certification
-
Associates of Applied Science Information Technology / Kaplan University 2011
-
CCA XenDesktop - 2012
-
CCA XenServer - 2014
Proficiencies
Ansible, SaltStack, Terraform, Cloud Formation, AWS, Google Cloud Platform, OpenStack, Apache CloudStack, Docker, Kubernetes, Jenkins, Concourse CI, KVM, XenServer, VMware vSphere, Open vSwitch, Network Engineering (virtual and physical), Python, Groovy, REST, BASH scripting, storage systems design and administration (iSCSI, NFS, DFS (CEPH, Gluster)), Journaling and Copy on Write file systems administration (Btrfs, ZFS, XFS), Linux Systems Engineering (Debian, CentOS), MySQL, PostgreSQL