diff options
author | Aaron Ball <nullspoon@oper.io> | 2024-05-23 10:11:26 -0600 |
---|---|---|
committer | Aaron Ball <nullspoon@oper.io> | 2024-05-23 10:24:02 -0600 |
commit | 2acf54b5ed5c34ccb52d37357033030e699c5c13 (patch) | |
tree | 8683ee3be53ab1f70974a83047e31c71847318fe /resume.md | |
parent | 69c9024a79b7c01df2ecd007679fb84e90178c2e (diff) | |
download | resume-2acf54b5ed5c34ccb52d37357033030e699c5c13.tar.gz resume-2acf54b5ed5c34ccb52d37357033030e699c5c13.tar.xz |
Huge updates to resume and styling and makefile
Updates to style to better handle code elements (lighter text and a very
light background color).
Removed rst build from makefile targets
Huge updates to the resume. Added a few items to DataRobot. Went back
and tagged skills items with relevant languages or tools (see earlier
code element item). Cleaned up some past jobs to save space and keep the
resume under **5 pages** (!!!), while increasing the font juuuust a
little bit both on print and screen medias.
Rewrote the profile description. This thing hasn't been touched in years
and years. Still relevant, but could be better. Also updated some
tooling experience durations.
Some minor corrections of capitalization and whitespace.
Diffstat (limited to 'resume.md')
-rw-r--r-- | resume.md | 253 |
1 files changed, 135 insertions, 118 deletions
@@ -16,17 +16,18 @@ PROFILE * **Primary Languages**: Bash (13 years), C (4 years), Python (3 years), CSS and HTML (10 years) -* **Tools**: Git (9 years), Jenkins (7 years), Ansible (7 years), Kubernetes (3 - years), Terraform (3 years) +* **Tools**: Git (10 years), Jenkins (8 years), Kubernetes (5 years), Ansible + (7 years), Terraform (3 years) -* **Linux**: 15 years - Crux, Ubuntu, CentOS, RedHat, Arch, Gentoo, and Debian +* **Linux**: 15 years - Crux, Ubuntu, Debian, CentOS, RedHat, Arch, Gentoo -* Proficient in Linux infrastructure automation, security, troubleshooting, - design, and management; networking design, security, analysis, and - troubleshooting; and service design and abstraction. -* Knowledgeable in object oriented theory and its application in - infrastructure, security, and code design +I am proficient in infrastructure and programming to improve financial, +personnel, time, infrastructure, testing, and software efficiency. I use object +oriented theory and Unix design philosophy to create small, simple, +maintainable, secure, and efficient automation. The radius of impact of my work +can scale from single tasks and programs to large cross-team initiative +coordination in an organization. </div> <!-- profile --> @@ -49,8 +50,7 @@ DataRobot </div> -* **Primary operating systems**: Ubuntu Server (versions 16.04, 18.04, 20.04, - and 22.04) +* **Primary operating systems**: Ubuntu Server (16.04, 18.04, 20.04, and 22.04) * **Primary languages**: Bash, C, Groovy (Jenkins), Makefile, and Python @@ -65,18 +65,33 @@ DataRobot review designs of new features to ensure quality, security, stability, maintainability, and cost effectiveness. +* Managed a highly effective team of four engineers. Lead them through several + major organizational direction changes, getting all four promoted. Worked + with each person on the team to set quarterly growth goals and met weekly + with each person for one-on-ones. + +* Coordinated four very large migration projects affecting the entire + engineering organization from old to new technologies, requiring coordinating + migration work across an organization of 300 engineers. + ### Principle Software Engineer -* Solved problem of pivoting to kubernetes native developement and product +* Designed, documented, and implemented a Kubernetes-native replacement for AWS + NLBs, reducing cost sigifnicantly and improving connection stability for an + internal service which served over 25 terabytes of data per day for CI and CD + pipelines. + +* Solved problem of pivoting to Kubernetes native developement and product release for developers and customers by outlining and implementing architecture for migration to a public/private Docker registry with a promotion process for customer artifacts. Built automation to define the public registry state in code (ACLs, repos, organization membership, etc) for a more controllable and auditable setup. -* Completely eliminated cross availability zone traffic costs for Jenkins and - Artifactory by building a simple solution which intelligently pinned traffic - to the Artifactory cluster instance within the local availability zone. +* `[Bash]` Completely eliminated cross availability zone traffic costs for + Jenkins and Artifactory by building a simple solution which intelligently + pinned traffic to the Artifactory cluster instance within the local + availability zone. * Worked on AWS cost reduction project. Total contributions yielded $350,000 per year in reduction across the organization without negatively impacting @@ -85,57 +100,61 @@ DataRobot removal of cross availability zone costs by intelligently pinning traffic to the local AZ within automation. +* Served as interviewer for several teams around the company, running + interviews for competencies such as DevOps, SRE, architecture, programming, + and culture fit. ### Senior Software Engineer -* Built a Kubernetes native ECR proxy service which allowed greater flexibility - and ease of use for developers needing to interact with cumbersome ECR - endpoints and authentication. Service supported zero-downtime updates. +* `[HAProxy]` Built a Kubernetes native ECR proxy service which allowed greater + flexibility and ease of use for developers needing to interact with + cumbersome ECR endpoints and authentication. Service supported zero-downtime + updates. -* Built on-premises virtualization platform of over 230 KVM guest nodes to - lower costs in AWS. Clusters were completely autonomous and self-maintaining. - Automation registered nodes with their configured Jenkins masters on boot, - and deregistered, refreshed to a clean disk state, and reregistered after a - Jenkins job finished running, automatically maintaining a clean system state - for all jobs with no plugins required and 4 simple scripts. +* `[Bash]` Built on-premises virtualization platform of over 230 KVM guest nodes + to lower costs in AWS. Clusters were completely autonomous and + self-maintaining. Automation registered nodes with their configured Jenkins + masters on boot, and deregistered, refreshed to a clean disk state, and + reregistered after a Jenkins job finished running, automatically maintaining + a clean system state for all jobs with no plugins required and 4 simple scripts. -* Fully migrated a three node Artifactory cluster from EC2 to Kubernetes using - Kustomize to manage and automate multiple environments for testing and - release. Upgrades and maintenance now occur at any time during the day with - no downtime for end users due to custom connection draining automation. +* `[Kubernetes]` Migrated a three node Artifactory cluster from EC2 to + Kubernetes using Kustomize to manage and automate multiple environments for + testing and release. Maintenance now occur at any time during the day with no + downtime due to custom connection draining automation. -* Automated cost metrics gathering and analysis of GitHub traffic to determine - causes of increased costs and worked with developers to reduce those costs - through on-system caching, sparse clones, and on-premise LFS hosting. +* `[Bash]` Automated auditing of GitHub traffic to determine opportunities for + cost reduction and worked with developers to reduce those costs through + on-system caching, sparse clones, on-prem LFS hosting. -* Migrated all Terraform Kubernetes code away from Terraform and into - Kubernetes native to improve reliability and state management. +* `[Kubernetes]` Migrated all Terraform Kubernetes code away from Terraform and + into Kubernetes native to improve reliability and state management. ### Software Engineer +* Worked on Development Infrastructure team automating processes and + infrastructure to support development, testing, engineering productivity, + security, cloud operations, and financial operations teams. + * Defined upgrade process and worked with all concerned teams to upgrade automation infrastructure from Ubuntu 16.04 to 18.04. Updated all automation and testing code to be compatible with both versions. Performed the same task to migrate from Ubuntu 18.04 to 20.04 one year later. -* Version controlled thousands of Jenkins job configurations and enforced peer - review by storing all job configs in git repos as JJB (Jenkins Job Builder) - templates and deploying with automation on merge request review and approval. +* `[Jenkins]` Version controlled thousands of Jenkins job configurations and + enforced peer review by storing all job configs in git repos as JJB (Jenkins + Job Builder) templates and deploying with automation on merge request review + and approval. +* `[Python]` Automated Jenkins credential store management and synchronization + across thirteen Jenkins masters using Jenkins Groovy API. -* Automated Jenkins credential store management and synchronization across - thirteen Jenkins masters using Jenkins Groovy API and Python. - -* Used Terraform to create and ensure state of necessary underlying - infrastructure such as EC2, ELB/ALB, EKS, Route 53, RDS, and S3. +* `[Terraform]` Automated configuration management of infrastructure such as + EC2, ELB/ALB, EKS, Route 53, RDS, and S3. * Worked with Jenkins, Ansible, Packer, and Terraform to automate system build processes (AWS AMIs, KVM backing disks, laptop provisioning) -* Worked on Development Infrastructure team automating processes and - infrastructure to support development, testing, engineering productivity, - security, cloud operations, and financial operations teams. - Jeppesen, A Boeing Company -------------------------- @@ -151,23 +170,24 @@ Jeppesen, A Boeing Company * Worked on the environments team supporting about 80 developers -* Developed portable self-extracting installer to integrate and automate the - deployment process. The installer reduced a 40 page install document to a - single command using a bash header with a multi-stage binary payload footer. +* `[Bash]` Developed portable self-extracting installer to integrate and + automate the deployment process. The installer reduced a 40 page install + document to a single command using a bash header with a multi-stage binary + payload footer. -* Automated Linux environment setup and management with Ansible 2.6. Wrote - roles for deploying and configuring Apache tomcat, Apache httpd, Apache - Artemis, Oracle JRE, program-developed software, etc. +* `[Ansible 2.6]` Automated Linux environment setup and management. Wrote roles + for deploying and configuring Apache tomcat, Apache httpd, Apache Artemis, + Oracle JRE, program-developed software, etc. * Automated software version inventory process to ensure the versions of all pertinent external endpoints in every environment matched as the product advanced through the phases of testing. -* Automated deployments to sixteen environments using Jenkins. Deployment - criteria were based on schedules, git repo tag creation, and commit pushes - (each environment with different criteria). +* `[Jenkins]` Automated deployments to sixteen environments. Deployments + triggered by schedules, Git repo tag creation, and commit pushes (each + environment with different criteria). -* Automated server configurations with Ansible. Wrote scripts to generate +* `[Ansible]` Server configuration automation. Wrote scripts to generate dynamic playbooks and dynamic inventories. Roles were separated into two tiers: the vendor tier and proprietary tier for separation of concerns. @@ -194,28 +214,28 @@ Truven Health Analytics * Worked as a liaison between devops, configuration management, development, production operations, and application operations teams -* Created documented bash scripting framework to consistently automate builds, - deployments, and cluster switches. This reduced feature development time and - bug fix time. It also increased process scalability, visibility, and - stability. +* `[Bash]` Created and documented scripting libraries to improve builds, + deployments, and cluster switching processes. This reduced feature + development and bug fix time and increased process scalability, visibility, + and stability. -* Implemented a configurable self-extracting package container [in bash] which +* `[Bash]` Implemented a configurable self-extracting package container which enabled complex scripts, frameworks, and resources to be reduced to a single - file and subsequently easily deployed. + file and subsequently easily deployed on air-gapped systems. -* Wrote a configurable server validation scripting framework for ensuring any - given server met the team's deployment requirements for the specified server - role (eg: frontend, database, storage, tomcat, etc). +* `[Bash]` Wrote a configurable server validation scripting framework for + ensuring any given server met the team's deployment requirements for the + specified server role (eg: frontend, database, storage, tomcat, etc). -* Automated developer machine build process so developers would have consistent - environments in which to write, build, test, and deploy their code. This - reduced a 2 week per-employee setup time to about 15 minutes. +* `[Bash]` Automated developer machine build process so developers would have + consistent environments in which to write, build, test, and deploy their + code. This reduced a 2 week per-employee setup time to about 15 minutes. -* Created a command line Artifactory api wrapper for managing artifacts using - Perl. Wrapper could download, upload, and copy artifacts to alternate repos - (eg: for a promotion process). +* `[Perl]` Created a command line Artifactory api wrapper for managing + artifacts. Wrapper could download, upload, and copy artifacts to alternate + repos (eg: for a promotion process). -* Wrote Ansible roles to deploy and configure MongoDB, Zabbix, Graylog, +* `[Ansible]` Wrote roles to deploy and configure MongoDB, Zabbix, Graylog, Elasticsearch, Rsyslog, Tomcat, and others. * Automated migration of more than 3200 SVN repos to Git. @@ -241,22 +261,21 @@ Time Warner Cable * **Primary operating systems**: Centos 6.5 and 6.6 -* Wrote a bash script to automatically upgrade the GitHub Enterprise cluster - with minimal human interraction. This also handled several workarounds to - unfixed bugs in the appliance software. +* `[Bash]` Automated upgrades of the GitHub Enterprise cluster with minimal + human interraction, including several several workarounds to unfixed bugs in + the appliance software. -* Wrote parallel processing C program to benchmark legacy VMWare network +* `[C]` Wrote parallel processing program to benchmark legacy VMWare network against new OpenStack network -* Wrote C program to parse 8 million firewall rules and nginx access logs to - determine how many were needed +* `[C]` Automated audit of 8 million firewall rules and NGINX access logs to + determine how many rules were actually needed -* Managed configurations with Puppet Enterprise 3.2, r10k for dynamic - environment deployments, and Hieradata to support separation of data and - modules +* `[Puppet 3.2]` Configuration management, using r10k for dynamic environment + deployments and Hieradata to support separation of data and modules -* Assisted automating legacy VMWare infrastructure (54 hypervisors) to keep it - running smoothly until migration to OpenStack had been completed +* Automating legacy VMWare infrastructure (54 hypervisors) for migration to + OpenStack CenturyLink, Inc. @@ -269,24 +288,24 @@ CenturyLink, Inc. </div> -* **Primary operating systems**: Centos 6.5, 6.6, 7, Ubuntu Server +* **Primary operating systems**: CentOS (6.5, 6.6, 7), Ubuntu Server * Deployed and managed Mapr (Hadoop distribution) for development and test clusters -* Wrote bash script to manage and synchronize users and their home directories, - detect and allocate unique uid/gid pairs, and perform various user-related - checks across a cluster of any size +* `[Bash]` Automated management and synchronization of users and their home + directories, detect and allocate unique uid/gid pairs, and perform various + user-related checks across a cluster of any size -* Set up HAProxy for TCP forwarding of LDAPS traffic from corporate into the - lab (dev/test) network for authentication +* `[HAProxy]` Proxy of LDAPS traffic from corporate into the lab (dev/test) + network for authentication -* Performed various MediaWiki administrative tasks (backups, page management, - writing templates, etc). +* MediaWiki administrative tasks (backups, page management, writing templates, + etc). -* Established team version control best practices within git +* Established team version control best practices within Git -* Wrote Ansible playbooks to deploy and configure various types of servers +* `[Ansible]` Infrastructure configuration automation Intelligent Software Solutions, Inc. @@ -299,14 +318,15 @@ Intelligent Software Solutions, Inc. </div> -* Wrote chef (version 10) cookbooks (recipes, documentation, templates, - providers, resources, etc.) to deploy base tomcat instances and overlay any - combination of wars across any number of systems +* **Primary Operating Systems**: RedHat Linux (6 and 7), Windows 7 + +* Wrote Chef v10 cookbooks to deploy any combination of war files on top of + base tomcat instances -* Wrote chef cookbook compatibility layer for Windows-specific deployments +* Wrote Chef cookbook compatibility layer for Windows-specific deployments using cookbooks designed for Linux -* Built a templatized virtual chef development environment on Linux KVM with +* Built a templatized virtual Chef development environment on Linux KVM with startup times under 5 seconds. @@ -320,24 +340,22 @@ DaVita </div> -* **Primary operating systems**: AIX (versions 5.3 and 6.1) and RedHat Linux - (versions 4 - 6) +* **Primary operating systems**: AIX (5.3 and 6.1) and CentOS Linux (4 - 6) -* Standardized, consolidated, and converted team documentation from - Sharepoint Shared Documents to MediaWiki +* Standardized, consolidated, and converted team documentation from Sharepoint + to MediaWiki * Audited and remediated security holes to harden Linux and AIX servers -* Wrote and documented a Perl script to gather data and generate a report - detailing all of the local and Active Directory users with access to the - company-wide FTP site. +* `[Perl]` Automated reocurring audit of local and Active Directory users with + access to a public facing company FTP site. -* Wrote and documented a Perl script to generate sudoers SOX compliance - reports. The script parsed the global sudoers file and queried Active - Directory to determine granular extent of all permissions. +* `[Perl]` Automated monthly SOX compliance report for the intersection of our + global sudoers configs with Active Directory integration - all users and all + commands everywhere. -* Wrote a bash script to perform automated SSH key rotation every three months - and when an employee left +* `[Bash]` Automated jump server SSH key rotation every three months and when + an employee left @@ -351,12 +369,12 @@ Dish Network </div> -* Managed over 1,000 JVM application instances (WebMethods, Weblogic, and - Tomcat) running on Solaris and Linux - -* Wrote Perl scripts to process log files, gather statistics, perform software - upgrades, manage rolling restarts, etc. +* **Primary Operating Systems**: Solaris and RedHat Linux +* Worked on a team of 8 to manage over 1,000 JVM application instances + (WebMethods, Weblogic, and Tomcat) running on Solaris and Linux, writing Perl + scripts to process log files, gather statistics, perform software upgrades, + manage rolling restarts, etc. USDA @@ -369,12 +387,11 @@ USDA </div> -* Built and configured Red Hat Enterprise Linux (version 5) web servers - tailored for each project +* **Primary Operating Systems**: RedHat Enterprise Linux (version 5), Windows + Server 2003 -* Analyzed test environment needs to designed scaled down test environments - based upon network architecture diagrams of the proposed production - environment +* Analyzed test environment needs to design scaled down test environments based + upon network architecture diagrams of the proposed production environment * Constructed test clusters (one controller and two test agents each) for load testing with Visual Studio |