summaryrefslogtreecommitdiff
path: root/resume.md
blob: d96d4f3a8c68f1e8336ca13337e5ce0e4de264f5 (plain)
    1 <div class="resume-author-sect">
    2 <div class="resume-author-name">
    3 <p>Aaron</p>
    4 <p>Ball</p>
    5 </div>
    6 <div class="resume-author-contact">
    7 
    8 * **email**: aaronb@oper.io
    9 * **phone**: +1 720-319-7799
   10 * **www**:   [https://oper.io](https://oper.io)
   11 * **code**:  [https://oper.io/src/nullspoon](https://oper.io/src/nullspoon)
   12 
   13 </div>
   14 </div>
   15 
   16 # PROFILE
   17 
   18 * **Languages**: Bash (12 years), Python (3 years), C (3 years), Perl (4 years),
   19   CSS and XHTML (8 years), PHP (versions 4 and 5 - 7 years), JavaScript (2
   20   years)
   21 
   22 * **Tools**: Git (9 years), Jenkins (7 years), Ansible (7 years), Kubernetes (3
   23   years), Terraform (3 years)
   24 
   25 * **Linux**: 12 years - Crux, Ubuntu, CentOS, RedHat, Arch, Gentoo, and Debian
   26 
   27 * Proficient in Linux infrastructure automation, security, troubleshooting,
   28   design, and management; networking design, security, analysis, and
   29   troubleshooting; and service design and abstraction.
   30 
   31 * Knowledgeable in object oriented theory and its application in
   32   infrastructure, security, and code design
   33 
   34 
   35 # EMPLOYMENT
   36 
   37 ## DataRobot
   38 
   39 <div class="jobmeta">
   40 December 2018 - present
   41 <br />
   42 Senior Software Engineer
   43 </div>
   44 <!--<span class="location">Denver, Colorado</span>-->
   45 
   46 * **Primary operating systems**: Ubuntu Server (versions 16.04, 18.04, and
   47   20.04)
   48 
   49 * Worked on Development Infrastructure team automating processes and
   50   infrastructure to support development, testing, engineering productivity,
   51   security, and production operations teams.
   52 
   53 * Scripting in Python, Bash, and Makefile to automate processes
   54 
   55 * Worked with Ansible, Packer, and Terraform to automate system build processes
   56   (AWS AMIs, KVM backing disks, laptops)
   57 
   58 * Automated cost metrics gathering and analysis of GitHub traffic to determine
   59   causes of increased costs and worked with developers to reduce those costs
   60   through on-system caching, sparse clones, and on-premise LFS hosting.
   61 
   62 * Fully migrated a three node Artifactory cluster from EC2 to Kubernetes using
   63   Kustomize to manage and automate multiple environments for testing. Upgrades
   64   and maintenance now occur at any time during the day with no downtime for end
   65   users.
   66 
   67 * Migrated all Terraform Kubernetes code away from Terraform and into
   68   Kubernetes native to improve reliability and state management.
   69 
   70 * Version controlled thousands of Jenkins job configurations and enforced peer
   71   review by storing all job configs in git repos as JJB (Jenkins Job Builder)
   72   templates and deploying with automation on merge request review and approval.
   73 
   74 * Built on-premises virtualization platform of over 230 KVM guest nodes to
   75   lower costs in AWS. Clusters were completely autonomous and self-maintaining.
   76   Automation registered nodes with their configured Jenkins masters on boot,
   77   and deregistered, refreshed to a clean disk state, and reregistered after a
   78   Jenkins job finished running, automatically maintaining a clean system state
   79   for all jobs with no plugins required and 4 simple scripts.
   80 
   81 * Defined upgrade process and worked with all concerned teams to upgrade
   82   automation infrastructure from Ubuntu 16.04 to 18.04. Updated all automation
   83   and testing code to be compatible with both versions.
   84 
   85 * Automated Jenkins credential store management and synchronization across nine
   86   Jenkins masters using Jenkins Groovy API and Python.
   87 
   88 * Used Terraform to create and ensure state of necessary underlying
   89   infrastructure such as EC2, ELB/ALB, EKS, Route 53, RDS, and S3.
   90 
   91 
   92 ## Jeppesen, A Boeing Company
   93 
   94 <div class="jobmeta">
   95 <i>(Contract)</i>   August 2017 - October 2018
   96 <br />
   97 Software Integration Engineer
   98 </div>
   99 
  100 <!--<span class="location">Denver, Colorado</span>-->
  101 
  102 * **Primary operating systems**: Centos 6.9 - 7.7, RHEL 6 - 7
  103 
  104 * Worked on the environments team supporting about 80 developers
  105 
  106 * Developed portable self-extracting installer to integrate and automate the
  107   deployment process. The installer reduced a 40 page install document to a
  108   single command using a bash header with a multi-stage binary payload footer.
  109 
  110 * Automated Linux environment setup and management with Ansible 2.6. Wrote
  111   roles for deploying and configuring Apache tomcat, Apache httpd, Apache
  112   Artemis, Oracle JRE, program-developed software, etc.
  113 
  114 * Automated software version inventory process to ensure the versions of all
  115   pertinent external endpoints in every environment matched as the product
  116   advanced through the phases of testing.
  117 
  118 * Automated deployments to sixteen environments using Jenkins. Deployment
  119   criteria were based on schedules, git repo tag creation, and commit pushes
  120   (each environment with different criteria).
  121 
  122 * Automated server configurations with Ansible. Wrote scripts to generate
  123   dynamic playbooks and dynamic inventories. Roles were separated into two
  124   tiers: the vendor tier and proprietary tier for separation of concerns.
  125 
  126 * Built and administered Okta authentication backend (users, groups, signon
  127   policies, service accounts, etc.), for twenty different application
  128   instances.
  129 
  130 * Assisted in planning and automation of migration from on-site datacenter to
  131   Microsoft Azure.
  132 
  133 
  134 ## Truven Health Analytics
  135 
  136 <!--<span class="location">Denver, Colorado</span>-->
  137 
  138 <div class="jobmeta">
  139 January 2016 - August 2017
  140 <br />
  141 Senior Development Operations Engineer
  142 </div>
  143 
  144 * **Primary operating systems**: Centos 5.9 - 6.7, RHEL 5 - 6
  145 
  146 * Worked as a liason between devops, configuration management, development,
  147   production operations, and application operations teams
  148 
  149 * Created documented bash scripting framework to consistently automate builds,
  150   deployments, and cluster switches. This reduced feature development time and
  151   bug fix time. It also increased process scalability, visibility, and
  152   stability.
  153 
  154 * Implemented a configurable self-extracting package container [in bash] which
  155   enabled complex scripts, frameworks, and resources to be reduced to a single
  156   file and subsequently easily deployed.
  157 
  158 * Wrote a configurable server validation scripting framework for ensuring any
  159   given server met the team's deployment requirements for the specified server
  160   role (eg: frontend, database, storage, tomcat, etc).
  161 
  162 * Automated developer machine build process so developers would have consistent
  163   environments in which to write, build, test, and deploy their code. This
  164   reduced a 2 week per-employee setup time to about 15 minutes.
  165 
  166 * Created a command line Artifactory api wrapper for managing artifacts using
  167   Perl. Wrapper could download, upload, and copy artifacts to alternate repos
  168   (eg: for a promotion process).
  169 
  170 * Wrote Ansible roles to deploy and configure software such as MongoDB, Zabbix,
  171   Graylog, Elasticsearch, Rsyslog, Tomcat, JDK, and others.
  172 
  173 * Automated migration of more than 3200 SVN repos to Git.
  174 
  175 * Established Git development processes for the team. This included release,
  176   branching, tagging, and peer-review processes.
  177 
  178 * Managed deployments using a combination of Ansible, Bash, Perl, and Jenkins.
  179 
  180 * Reduced Jenkins-triggered infrastructure deployment process from
  181   over 300 jobs down to five jobs.
  182 
  183 
  184 
  185 ## Time Warner Cable
  186 <!-- <span class="location">Denver, Colorado</span>-->
  187 
  188 <div class="jobmeta">
  189 March 2015 - January 2016
  190 <br />
  191 Senior DevOps Engineer
  192 </div>
  193 
  194 * **Primary operating systems**: Centos 6.5 and 6.6
  195 
  196 * Wrote a bash script to automatically upgrade the GitHub Enterprise cluster
  197   with minimal human interraction. This also handled several workarounds to
  198   unfixed bugs in the appliance software.
  199 
  200 * Wrote parallel processing C program to benchmark legacy VMWare network
  201   against new OpenStack network
  202 
  203 * Wrote C program to parse 8 million firewall rules and nginx access logs to
  204   determine how many were actually needed
  205 
  206 * Managed configurations with Puppet Enterprise 3.2, r10k for dynamic
  207   environment deployments, and Hieradata to support separation of data and
  208   modules
  209 
  210 * Assisted automating legacy VMWare infrastructure (54 hypervisors) to keep it
  211   running smoothly until migration to OpenStack had been completed
  212 
  213 
  214 ## CenturyLink, Inc.
  215 
  216 <!-- <span class="location">Denver, Colorado</span>-->
  217 <div class="jobmeta">
  218 <i>(Contract)</i>  August 2014 - February 2015
  219 <br />
  220 Linux Engineer
  221 </div>
  222 
  223 * **Primary operating systems**: Centos 6.5, 6.6, 7, Ubuntu Server
  224 
  225 * Deployed and managed Mapr (Hadoop distribution) for development and test
  226   clusters
  227 
  228 * Wrote bash script to manage and synchronize users and their home directories,
  229   detect and allocate unique uid/gid pairs, and perform various user-related
  230   checks across a cluster of any size
  231 
  232 * Set up HAProxy for TCP forwarding of LDAPS traffic from corporate into the
  233   lab (dev/test) network for authentication
  234 
  235 * Performed various MediaWiki administrative tasks (backups, page management,
  236   writing templates, etc).
  237 
  238 * Built a team Gitlab server and organized and established team version control
  239   processes
  240 
  241 * Wrote Ansible playbooks to deploy and configure various types of servers
  242 
  243 
  244 ## Intelligent Software Solutions, Inc.
  245 <!-- <span class="location">Denver, Co (_* Contract_)</span>-->
  246 
  247 <div class="jobmeta">
  248 <i>(Contract)</i>   March 2014 - August 2014
  249 <br />
  250 DevOps Engineer
  251 </div>
  252 
  253 * Wrote chef (version 10) cookbooks (recipes, documentation, templates,
  254   providers, resources, etc.) to deploy base tomcat instances and overlay any
  255   combination of wars across any number of systems
  256 
  257 * Wrote chef cookbook compatibility layer for Windows-specific deployments
  258   using cookbooks designed for Linux
  259 
  260 * Built a local virtual chef development environment running on kvm, managed
  261   with libvirt apis. VMs could be created from a template in about two to five
  262   seconds each.
  263 
  264 
  265 ## DaVita
  266 <!--<span class="location">Denver, Co</span>-->
  267 
  268 <div class="jobmeta">
  269 October 2012 - March 2014
  270 <br />
  271 Linux/Unix Systems Engineer
  272 </div>
  273 
  274 * **Primary operating systems**: AIX (versions 5.3 and 6.1) and RedHat Linux
  275   (versions 4 - 6)
  276 
  277 * Standardized, consolidated, and converted team documentation from 
  278   Sharepoint Shared Documents to MediaWiki
  279 
  280 * Audited and remediated security holes to harden Linux and AIX servers
  281 
  282 * Wrote and documented a Perl script to gather data and generate a report
  283   detailing all of the local and Active Directory users with access to the
  284   company-wide FTP site.
  285 
  286 * Wrote and documented a Perl script to generate sudoers SOX compliance
  287   reports. The script parsed the global sudoers file and queried Active
  288   Directory to determine who had permissions to sudo run what commands on which
  289   systems.
  290 
  291 * Wrote a bash script to perform automated SSH key rotation every three months
  292   and when an employee left
  293 
  294 
  295 
  296 ## Dish Network
  297 
  298 <!--* Englewood, Co-->
  299 <div class="jobmeta">
  300 January 2011 - October 2012
  301 <br />
  302 Tier II Analyst / Developer II
  303 </div>
  304 
  305 * Managed over 1,000 JVM application instances (WebMethods, Weblogic, and
  306   Apache Tomcat) running on Solaris and Linux
  307 
  308 * Wrote Perl scripts to process log files, gather statistics, perform software
  309   upgrades, manage rolling restarts, etc.
  310 
  311 
  312 
  313 ## USDA
  314 
  315 <!--* Fort Collins, CO -->
  316 <div class="jobmeta">
  317 <i>(Contract)</i>   August 2010 - December 2010
  318 <br />
  319 Windows Systems Administrator
  320 </div>
  321 
  322 * Built and configured Red Hat Enterprise Linux (version 5) web servers
  323   tailored for each project
  324 
  325 * Analyzed test environment needs to designed scaled down test environments
  326   based upon network architecture diagrams of the proposed production
  327   environment
  328 
  329 * Constructed test clusters (one controller and two test agents each) for load
  330   testing with Visual Studio
  331 
  332 
  333 ## AMG Creative, Inc.
  334 
  335 <!--* Fort Collins, CO-->
  336 <div class="jobmeta">
  337 August 2009 - August 2010
  338 <br />
  339 Web Developer / Systems Administrator
  340 </div>
  341 
  342 * Programmed websites on Joomla and Wordpress using PHP, JavaScript, HTML, and
  343   CSS.
  344 
  345 * Built and managed five servers (one virtual [Domain controller, file server,
  346   terminal server, backup server], another virtual [OpenVPN], one host [VMWare
  347   Server], one print server [Ubuntu 10.04], one backup server [Ubuntu 10.04])
  348 
  349 
  350 ## CSU College of Business
  351 
  352 <!--* Fort Collins, Co-->
  353 <div class="jobmeta">
  354 August 2007 - October 2009
  355 <br />
  356 Web Developer / Systems Administrator
  357 </div>
  358 
  359 
  360 # EDUCATION
  361 
  362 ## Colorado State University
  363 
  364 <!--Fort Collins, CO-->
  365 <div class="jobmeta">
  366 Bachelors in Business Administration
  367 <br />
  368 2007-2010  
  369 </div>
  370 
  371 _Concentration_: Computer information Systems
  372 
  373 Courses included Windows and Linux administration, Networking, SQL database
  374 design and implementation, web application development (creating ASP.Net/C# and
  375 Cold Fusion applications that accessed a database and used sessions), client
  376 side application development (Visual Basic.Net), business math, marketing,
  377 finance, accounting, and business communication.
  378 
  379 <div class="witty-remark">
  380 /* This resume was proudly generated with commonmark markdown, some clever css,
  381 and a Makefile */
  382 </div>

Generated by cgit