Chris Dukes DevOps Engineer


I build what you need. Seasoned IT Professional turned DevOps with extensive experience designing, maintaining, and troubleshooting builds and private infrastructure. I make software builds consistent and automatic. I help teams push Quality Assurance, Operations, and Documentation left. And I write new code and fix existing when there is a gap. I’m not happy unless I can improve people, processes, policies, and infrastructure.

Favorite tools: Git, Jenkins, GCP, Docker, Docker Compose, Python, Bash, Make, Vagrant, Packer

Notable Experience, Projects, and Results

KMHA • Garner, NC • September 2018 to February 2021

Konica Minolta Healthcare Americas. Small responsive medical devices company (Software: PACS, RIS, DR, and Medical Billing; Imaging Hardware; Healthcare Managed IT Services). A Konica Minolta subsidiary.

DevOps Engineer

  • Build and Test Infrastructure as Code: Reduced QA and Build VM update and deploy times to 15 minutes. It was 120 minutes. Evaluating Puppet for declarative approach. Used Bash, Packer, PowerShell, and Vagrant on VirtualBox and vSphere for repeatable automated infrastructure creation. Deploy scripts usable standalone to enable testing upgrade scenarios. Used Windows Containers for Docker as an interim build solution. Prior build server and QA server creation were manual with poor procedures. Adhoc VM cloning was done without a consistent state.
  • Automatic Bill of Materials from Folders Reduced deploy code mistakes because a bill of materials file allowed a simpler config. Reduced data transfer required to update. Existing asset release management was manual from a file management GUI. Developed Python program to parse manual results to provide repeatable config for an automated install.
  • Build Automation through Jenkins CI Project: Enabled self-service builds. Ended 2 days wait for builds. Used declarative Groovy Jenkinsfiles with Jenkins Multi-branch pipelines. Used Ubuntu for Jenkins server.
  • PostgreSQL Schema Migration Testing: Reduced time to validate SQL schema change correctness. Leveraged initialization scripts with Postgres Docker image.
  • Google Cloud VMs for QA: Proof of concept Google Cloud’s standard Windows VM offerings were suitable for our product and build server deploy scripts. Worked. Was stopped before we could begin updating Packer files and discussing self-service strategy.
  • GitLab Cloud-Native: Proof of concept of GitLab to replace BitBucket. Deployed to Microk8s (Kubernetes) with Helm. Worked. A director wanted us to remain on BitBucket Cloud with its limitations and outages.

Squirrely Girl Produce • Wake Forest, NC • May 2010 to Present

Hobby farm that raises ducks and geese for meat and eggs.

Owner

  • Farm Website in Google Cloud Platform: Wanted a web presence. Static site rendered with Jekyll with GCP DNS, Gmail, HTTPS proxy, and Storage.
  • Webstore Experiments: Evaluated GCP VMs and Run for dynamic content. Use MicroK8s (Kubernetes), Helm, Docker Compose, and Docker for on-premises experiments.
  • Environment is Ubuntu/Debian because the community offering matches the supported offering.

Cisco • Morrisville, NC • June 2018 to August 2018

A large company that creates command and control systems to prevent unauthorized communication.

Source Control Administrator

  • Ansible Cleanup Project: Cleaned up brittle procedural approach to Ansible to a resilient declarative approach.
  • Bitbucket on CRATE Proof of concept DevOps and Cloud-Native deployment strategy. Used Cisco’s internal Kubernetes/Rancher Private Cloud. Evaluated Terraform vs Rancher Compose/Docker Compose for describing a deployment.
  • Everything is Red Hat Linux and required moderate sysadmin work.

Qualcomm • Raleigh, NC • December 2011 to May 2018

A medium company enables mobile communications and devices through chip design from the radio to the system-on-chip.

