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

Generated by cgit