Senior IT Engineer: Devops, Cluster, Display

  • Jira Labor Reporting Project: Reduced 20 staff-hours per month to calculate project labor from Jira ticket history. Saved $10,000 per year for an equivalent product. Developed application in Python using Flask, deployed in Rancher with our from-scratch Docker images.
  • Intellectual Property Export Project: Reduced labor required for intellectual property exports with Django. Leveraged Django REST Framework for clean frontend/backend interface. Initially evaluated RabbitMQ to pass event messages. A task queue worked better.
  • Other small data analytics in Python auditing Active Directory and LDAP for excessive user authorizations.
  • Extensive troubleshooting on 3rd party Kerberos authentication on Linux through Active Directory
  • Wrote many bash and python scripts to glue tools together.
  • Worked on revising critical resource authorization workflows.
  • Incidentals Git, homegrown Configuration Management, Ansible
  • Environment is SuSE Linux Enterprise Server, Red Hat, and Ubuntu and required deep sysadmin work on all platforms.

IBM • Durham, NC • May 1993 - August 2000

A large company that once made scales and cash registers. Now makes software.

Senior Systems Administrator: AIX, Cake, Django, Linux, LDAP, and WebSphere

  • LDAP for Test Automated group and user sync from corporate directory to allow testing without using the corporate LDAP servers. Was porting sync tool to Python after developing in Perl.
  • Assisted federating WebSphere authentication/authorization to aid admin tasks that must continue despite LDAP outages.

Contact

  • chris.dukes.aix+2021Jan@gmail.com
  • 919.455.5147
  • https://www.linkedin.com/in/chris-dukes/
  • https://github.com/cdd-aix/
  • https://neotoma.org/

Full Skill Matrix

On a scale of 1, is competent and not confident to 5, has mastered.

  • Operating Systems:
    • Part of all jobs since 1990.
    • Linux 5. AIX 5. Windows 3.
  • Programming Languages:
    • Part of all jobs since 1990.
    • Python 4. Bash and other POSIX shells 5. Ruby 3. Groovy 3. C 3. Perl 3. PowerShell 3. Javascript 3.
  • Networking:
    • Part of all jobs since 1990.
    • DNS 4. Firewalls 3. NFS 4. CIFS 3. SSH 4.
  • Virtual Machines:
    • Part of most jobs since 1990.
    • vSphere 4. Virtualbox 4. libvirt 4. HyperV 2.
  • Build Tools:
    • Part of all jobs since 1993.
    • Make 4. Grunt 3. Gulp 3.
  • Relational Databases:
    • Part of every job since 1993.
    • Postgresql 3. MySQL 3. DB/2 3.
  • Ticketing Systems:
    • Part of all jobs since 1993.
    • Jira 4. ServiceNow 4.
  • Backup Restore:
    • Part of most jobs since 1995.
    • Believe in establishing restore scenarios and procedures before going deep on a specific technology.
    • Tivoli Storage Manager 2. Netbackup 2. Backup Exec 2.
  • Configuration Management:
    • Part of most jobs since 1995.
    • Ansible 3. Puppet 2. Chef 1.
  • Content Management Systems:
    • Part of every job since 1995.
    • Jekyll 4. Confluence 3. Sharepoint 2.
  • Source Control:
    • Part of some jobs since 1995.
    • Git 4. Mercurial 3. Many Obsolete Source Control Systems 2.
  • Packaging Systems (Creating Packages)
    • Part of most jobs since 1997.
    • RPM 3. DEB 3. Docker 4.
  • Observability Tools (Log aggregation, indexing, metrics databases)
    • Part of every job since 2011
    • Splunk 4. Prometheus 3. Graylog 2.
  • Social Coding Platforms:
    • Part of most jobs since 2012.
    • Github 4. Bitbucket 4. Gitlab 3.
  • Containers:
    • Part of all jobs since 2014.
    • Docker 4. Podman 3. Dockerfile from scratch 4.
  • Orchestration:
    • Part of some jobs since 2014. Rancher 4. Docker Compose 4. Kubernetes 2. Ansible 3.
  • Continuous Integration and Deployment Engines:
    • Part of all jobs since 2016.
    • Jenkins 4. Bitbucket Pipelines 3. Github Actions 3.
  • Infrastructure as Code:
    • Part of all jobs since 2018.
    • Packer 3. Vagrant 4.
Resume URL: https://neotoma.org/resumes/chris-dukes-20210309-storable.html